diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 1b77f506..6538ca91 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.7.0" + ".": "0.8.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 9dc1c3a4..605226f0 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 114 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-c697450a215fdbd1a854d26381ce137b222726c3e6669a93afb1c0c5669906ca.yml -openapi_spec_hash: b8b5388292baa73b5f2c686d4904ae45 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-6d2a5b5d2cfb485e1a548aa15e1e36844e1f14f42553033822e1c570c8aa0825.yml +openapi_spec_hash: 0266a5aaced5e768bcf6a70924d69799 config_hash: e63f2d098e5d12f63ae4cd8270aa5c3c diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b01faab..a296820f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.8.0 (2025-05-29) + +Full Changelog: [v0.7.0...v0.8.0](https://github.com/orbcorp/orb-ruby/compare/v0.7.0...v0.8.0) + +### Features + +* **api:** api update ([a2e8bcf](https://github.com/orbcorp/orb-ruby/commit/a2e8bcf1773986a845af2abcf055036a043b06bd)) + + +### Chores + +* **internal:** version bump ([2e01a85](https://github.com/orbcorp/orb-ruby/commit/2e01a85a81d448e5ee4f15effb9edb5580634417)) + ## 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) diff --git a/Gemfile.lock b/Gemfile.lock index 922cddb5..6248467a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - orb-billing (0.6.0) + orb-billing (0.7.0) connection_pool GEM diff --git a/README.md b/README.md index da88ae54..6a60554a 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.7.0" +gem "orb-billing", "~> 0.8.0" ``` diff --git a/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb b/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb index d3821c92..f10d764b 100644 --- a/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +++ b/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb @@ -408,14 +408,24 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration + }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice} # for more details. @@ -428,7 +438,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -446,6 +458,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # The price to add to the plan @@ -9349,14 +9394,24 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration + }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice} # for more details. @@ -9369,7 +9424,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -9387,6 +9444,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # The price to add to the plan diff --git a/lib/orb/models/beta_create_plan_version_params.rb b/lib/orb/models/beta_create_plan_version_params.rb index e2cc8975..59eccf54 100644 --- a/lib/orb/models/beta_create_plan_version_params.rb +++ b/lib/orb/models/beta_create_plan_version_params.rb @@ -381,14 +381,22 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice} for more # details. @@ -401,7 +409,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -419,6 +429,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # The price to add to the plan @@ -9235,14 +9278,22 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice} for # more details. @@ -9255,7 +9306,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -9273,6 +9326,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # The price to add to the plan diff --git a/lib/orb/models/price.rb b/lib/orb/models/price.rb index eb9ac986..49e29404 100644 --- a/lib/orb/models/price.rb +++ b/lib/orb/models/price.rb @@ -329,9 +329,46 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::Unit::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, -> { Orb::Price::Unit::CreditAllocation::CustomExpiration }, nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::Unit::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::Unit::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::Unit::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::Unit#invoicing_cycle_configuration @@ -856,9 +893,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::Package::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { + Orb::Price::Package::CreditAllocation::CustomExpiration + }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::Package::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::Package::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::Package::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::Package::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::Package::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::Package#invoicing_cycle_configuration @@ -1395,9 +1471,50 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { + Orb::Price::Matrix::CreditAllocation::CustomExpiration + }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::Matrix::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::Matrix#invoicing_cycle_configuration @@ -1963,9 +2080,50 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { + Orb::Price::Tiered::CreditAllocation::CustomExpiration + }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::Tiered::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::Tiered#invoicing_cycle_configuration @@ -2517,9 +2675,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { + Orb::Price::TieredBps::CreditAllocation::CustomExpiration + }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::TieredBps::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::TieredBps#invoicing_cycle_configuration @@ -3108,9 +3305,46 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::Bps::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, -> { Orb::Price::Bps::CreditAllocation::CustomExpiration }, nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::Bps::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::Bps::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::Bps::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::Bps#invoicing_cycle_configuration @@ -3666,9 +3900,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { + Orb::Price::BulkBps::CreditAllocation::CustomExpiration + }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::BulkBps::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::BulkBps#invoicing_cycle_configuration @@ -4214,9 +4487,46 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, -> { Orb::Price::Bulk::CreditAllocation::CustomExpiration }, nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::Bulk::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::Bulk#invoicing_cycle_configuration @@ -4733,9 +5043,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::ThresholdTotalAmount::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::ThresholdTotalAmount#invoicing_cycle_configuration @@ -5258,9 +5607,46 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::TieredPackage::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::TieredPackage::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::TieredPackage#invoicing_cycle_configuration @@ -5779,9 +6165,46 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::GroupedTiered::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::GroupedTiered#invoicing_cycle_configuration @@ -6298,9 +6721,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::TieredWithMinimum::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::TieredWithMinimum#invoicing_cycle_configuration @@ -6823,9 +7285,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::TieredPackageWithMinimum#invoicing_cycle_configuration @@ -7347,9 +7848,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::PackageWithAllocation::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::PackageWithAllocation#invoicing_cycle_configuration @@ -7872,9 +8412,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::UnitWithPercent::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::UnitWithPercent#invoicing_cycle_configuration @@ -8393,9 +8972,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::MatrixWithAllocation::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::MatrixWithAllocation#invoicing_cycle_configuration @@ -8983,9 +9601,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::TieredWithProration::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::TieredWithProration#invoicing_cycle_configuration @@ -9506,9 +10163,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::UnitWithProration::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::UnitWithProration#invoicing_cycle_configuration @@ -10029,9 +10725,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::GroupedAllocation::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::GroupedAllocation#invoicing_cycle_configuration @@ -10560,9 +11295,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::GroupedWithProratedMinimum#invoicing_cycle_configuration @@ -11091,9 +11865,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::GroupedWithMeteredMinimum#invoicing_cycle_configuration @@ -11615,9 +12428,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::MatrixWithDisplayName::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::MatrixWithDisplayName#invoicing_cycle_configuration @@ -12138,9 +12990,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::BulkWithProration::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::BulkWithProration#invoicing_cycle_configuration @@ -12664,9 +13555,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::GroupedTieredPackage::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::GroupedTieredPackage#invoicing_cycle_configuration @@ -13190,9 +14120,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::MaxGroupTieredPackage#invoicing_cycle_configuration @@ -13723,9 +14692,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::ScalableMatrixWithUnitPricing#invoicing_cycle_configuration @@ -14264,9 +15272,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::ScalableMatrixWithTieredPricing#invoicing_cycle_configuration @@ -14798,9 +15845,48 @@ class CreditAllocation < Orb::Internal::Type::BaseModel # @return [String] required :currency, String - # @!method initialize(allows_rollover:, currency:) + # @!attribute custom_expiration + # + # @return [Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration, nil] + required :custom_expiration, + -> { Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration }, + nil?: true + + # @!method initialize(allows_rollover:, currency:, custom_expiration:) # @param allows_rollover [Boolean] # @param currency [String] + # @param custom_expiration [Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration, nil] + + # @see Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit] + + # @see Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end # @see Orb::Models::Price::CumulativeGroupedBulk#invoicing_cycle_configuration diff --git a/lib/orb/models/subscription_create_params.rb b/lib/orb/models/subscription_create_params.rb index f29189ca..6072a0c3 100644 --- a/lib/orb/models/subscription_create_params.rb +++ b/lib/orb/models/subscription_create_params.rb @@ -715,14 +715,22 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice} for more # details. @@ -735,7 +743,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -753,6 +763,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end class Discount < Orb::Internal::Type::BaseModel @@ -9937,14 +9980,22 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice} for more # details. @@ -9957,7 +10008,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -9975,6 +10028,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end class Discount < Orb::Internal::Type::BaseModel diff --git a/lib/orb/models/subscription_price_intervals_params.rb b/lib/orb/models/subscription_price_intervals_params.rb index c3ec1419..c1e281f8 100644 --- a/lib/orb/models/subscription_price_intervals_params.rb +++ b/lib/orb/models/subscription_price_intervals_params.rb @@ -218,14 +218,22 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice} for more # details. @@ -238,7 +246,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -256,6 +266,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end module Discount diff --git a/lib/orb/models/subscription_schedule_plan_change_params.rb b/lib/orb/models/subscription_schedule_plan_change_params.rb index 86448e5e..b08135e6 100644 --- a/lib/orb/models/subscription_schedule_plan_change_params.rb +++ b/lib/orb/models/subscription_schedule_plan_change_params.rb @@ -688,14 +688,24 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration + }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice} # for more details. @@ -708,7 +718,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -726,6 +738,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end class Discount < Orb::Internal::Type::BaseModel @@ -9974,14 +10019,24 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # @return [String] required :currency, String + # @!attribute custom_expiration + # The custom expiration for the allocation. + # + # @return [Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] + optional :custom_expiration, + -> { + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration + }, + nil?: true + # @!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. + # over to the next period. Set to null if using custom_expiration. # - # @return [Boolean] - required :expires_at_end_of_cadence, Orb::Internal::Type::Boolean + # @return [Boolean, nil] + optional :expires_at_end_of_cadence, Orb::Internal::Type::Boolean, nil?: true - # @!method initialize(amount:, cadence:, currency:, expires_at_end_of_cadence:) + # @!method initialize(amount:, cadence:, currency:, custom_expiration: nil, expires_at_end_of_cadence: nil) # Some parameter documentations has been truncated, see # {Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice} # for more details. @@ -9994,7 +10049,9 @@ class AllocationPrice < Orb::Internal::Type::BaseModel # # @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 + # @param custom_expiration [Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration, nil] The custom expiration for the allocation. + # + # @param expires_at_end_of_cadence [Boolean, nil] 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. # @@ -10012,6 +10069,39 @@ module Cadence # @!method self.values # @return [Array] end + + # @see Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice#custom_expiration + class CustomExpiration < Orb::Internal::Type::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + } + + # @!method initialize(duration:, duration_unit:) + # The custom expiration for the allocation. + # + # @param duration [Integer] + # @param duration_unit [Symbol, Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit] + + # @see Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration#duration_unit + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY = :day + MONTH = :month + + # @!method self.values + # @return [Array] + end + end end class Discount < Orb::Internal::Type::BaseModel diff --git a/lib/orb/version.rb b/lib/orb/version.rb index fa3fbc5f..154ca8ec 100644 --- a/lib/orb/version.rb +++ b/lib/orb/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Orb - VERSION = "0.7.0" + VERSION = "0.8.0" end diff --git a/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi b/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi index ef61512b..cb6407ee 100644 --- a/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +++ b/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi @@ -805,9 +805,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The allocation price to add to the plan. @@ -817,7 +837,11 @@ module Orb cadence: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -828,9 +852,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -841,7 +867,11 @@ module Orb cadence: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -902,6 +932,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end # The price to add to the plan @@ -17073,9 +17180,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The allocation price to add to the plan. @@ -17085,7 +17212,11 @@ module Orb cadence: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -17096,9 +17227,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -17109,7 +17242,11 @@ module Orb cadence: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -17170,6 +17307,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end # The price to add to the plan diff --git a/rbi/orb/models/beta_create_plan_version_params.rbi b/rbi/orb/models/beta_create_plan_version_params.rbi index f5533075..87815d14 100644 --- a/rbi/orb/models/beta_create_plan_version_params.rbi +++ b/rbi/orb/models/beta_create_plan_version_params.rbi @@ -757,9 +757,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The allocation price to add to the plan. @@ -769,7 +789,11 @@ module Orb cadence: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -780,9 +804,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -793,7 +819,11 @@ module Orb cadence: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -854,6 +884,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end # The price to add to the plan @@ -17021,9 +17128,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The allocation price to add to the plan. @@ -17033,7 +17160,11 @@ module Orb cadence: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -17044,9 +17175,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -17057,7 +17190,11 @@ module Orb cadence: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -17118,6 +17255,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end # The price to add to the plan diff --git a/rbi/orb/models/price.rbi b/rbi/orb/models/price.rbi index 56d7dda9..3ea11685 100644 --- a/rbi/orb/models/price.rbi +++ b/rbi/orb/models/price.rbi @@ -428,18 +428,125 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable(Orb::Price::Unit::CreditAllocation::CustomExpiration) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::Unit::CreditAllocation::CustomExpiration::OrHash + ) + ).void end + attr_writer :custom_expiration sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Unit::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Unit::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::Unit::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::Unit::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -1381,18 +1488,125 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable(Orb::Price::Package::CreditAllocation::CustomExpiration) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::Package::CreditAllocation::CustomExpiration::OrHash + ) + ).void end + attr_writer :custom_expiration sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Package::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Package::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::Package::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::Package::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -2357,18 +2571,125 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable(Orb::Price::Matrix::CreditAllocation::CustomExpiration) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::Matrix::CreditAllocation::CustomExpiration::OrHash + ) + ).void end + attr_writer :custom_expiration sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Matrix::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Matrix::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::Matrix::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::Matrix::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -3389,24 +3710,131 @@ module Orb ) end - sig { returns(T::Boolean) } - attr_accessor :allows_rollover + sig { returns(T::Boolean) } + attr_accessor :allows_rollover + + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable(Orb::Price::Tiered::CreditAllocation::CustomExpiration) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::Tiered::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Tiered::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Tiered::CreditAllocation::CustomExpiration + ) + } + ) + end + def to_hash + end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::Tiered::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum - sig { returns(String) } - attr_accessor :currency + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } - sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class - ) - end - def self.new(allows_rollover:, currency:) - end + DAY = + T.let( + :day, + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + sig do + override.returns( + T::Array[ + Orb::Price::Tiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -4432,18 +4860,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::TieredBps::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredBps::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::TieredBps::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::TieredBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -5495,18 +6032,123 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable(Orb::Price::Bps::CreditAllocation::CustomExpiration) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::Bps::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Bps::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable(Orb::Price::Bps::CreditAllocation::CustomExpiration) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::Bps::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::Bps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -6500,24 +7142,131 @@ module Orb ) end - sig { returns(T::Boolean) } - attr_accessor :allows_rollover + sig { returns(T::Boolean) } + attr_accessor :allows_rollover + + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable(Orb::Price::BulkBps::CreditAllocation::CustomExpiration) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::BulkBps::CreditAllocation::CustomExpiration + ) + } + ) + end + def to_hash + end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::BulkBps::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum - sig { returns(String) } - attr_accessor :currency + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } - sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class - ) - end - def self.new(allows_rollover:, currency:) - end + DAY = + T.let( + :day, + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + sig do + override.returns( + T::Array[ + Orb::Price::BulkBps::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -7503,18 +8252,125 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable(Orb::Price::Bulk::CreditAllocation::CustomExpiration) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::Bulk::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Bulk::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::Bulk::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::Bulk::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::Bulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -8495,18 +9351,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -9502,21 +10467,130 @@ module Orb sig { returns(T::Boolean) } attr_accessor :allows_rollover - sig { returns(String) } - attr_accessor :currency + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable( + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration + ) + } + ) + end + def to_hash + end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum - sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class - ) - end - def self.new(allows_rollover:, currency:) - end + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + DAY = + T.let( + :day, + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::TieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -10494,18 +11568,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -11506,18 +12689,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -12570,21 +13862,130 @@ module Orb sig { returns(T::Boolean) } attr_accessor :allows_rollover - sig { returns(String) } - attr_accessor :currency + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable( + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration + ) + } + ) + end + def to_hash + end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } - sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class - ) - end - def self.new(allows_rollover:, currency:) - end + DAY = + T.let( + :day, + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + sig do + override.returns( + T::Array[ + Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -13641,18 +15042,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -14663,18 +16173,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -15715,21 +17334,130 @@ module Orb sig { returns(T::Boolean) } attr_accessor :allows_rollover - sig { returns(String) } - attr_accessor :currency + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable( + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration + ) + } + ) + end + def to_hash + end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } - sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class - ) - end - def self.new(allows_rollover:, currency:) - end + DAY = + T.let( + :day, + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + sig do + override.returns( + T::Array[ + Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -16886,18 +18614,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -17919,18 +19756,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -18942,24 +20888,133 @@ module Orb ) end - sig { returns(T::Boolean) } - attr_accessor :allows_rollover + sig { returns(T::Boolean) } + attr_accessor :allows_rollover + + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable( + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration + ) + } + ) + end + def to_hash + end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum - sig { returns(String) } - attr_accessor :currency + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } - sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class - ) - end - def self.new(allows_rollover:, currency:) - end + DAY = + T.let( + :day, + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + sig do + override.returns( + T::Array[ + Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -20032,18 +22087,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -21119,18 +23283,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -22182,21 +24455,130 @@ module Orb sig { returns(T::Boolean) } attr_accessor :allows_rollover - sig { returns(String) } - attr_accessor :currency + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable( + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration + ) + } + ) + end + def to_hash + end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum - sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class - ) - end - def self.new(allows_rollover:, currency:) - end + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + DAY = + T.let( + :day, + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -23225,18 +25607,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -24275,18 +26766,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -25334,17 +27934,126 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) + end + + sig do + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration + ) + } ) end - def self.new(allows_rollover:, currency:) + def to_hash end - sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) - end - def to_hash + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end end end @@ -26437,18 +29146,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -27560,18 +30378,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel @@ -28634,18 +31561,127 @@ module Orb attr_accessor :currency sig do - params(allows_rollover: T::Boolean, currency: String).returns( - T.attached_class + returns( + T.nilable( + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration + ) ) end - def self.new(allows_rollover:, currency:) + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + + sig do + params( + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::OrHash + ) + ).returns(T.attached_class) + end + def self.new(allows_rollover:, currency:, custom_expiration:) end sig do - override.returns({ allows_rollover: T::Boolean, currency: String }) + override.returns( + { + allows_rollover: T::Boolean, + currency: String, + custom_expiration: + T.nilable( + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration + ) + } + ) end def to_hash end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + end + attr_accessor :duration_unit + + sig do + params( + duration: Integer, + duration_unit: + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class InvoicingCycleConfiguration < Orb::Internal::Type::BaseModel diff --git a/rbi/orb/models/subscription_create_params.rbi b/rbi/orb/models/subscription_create_params.rbi index 4c5ea24c..20461be6 100644 --- a/rbi/orb/models/subscription_create_params.rbi +++ b/rbi/orb/models/subscription_create_params.rbi @@ -1128,9 +1128,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The definition of a new allocation price to create and add to the subscription. @@ -1140,7 +1160,11 @@ module Orb cadence: Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -1151,9 +1175,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -1164,7 +1190,11 @@ module Orb cadence: Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -1225,6 +1255,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class Discount < Orb::Internal::Type::BaseModel @@ -17917,9 +18024,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The definition of a new allocation price to create and add to the subscription. @@ -17929,7 +18056,11 @@ module Orb cadence: Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -17940,9 +18071,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -17953,7 +18086,11 @@ module Orb cadence: Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -18014,6 +18151,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class Discount < Orb::Internal::Type::BaseModel diff --git a/rbi/orb/models/subscription_price_intervals_params.rbi b/rbi/orb/models/subscription_price_intervals_params.rbi index 46c7d629..907b7be5 100644 --- a/rbi/orb/models/subscription_price_intervals_params.rbi +++ b/rbi/orb/models/subscription_price_intervals_params.rbi @@ -503,9 +503,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The definition of a new allocation price to create and add to the subscription. @@ -515,7 +535,11 @@ module Orb cadence: Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -526,9 +550,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -539,7 +565,11 @@ module Orb cadence: Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -600,6 +630,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end module Discount diff --git a/rbi/orb/models/subscription_schedule_plan_change_params.rbi b/rbi/orb/models/subscription_schedule_plan_change_params.rbi index b73b5e03..256f8191 100644 --- a/rbi/orb/models/subscription_schedule_plan_change_params.rbi +++ b/rbi/orb/models/subscription_schedule_plan_change_params.rbi @@ -1185,9 +1185,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The definition of a new allocation price to create and add to the subscription. @@ -1197,7 +1217,11 @@ module Orb cadence: Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -1208,9 +1232,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -1221,7 +1247,11 @@ module Orb cadence: Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -1282,6 +1312,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class Discount < Orb::Internal::Type::BaseModel @@ -17984,9 +18091,29 @@ module Orb sig { returns(String) } attr_accessor :currency + # The custom expiration for the allocation. + sig do + returns( + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration + ) + ) + end + attr_reader :custom_expiration + + sig do + params( + custom_expiration: + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ) + ).void + end + attr_writer :custom_expiration + # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - sig { returns(T::Boolean) } + # over to the next period. Set to null if using custom_expiration. + sig { returns(T.nilable(T::Boolean)) } attr_accessor :expires_at_end_of_cadence # The definition of a new allocation price to create and add to the subscription. @@ -17996,7 +18123,11 @@ module Orb cadence: Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::OrHash + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) ).returns(T.attached_class) end def self.new( @@ -18007,9 +18138,11 @@ module Orb # An ISO 4217 currency string or a custom pricing unit identifier in which to bill # this price. currency:, + # The custom expiration for the allocation. + custom_expiration: nil, # Whether the allocated amount should expire at the end of the cadence or roll - # over to the next period. - expires_at_end_of_cadence: + # over to the next period. Set to null if using custom_expiration. + expires_at_end_of_cadence: nil ) end @@ -18020,7 +18153,11 @@ module Orb cadence: Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::Cadence::OrSymbol, currency: String, - expires_at_end_of_cadence: T::Boolean + custom_expiration: + T.nilable( + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration + ), + expires_at_end_of_cadence: T.nilable(T::Boolean) } ) end @@ -18081,6 +18218,83 @@ module Orb def self.values end end + + class CustomExpiration < Orb::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration, + Orb::Internal::AnyHash + ) + end + + sig { returns(Integer) } + attr_accessor :duration + + sig do + returns( + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ) + end + attr_accessor :duration_unit + + # The custom expiration for the allocation. + sig do + params( + duration: Integer, + duration_unit: + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + ).returns(T.attached_class) + end + def self.new(duration:, duration_unit:) + end + + sig do + override.returns( + { + duration: Integer, + duration_unit: + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::OrSymbol + } + ) + end + def to_hash + end + + module DurationUnit + extend Orb::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :day, + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + MONTH = + T.let( + :month, + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::DurationUnit::TaggedSymbol + ] + ) + end + def self.values + end + end + end end class Discount < Orb::Internal::Type::BaseModel diff --git a/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs b/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs index d66f9f50..ece5f633 100644 --- a/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +++ b/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs @@ -299,7 +299,8 @@ module Orb amount: String, cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -309,20 +310,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration? + + attr_accessor expires_at_end_of_cadence: bool? def initialize: ( amount: String, cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + ?custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration?, + ?expires_at_end_of_cadence: bool? ) -> void def to_hash: -> { amount: String, cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -345,6 +350,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit] + end + end end type price = @@ -6737,7 +6775,8 @@ module Orb amount: String, cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -6747,20 +6786,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration? + + attr_accessor expires_at_end_of_cadence: bool? def initialize: ( amount: String, cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + ?custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration?, + ?expires_at_end_of_cadence: bool? ) -> void def to_hash: -> { amount: String, cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -6783,6 +6826,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit] + end + end end type price = diff --git a/sig/orb/models/beta_create_plan_version_params.rbs b/sig/orb/models/beta_create_plan_version_params.rbs index e7ada21d..54b4b684 100644 --- a/sig/orb/models/beta_create_plan_version_params.rbs +++ b/sig/orb/models/beta_create_plan_version_params.rbs @@ -298,7 +298,8 @@ module Orb amount: String, cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -308,20 +309,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration? + + 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 + ?custom_expiration: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration?, + ?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 + custom_expiration: Orb::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -339,6 +344,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::AddPrice::AllocationPrice::CustomExpiration::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::AllocationPrice::CustomExpiration::duration_unit] + end + end end type price = @@ -6725,7 +6763,8 @@ module Orb amount: String, cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -6735,20 +6774,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration? + + 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 + ?custom_expiration: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration?, + ?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 + custom_expiration: Orb::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -6766,6 +6809,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::AllocationPrice::CustomExpiration::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::AllocationPrice::CustomExpiration::duration_unit] + end + end end type price = diff --git a/sig/orb/models/price.rbs b/sig/orb/models/price.rbs index c598e5a3..34b0025c 100644 --- a/sig/orb/models/price.rbs +++ b/sig/orb/models/price.rbs @@ -223,16 +223,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::Unit::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Unit::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::Unit::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Unit::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Unit::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::Unit::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::Unit::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::Unit::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::Unit::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month - def to_hash: -> { allows_rollover: bool, currency: String } + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::Unit::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -674,16 +722,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::Package::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Package::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::Package::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Package::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Package::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::Package::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::Package::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::Package::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::Package::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::Package::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -1130,16 +1226,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::Matrix::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Matrix::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::Matrix::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Matrix::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Matrix::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum - def to_hash: -> { allows_rollover: bool, currency: String } + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::Matrix::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -1617,16 +1761,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::Tiered::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Tiered::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::Tiered::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Tiered::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Tiered::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::Tiered::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -2096,16 +2288,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::TieredBps::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredBps::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::TieredBps::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredBps::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredBps::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer - def to_hash: -> { allows_rollover: bool, currency: String } + attr_accessor duration_unit: Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::TieredBps::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -2596,16 +2836,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::Bps::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Bps::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::Bps::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Bps::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Bps::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::Bps::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::Bps::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::Bps::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::Bps::CreditAllocation::CustomExpiration::duration_unit + } - def to_hash: -> { allows_rollover: bool, currency: String } + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::Bps::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -3075,16 +3363,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::BulkBps::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::BulkBps::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::BulkBps::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::BulkBps::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::BulkBps::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::BulkBps::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -3544,16 +3880,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::Bulk::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Bulk::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::Bulk::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Bulk::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::Bulk::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::Bulk::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -3985,16 +4369,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::ThresholdTotalAmount::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month - def to_hash: -> { allows_rollover: bool, currency: String } + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::ThresholdTotalAmount::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -4426,16 +4858,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::TieredPackage::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredPackage::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::TieredPackage::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredPackage::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredPackage::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::TieredPackage::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -4867,19 +5347,67 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::GroupedTiered::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration? - def to_hash: -> { allows_rollover: bool, currency: String } - end + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration? + ) -> void - type invoicing_cycle_configuration = + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedTiered::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::GroupedTiered::CreditAllocation::CustomExpiration::duration_unit] + end + end + end + + type invoicing_cycle_configuration = { duration: Integer, duration_unit: Orb::Models::Price::GroupedTiered::InvoicingCycleConfiguration::duration_unit @@ -5308,16 +5836,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::TieredWithMinimum::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredWithMinimum::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::TieredWithMinimum::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -5749,16 +6325,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::TieredPackageWithMinimum::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::TieredPackageWithMinimum::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -6190,16 +6814,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::PackageWithAllocation::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::PackageWithAllocation::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum - def to_hash: -> { allows_rollover: bool, currency: String } + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::PackageWithAllocation::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -6631,16 +7303,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::UnitWithPercent::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::UnitWithPercent::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::UnitWithPercent::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -7072,16 +7792,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::MatrixWithAllocation::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::duration_unit + } - def to_hash: -> { allows_rollover: bool, currency: String } + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::MatrixWithAllocation::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -7564,16 +8332,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::TieredWithProration::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::TieredWithProration::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month - def to_hash: -> { allows_rollover: bool, currency: String } + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::TieredWithProration::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -8005,16 +8821,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::UnitWithProration::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::UnitWithProration::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::UnitWithProration::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -8446,16 +9310,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::GroupedAllocation::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedAllocation::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer - def to_hash: -> { allows_rollover: bool, currency: String } + attr_accessor duration_unit: Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::GroupedAllocation::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -8887,16 +9799,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::GroupedWithProratedMinimum::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::GroupedWithProratedMinimum::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -9328,16 +10288,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::GroupedWithMeteredMinimum::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum - def to_hash: -> { allows_rollover: bool, currency: String } + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::GroupedWithMeteredMinimum::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -9769,16 +10777,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::MatrixWithDisplayName::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::MatrixWithDisplayName::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -10210,16 +11266,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::BulkWithProration::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::BulkWithProration::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration::duration_unit + } - def to_hash: -> { allows_rollover: bool, currency: String } + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::BulkWithProration::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -10651,16 +11755,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::GroupedTieredPackage::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::duration_unit - def to_hash: -> { allows_rollover: bool, currency: String } + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::GroupedTieredPackage::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -11092,16 +12244,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::MaxGroupTieredPackage::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::MaxGroupTieredPackage::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -11533,16 +12733,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::ScalableMatrixWithUnitPricing::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::ScalableMatrixWithUnitPricing::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -11974,16 +13222,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::ScalableMatrixWithTieredPricing::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month - def to_hash: -> { allows_rollover: bool, currency: String } + def self?.values: -> ::Array[Orb::Models::Price::ScalableMatrixWithTieredPricing::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = @@ -12415,16 +13711,64 @@ module Orb def self?.values: -> ::Array[Orb::Models::Price::CumulativeGroupedBulk::cadence] end - type credit_allocation = { allows_rollover: bool, currency: String } + type credit_allocation = + { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration? + } class CreditAllocation < Orb::Internal::Type::BaseModel attr_accessor allows_rollover: bool attr_accessor currency: String - def initialize: (allows_rollover: bool, currency: String) -> void + attr_accessor custom_expiration: Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration? + + def initialize: ( + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration? + ) -> void + + def to_hash: -> { + allows_rollover: bool, + currency: String, + custom_expiration: Orb::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration? + } + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum - def to_hash: -> { allows_rollover: bool, currency: String } + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::Price::CumulativeGroupedBulk::CreditAllocation::CustomExpiration::duration_unit] + end + end end type invoicing_cycle_configuration = diff --git a/sig/orb/models/subscription_create_params.rbs b/sig/orb/models/subscription_create_params.rbs index 9056671e..4952553a 100644 --- a/sig/orb/models/subscription_create_params.rbs +++ b/sig/orb/models/subscription_create_params.rbs @@ -470,7 +470,8 @@ module Orb amount: String, cadence: Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -480,20 +481,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration? + + attr_accessor expires_at_end_of_cadence: bool? def initialize: ( amount: String, cadence: Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + ?custom_expiration: Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration?, + ?expires_at_end_of_cadence: bool? ) -> void def to_hash: -> { amount: String, cadence: Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -511,6 +516,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::SubscriptionCreateParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit] + end + end end type discount = @@ -7129,7 +7167,8 @@ module Orb amount: String, cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -7139,20 +7178,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration? + + attr_accessor expires_at_end_of_cadence: bool? def initialize: ( amount: String, cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + ?custom_expiration: Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration?, + ?expires_at_end_of_cadence: bool? ) -> void def to_hash: -> { amount: String, cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -7170,6 +7213,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::SubscriptionCreateParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit] + end + end end type discount = diff --git a/sig/orb/models/subscription_price_intervals_params.rbs b/sig/orb/models/subscription_price_intervals_params.rbs index 8fd23539..83a096f3 100644 --- a/sig/orb/models/subscription_price_intervals_params.rbs +++ b/sig/orb/models/subscription_price_intervals_params.rbs @@ -142,7 +142,8 @@ module Orb amount: String, cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -152,20 +153,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration? + + attr_accessor expires_at_end_of_cadence: bool? def initialize: ( amount: String, cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + ?custom_expiration: Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration?, + ?expires_at_end_of_cadence: bool? ) -> void def to_hash: -> { amount: String, cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -183,6 +188,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::SubscriptionPriceIntervalsParams::Add::AllocationPrice::CustomExpiration::duration_unit] + end + end end type discount = diff --git a/sig/orb/models/subscription_schedule_plan_change_params.rbs b/sig/orb/models/subscription_schedule_plan_change_params.rbs index cd3c69ee..43cbf4fa 100644 --- a/sig/orb/models/subscription_schedule_plan_change_params.rbs +++ b/sig/orb/models/subscription_schedule_plan_change_params.rbs @@ -446,7 +446,8 @@ module Orb amount: String, cadence: Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -456,20 +457,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration? + + attr_accessor expires_at_end_of_cadence: bool? def initialize: ( amount: String, cadence: Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + ?custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration?, + ?expires_at_end_of_cadence: bool? ) -> void def to_hash: -> { amount: String, cadence: Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -487,6 +492,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::SubscriptionSchedulePlanChangeParams::AddPrice::AllocationPrice::CustomExpiration::duration_unit] + end + end end type discount = @@ -7106,7 +7144,8 @@ module Orb amount: String, cadence: Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } class AllocationPrice < Orb::Internal::Type::BaseModel @@ -7116,20 +7155,24 @@ module Orb attr_accessor currency: String - attr_accessor expires_at_end_of_cadence: bool + attr_accessor custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration? + + attr_accessor expires_at_end_of_cadence: bool? def initialize: ( amount: String, cadence: Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + ?custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration?, + ?expires_at_end_of_cadence: bool? ) -> void def to_hash: -> { amount: String, cadence: Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::cadence, currency: String, - expires_at_end_of_cadence: bool + custom_expiration: Orb::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration?, + expires_at_end_of_cadence: bool? } type cadence = @@ -7147,6 +7190,39 @@ module Orb def self?.values: -> ::Array[Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::cadence] end + + type custom_expiration = + { + duration: Integer, + duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + } + + class CustomExpiration < Orb::Internal::Type::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + + def initialize: ( + duration: Integer, + duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + ) -> void + + def to_hash: -> { + duration: Integer, + duration_unit: Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit + } + + type duration_unit = :day | :month + + module DurationUnit + extend Orb::Internal::Type::Enum + + DAY: :day + MONTH: :month + + def self?.values: -> ::Array[Orb::Models::SubscriptionSchedulePlanChangeParams::ReplacePrice::AllocationPrice::CustomExpiration::duration_unit] + end + end end type discount =