orb-billing 1.24.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/alert.rb +4 -2
  5. data/lib/orb/models/alert_update_params.rb +5 -3
  6. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +530 -6
  7. data/lib/orb/models/beta_create_plan_version_params.rb +526 -6
  8. data/lib/orb/models/changed_subscription_resources.rb +5 -5
  9. data/lib/orb/models/invoice.rb +5 -5
  10. data/lib/orb/models/invoice_fetch_upcoming_response.rb +5 -5
  11. data/lib/orb/models/invoice_issue_summary_response.rb +3 -3
  12. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  13. data/lib/orb/models/invoice_list_summary_response.rb +3 -3
  14. data/lib/orb/models/per_price_cost.rb +2 -2
  15. data/lib/orb/models/plan.rb +2 -2
  16. data/lib/orb/models/plan_create_params.rb +259 -3
  17. data/lib/orb/models/plan_version.rb +2 -2
  18. data/lib/orb/models/price.rb +433 -1
  19. data/lib/orb/models/price_create_params.rb +244 -3
  20. data/lib/orb/models/price_evaluate_multiple_params.rb +255 -3
  21. data/lib/orb/models/price_evaluate_preview_events_params.rb +255 -3
  22. data/lib/orb/models/price_interval.rb +2 -2
  23. data/lib/orb/models/subscription_create_params.rb +521 -6
  24. data/lib/orb/models/subscription_price_intervals_params.rb +251 -3
  25. data/lib/orb/models/subscription_schedule_plan_change_params.rb +530 -6
  26. data/lib/orb/resources/alerts.rb +5 -2
  27. data/lib/orb/resources/customers/costs.rb +20 -0
  28. data/lib/orb/resources/licenses/external_licenses.rb +7 -0
  29. data/lib/orb/resources/licenses/usage.rb +3 -0
  30. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  31. data/lib/orb/resources/prices.rb +5 -5
  32. data/lib/orb/resources/subscriptions.rb +39 -6
  33. data/lib/orb/version.rb +1 -1
  34. data/rbi/orb/models/alert.rbi +6 -2
  35. data/rbi/orb/models/alert_update_params.rbi +8 -4
  36. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2789 -1903
  37. data/rbi/orb/models/beta_create_plan_version_params.rbi +2788 -1902
  38. data/rbi/orb/models/changed_subscription_resources.rbi +7 -6
  39. data/rbi/orb/models/invoice.rbi +7 -6
  40. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +7 -6
  41. data/rbi/orb/models/invoice_issue_summary_response.rbi +6 -6
  42. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  43. data/rbi/orb/models/invoice_list_summary_response.rbi +6 -6
  44. data/rbi/orb/models/per_price_cost.rbi +1 -0
  45. data/rbi/orb/models/plan.rbi +1 -0
  46. data/rbi/orb/models/plan_create_params.rbi +443 -0
  47. data/rbi/orb/models/plan_version.rbi +1 -0
  48. data/rbi/orb/models/price.rbi +766 -0
  49. data/rbi/orb/models/price_create_params.rbi +431 -0
  50. data/rbi/orb/models/price_evaluate_multiple_params.rbi +431 -0
  51. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +431 -0
  52. data/rbi/orb/models/price_interval.rbi +1 -0
  53. data/rbi/orb/models/subscription_create_params.rbi +2489 -1603
  54. data/rbi/orb/models/subscription_price_intervals_params.rbi +431 -0
  55. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2483 -1597
  56. data/rbi/orb/resources/alerts.rbi +8 -3
  57. data/rbi/orb/resources/customers/costs.rbi +20 -0
  58. data/rbi/orb/resources/licenses/external_licenses.rbi +7 -0
  59. data/rbi/orb/resources/licenses/usage.rbi +3 -0
  60. data/rbi/orb/resources/prices.rbi +1 -0
  61. data/rbi/orb/resources/subscriptions.rbi +39 -6
  62. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +366 -0
  63. data/sig/orb/models/beta_create_plan_version_params.rbs +366 -0
  64. data/sig/orb/models/plan_create_params.rbs +183 -0
  65. data/sig/orb/models/price.rbs +327 -0
  66. data/sig/orb/models/price_create_params.rbs +173 -0
  67. data/sig/orb/models/price_evaluate_multiple_params.rbs +178 -0
  68. data/sig/orb/models/price_evaluate_preview_events_params.rbs +178 -0
  69. data/sig/orb/models/subscription_create_params.rbs +366 -0
  70. data/sig/orb/models/subscription_price_intervals_params.rbs +178 -0
  71. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +366 -0
  72. metadata +2 -2
@@ -163,7 +163,7 @@ module Orb
163
163
  # @!attribute price
164
164
  # New floating price request body params.
165
165
  #
166
- # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil]
166
+ # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil]
167
167
  optional :price, union: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price }, nil?: true
168
168
 
169
169
  # @!attribute price_id
@@ -209,7 +209,7 @@ module Orb
209
209
  #
210
210
  # @param minimum_amount [Float, nil] The minimum amount that will be billed for this price interval for a given billi
211
211
  #
212
- # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil] New floating price request body params.
212
+ # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil] New floating price request body params.
213
213
  #
214
214
  # @param price_id [String, nil] The id of the price to add to the subscription.
215
215
  #
@@ -371,6 +371,9 @@ module Orb
371
371
 
372
372
  variant :grouped_tiered, -> { Orb::NewFloatingGroupedTieredPrice }
373
373
 
374
+ variant :grouped_tiered_matrix,
375
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix }
376
+
374
377
  variant :tiered_package_with_minimum, -> { Orb::NewFloatingTieredPackageWithMinimumPrice }
375
378
 
376
379
  variant :package_with_allocation, -> { Orb::NewFloatingPackageWithAllocationPrice }
@@ -670,6 +673,251 @@ module Orb
670
673
  end
671
674
  end
672
675
 
676
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
677
+ # @!attribute cadence
678
+ # The cadence to bill for this price on.
679
+ #
680
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::Cadence]
681
+ required :cadence,
682
+ enum: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::Cadence }
683
+
684
+ # @!attribute currency
685
+ # An ISO 4217 currency string for which this price is billed in.
686
+ #
687
+ # @return [String]
688
+ required :currency, String
689
+
690
+ # @!attribute grouped_tiered_matrix_config
691
+ # Configuration for grouped_tiered_matrix pricing
692
+ #
693
+ # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig]
694
+ required :grouped_tiered_matrix_config,
695
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }
696
+
697
+ # @!attribute item_id
698
+ # The id of the item the price will be associated with.
699
+ #
700
+ # @return [String]
701
+ required :item_id, String
702
+
703
+ # @!attribute model_type
704
+ # The pricing model type
705
+ #
706
+ # @return [Symbol, :grouped_tiered_matrix]
707
+ required :model_type, const: :grouped_tiered_matrix
708
+
709
+ # @!attribute name
710
+ # The name of the price.
711
+ #
712
+ # @return [String]
713
+ required :name, String
714
+
715
+ # @!attribute billable_metric_id
716
+ # The id of the billable metric for the price. Only needed if the price is
717
+ # usage-based.
718
+ #
719
+ # @return [String, nil]
720
+ optional :billable_metric_id, String, nil?: true
721
+
722
+ # @!attribute billed_in_advance
723
+ # If the Price represents a fixed cost, the price will be billed in-advance if
724
+ # this is true, and in-arrears if this is false.
725
+ #
726
+ # @return [Boolean, nil]
727
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
728
+
729
+ # @!attribute billing_cycle_configuration
730
+ # For custom cadence: specifies the duration of the billing period in days or
731
+ # months.
732
+ #
733
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
734
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
735
+
736
+ # @!attribute conversion_rate
737
+ # The per unit conversion rate of the price currency to the invoicing currency.
738
+ #
739
+ # @return [Float, nil]
740
+ optional :conversion_rate, Float, nil?: true
741
+
742
+ # @!attribute conversion_rate_config
743
+ # The configuration for the rate of the price currency to the invoicing currency.
744
+ #
745
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
746
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
747
+
748
+ # @!attribute dimensional_price_configuration
749
+ # For dimensional price: specifies a price group and dimension values
750
+ #
751
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
752
+ optional :dimensional_price_configuration,
753
+ -> {
754
+ Orb::NewDimensionalPriceConfiguration
755
+ },
756
+ nil?: true
757
+
758
+ # @!attribute external_price_id
759
+ # An alias for the price.
760
+ #
761
+ # @return [String, nil]
762
+ optional :external_price_id, String, nil?: true
763
+
764
+ # @!attribute fixed_price_quantity
765
+ # If the Price represents a fixed cost, this represents the quantity of units
766
+ # applied.
767
+ #
768
+ # @return [Float, nil]
769
+ optional :fixed_price_quantity, Float, nil?: true
770
+
771
+ # @!attribute invoice_grouping_key
772
+ # The property used to group this price on an invoice
773
+ #
774
+ # @return [String, nil]
775
+ optional :invoice_grouping_key, String, nil?: true
776
+
777
+ # @!attribute invoicing_cycle_configuration
778
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
779
+ # If unspecified, a single invoice is produced per billing cycle.
780
+ #
781
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
782
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
783
+
784
+ # @!attribute license_type_id
785
+ # The ID of the license type to associate with this price.
786
+ #
787
+ # @return [String, nil]
788
+ optional :license_type_id, String, nil?: true
789
+
790
+ # @!attribute metadata
791
+ # User-specified key/value pairs for the resource. Individual keys can be removed
792
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
793
+ # by setting `metadata` to `null`.
794
+ #
795
+ # @return [Hash{Symbol=>String, nil}, nil]
796
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
797
+
798
+ # @!method initialize(cadence:, currency:, grouped_tiered_matrix_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :grouped_tiered_matrix)
799
+ # Some parameter documentations has been truncated, see
800
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix}
801
+ # for more details.
802
+ #
803
+ # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::Cadence] The cadence to bill for this price on.
804
+ #
805
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
806
+ #
807
+ # @param grouped_tiered_matrix_config [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig] Configuration for grouped_tiered_matrix pricing
808
+ #
809
+ # @param item_id [String] The id of the item the price will be associated with.
810
+ #
811
+ # @param name [String] The name of the price.
812
+ #
813
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
814
+ #
815
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
816
+ #
817
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
818
+ #
819
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
820
+ #
821
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
822
+ #
823
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
824
+ #
825
+ # @param external_price_id [String, nil] An alias for the price.
826
+ #
827
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
828
+ #
829
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
830
+ #
831
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
832
+ #
833
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
834
+ #
835
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
836
+ #
837
+ # @param model_type [Symbol, :grouped_tiered_matrix] The pricing model type
838
+
839
+ # The cadence to bill for this price on.
840
+ #
841
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix#cadence
842
+ module Cadence
843
+ extend Orb::Internal::Type::Enum
844
+
845
+ ANNUAL = :annual
846
+ SEMI_ANNUAL = :semi_annual
847
+ MONTHLY = :monthly
848
+ QUARTERLY = :quarterly
849
+ ONE_TIME = :one_time
850
+ CUSTOM = :custom
851
+
852
+ # @!method self.values
853
+ # @return [Array<Symbol>]
854
+ end
855
+
856
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix#grouped_tiered_matrix_config
857
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
858
+ # @!attribute default_unit_amount
859
+ # Per unit rate for usage whose dimension value has no configured tiers
860
+ #
861
+ # @return [String]
862
+ required :default_unit_amount, String
863
+
864
+ # @!attribute dimension
865
+ # The billable metric property used to group usage before tiering
866
+ #
867
+ # @return [String]
868
+ required :dimension, String
869
+
870
+ # @!attribute tiers
871
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
872
+ # against its own rows
873
+ #
874
+ # @return [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>]
875
+ required :tiers,
876
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier] }
877
+
878
+ # @!method initialize(default_unit_amount:, dimension:, tiers:)
879
+ # Some parameter documentations has been truncated, see
880
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig}
881
+ # for more details.
882
+ #
883
+ # Configuration for grouped_tiered_matrix pricing
884
+ #
885
+ # @param default_unit_amount [String] Per unit rate for usage whose dimension value has no configured tiers
886
+ #
887
+ # @param dimension [String] The billable metric property used to group usage before tiering
888
+ #
889
+ # @param tiers [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>] Graduated tiers keyed by dimension value; usage for a value is tiered only again
890
+
891
+ class Tier < Orb::Internal::Type::BaseModel
892
+ # @!attribute dimension_value
893
+ # The dimension value this tier applies to
894
+ #
895
+ # @return [String]
896
+ required :dimension_value, String
897
+
898
+ # @!attribute tier_lower_bound
899
+ #
900
+ # @return [String]
901
+ required :tier_lower_bound, String
902
+
903
+ # @!attribute unit_amount
904
+ # Per unit amount
905
+ #
906
+ # @return [String]
907
+ required :unit_amount, String
908
+
909
+ # @!method initialize(dimension_value:, tier_lower_bound:, unit_amount:)
910
+ # Configuration for a single tier scoped to a dimension value
911
+ #
912
+ # @param dimension_value [String] The dimension value this tier applies to
913
+ #
914
+ # @param tier_lower_bound [String]
915
+ #
916
+ # @param unit_amount [String] Per unit amount
917
+ end
918
+ end
919
+ end
920
+
673
921
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
674
922
  # @!attribute cadence
675
923
  # The cadence to bill for this price on.
@@ -2365,7 +2613,7 @@ module Orb
2365
2613
  end
2366
2614
 
2367
2615
  # @!method self.variants
2368
- # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput)]
2616
+ # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput)]
2369
2617
  end
2370
2618
  end
2371
2619