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
@@ -365,7 +365,7 @@ module Orb
365
365
  # @!attribute price
366
366
  # New plan price request body params.
367
367
  #
368
- # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::EventOutput, nil]
368
+ # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::EventOutput, nil]
369
369
  optional :price, union: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price }, nil?: true
370
370
 
371
371
  # @!method initialize(allocation_price: nil, license_allocation_price: nil, plan_phase_order: nil, price: nil)
@@ -375,7 +375,7 @@ module Orb
375
375
  #
376
376
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
377
377
  #
378
- # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::EventOutput, nil] New plan price request body params.
378
+ # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::EventOutput, nil] New plan price request body params.
379
379
 
380
380
  # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice#license_allocation_price
381
381
  class LicenseAllocationPrice < Orb::Internal::Type::BaseModel
@@ -645,6 +645,9 @@ module Orb
645
645
 
646
646
  variant :grouped_tiered, -> { Orb::NewPlanGroupedTieredPrice }
647
647
 
648
+ variant :grouped_tiered_matrix,
649
+ -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix }
650
+
648
651
  variant :tiered_package_with_minimum, -> { Orb::NewPlanTieredPackageWithMinimumPrice }
649
652
 
650
653
  variant :package_with_allocation, -> { Orb::NewPlanPackageWithAllocationPrice }
@@ -955,6 +958,261 @@ module Orb
955
958
  end
956
959
  end
957
960
 
961
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
962
+ # @!attribute cadence
963
+ # The cadence to bill for this price on.
964
+ #
965
+ # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::Cadence]
966
+ required :cadence,
967
+ enum: -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::Cadence }
968
+
969
+ # @!attribute grouped_tiered_matrix_config
970
+ # Configuration for grouped_tiered_matrix pricing
971
+ #
972
+ # @return [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig]
973
+ required :grouped_tiered_matrix_config,
974
+ -> { Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }
975
+
976
+ # @!attribute item_id
977
+ # The id of the item the price will be associated with.
978
+ #
979
+ # @return [String]
980
+ required :item_id, String
981
+
982
+ # @!attribute model_type
983
+ # The pricing model type
984
+ #
985
+ # @return [Symbol, :grouped_tiered_matrix]
986
+ required :model_type, const: :grouped_tiered_matrix
987
+
988
+ # @!attribute name
989
+ # The name of the price.
990
+ #
991
+ # @return [String]
992
+ required :name, String
993
+
994
+ # @!attribute billable_metric_id
995
+ # The id of the billable metric for the price. Only needed if the price is
996
+ # usage-based.
997
+ #
998
+ # @return [String, nil]
999
+ optional :billable_metric_id, String, nil?: true
1000
+
1001
+ # @!attribute billed_in_advance
1002
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1003
+ # this is true, and in-arrears if this is false.
1004
+ #
1005
+ # @return [Boolean, nil]
1006
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1007
+
1008
+ # @!attribute billing_cycle_configuration
1009
+ # For custom cadence: specifies the duration of the billing period in days or
1010
+ # months.
1011
+ #
1012
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1013
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1014
+
1015
+ # @!attribute conversion_rate
1016
+ # The per unit conversion rate of the price currency to the invoicing currency.
1017
+ #
1018
+ # @return [Float, nil]
1019
+ optional :conversion_rate, Float, nil?: true
1020
+
1021
+ # @!attribute conversion_rate_config
1022
+ # The configuration for the rate of the price currency to the invoicing currency.
1023
+ #
1024
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1025
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1026
+
1027
+ # @!attribute currency
1028
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
1029
+ # price is billed.
1030
+ #
1031
+ # @return [String, nil]
1032
+ optional :currency, String, nil?: true
1033
+
1034
+ # @!attribute dimensional_price_configuration
1035
+ # For dimensional price: specifies a price group and dimension values
1036
+ #
1037
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1038
+ optional :dimensional_price_configuration,
1039
+ -> {
1040
+ Orb::NewDimensionalPriceConfiguration
1041
+ },
1042
+ nil?: true
1043
+
1044
+ # @!attribute external_price_id
1045
+ # An alias for the price.
1046
+ #
1047
+ # @return [String, nil]
1048
+ optional :external_price_id, String, nil?: true
1049
+
1050
+ # @!attribute fixed_price_quantity
1051
+ # If the Price represents a fixed cost, this represents the quantity of units
1052
+ # applied.
1053
+ #
1054
+ # @return [Float, nil]
1055
+ optional :fixed_price_quantity, Float, nil?: true
1056
+
1057
+ # @!attribute invoice_grouping_key
1058
+ # The property used to group this price on an invoice
1059
+ #
1060
+ # @return [String, nil]
1061
+ optional :invoice_grouping_key, String, nil?: true
1062
+
1063
+ # @!attribute invoicing_cycle_configuration
1064
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1065
+ # If unspecified, a single invoice is produced per billing cycle.
1066
+ #
1067
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1068
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1069
+
1070
+ # @!attribute license_type_id
1071
+ # The ID of the license type to associate with this price.
1072
+ #
1073
+ # @return [String, nil]
1074
+ optional :license_type_id, String, nil?: true
1075
+
1076
+ # @!attribute metadata
1077
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1078
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1079
+ # by setting `metadata` to `null`.
1080
+ #
1081
+ # @return [Hash{Symbol=>String, nil}, nil]
1082
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1083
+
1084
+ # @!attribute reference_id
1085
+ # A transient ID that can be used to reference this price when adding adjustments
1086
+ # in the same API call.
1087
+ #
1088
+ # @return [String, nil]
1089
+ optional :reference_id, String, nil?: true
1090
+
1091
+ # @!method initialize(cadence:, 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, currency: 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, reference_id: nil, model_type: :grouped_tiered_matrix)
1092
+ # Some parameter documentations has been truncated, see
1093
+ # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix}
1094
+ # for more details.
1095
+ #
1096
+ # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::Cadence] The cadence to bill for this price on.
1097
+ #
1098
+ # @param grouped_tiered_matrix_config [Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig] Configuration for grouped_tiered_matrix pricing
1099
+ #
1100
+ # @param item_id [String] The id of the item the price will be associated with.
1101
+ #
1102
+ # @param name [String] The name of the price.
1103
+ #
1104
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1105
+ #
1106
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1107
+ #
1108
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1109
+ #
1110
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1111
+ #
1112
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1113
+ #
1114
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
1115
+ #
1116
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1117
+ #
1118
+ # @param external_price_id [String, nil] An alias for the price.
1119
+ #
1120
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1121
+ #
1122
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1123
+ #
1124
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1125
+ #
1126
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
1127
+ #
1128
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1129
+ #
1130
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1131
+ #
1132
+ # @param model_type [Symbol, :grouped_tiered_matrix] The pricing model type
1133
+
1134
+ # The cadence to bill for this price on.
1135
+ #
1136
+ # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix#cadence
1137
+ module Cadence
1138
+ extend Orb::Internal::Type::Enum
1139
+
1140
+ ANNUAL = :annual
1141
+ SEMI_ANNUAL = :semi_annual
1142
+ MONTHLY = :monthly
1143
+ QUARTERLY = :quarterly
1144
+ ONE_TIME = :one_time
1145
+ CUSTOM = :custom
1146
+
1147
+ # @!method self.values
1148
+ # @return [Array<Symbol>]
1149
+ end
1150
+
1151
+ # @see Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix#grouped_tiered_matrix_config
1152
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
1153
+ # @!attribute default_unit_amount
1154
+ # Per unit rate for usage whose dimension value has no configured tiers
1155
+ #
1156
+ # @return [String]
1157
+ required :default_unit_amount, String
1158
+
1159
+ # @!attribute dimension
1160
+ # The billable metric property used to group usage before tiering
1161
+ #
1162
+ # @return [String]
1163
+ required :dimension, String
1164
+
1165
+ # @!attribute tiers
1166
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
1167
+ # against its own rows
1168
+ #
1169
+ # @return [Array<Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>]
1170
+ required :tiers,
1171
+ -> { Orb::Internal::Type::ArrayOf[Orb::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier] }
1172
+
1173
+ # @!method initialize(default_unit_amount:, dimension:, tiers:)
1174
+ # Some parameter documentations has been truncated, see
1175
+ # {Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig}
1176
+ # for more details.
1177
+ #
1178
+ # Configuration for grouped_tiered_matrix pricing
1179
+ #
1180
+ # @param default_unit_amount [String] Per unit rate for usage whose dimension value has no configured tiers
1181
+ #
1182
+ # @param dimension [String] The billable metric property used to group usage before tiering
1183
+ #
1184
+ # @param tiers [Array<Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>] Graduated tiers keyed by dimension value; usage for a value is tiered only again
1185
+
1186
+ class Tier < Orb::Internal::Type::BaseModel
1187
+ # @!attribute dimension_value
1188
+ # The dimension value this tier applies to
1189
+ #
1190
+ # @return [String]
1191
+ required :dimension_value, String
1192
+
1193
+ # @!attribute tier_lower_bound
1194
+ #
1195
+ # @return [String]
1196
+ required :tier_lower_bound, String
1197
+
1198
+ # @!attribute unit_amount
1199
+ # Per unit amount
1200
+ #
1201
+ # @return [String]
1202
+ required :unit_amount, String
1203
+
1204
+ # @!method initialize(dimension_value:, tier_lower_bound:, unit_amount:)
1205
+ # Configuration for a single tier scoped to a dimension value
1206
+ #
1207
+ # @param dimension_value [String] The dimension value this tier applies to
1208
+ #
1209
+ # @param tier_lower_bound [String]
1210
+ #
1211
+ # @param unit_amount [String] Per unit amount
1212
+ end
1213
+ end
1214
+ end
1215
+
958
1216
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
959
1217
  # @!attribute cadence
960
1218
  # The cadence to bill for this price on.
@@ -2952,7 +3210,7 @@ module Orb
2952
3210
  end
2953
3211
 
2954
3212
  # @!method self.variants
2955
- # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::EventOutput)]
3213
+ # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::EventOutput)]
2956
3214
  end
2957
3215
  end
2958
3216
 
@@ -3280,7 +3538,7 @@ module Orb
3280
3538
  # @!attribute price
3281
3539
  # New plan price request body params.
3282
3540
  #
3283
- # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil]
3541
+ # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil]
3284
3542
  optional :price, union: -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price }, nil?: true
3285
3543
 
3286
3544
  # @!method initialize(replaces_price_id:, allocation_price: nil, license_allocation_price: nil, plan_phase_order: nil, price: nil)
@@ -3292,7 +3550,7 @@ module Orb
3292
3550
  #
3293
3551
  # @param plan_phase_order [Integer, nil] The phase to replace this price from.
3294
3552
  #
3295
- # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil] New plan price request body params.
3553
+ # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil] New plan price request body params.
3296
3554
 
3297
3555
  # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice#license_allocation_price
3298
3556
  class LicenseAllocationPrice < Orb::Internal::Type::BaseModel
@@ -3562,6 +3820,9 @@ module Orb
3562
3820
 
3563
3821
  variant :grouped_tiered, -> { Orb::NewPlanGroupedTieredPrice }
3564
3822
 
3823
+ variant :grouped_tiered_matrix,
3824
+ -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix }
3825
+
3565
3826
  variant :tiered_package_with_minimum, -> { Orb::NewPlanTieredPackageWithMinimumPrice }
3566
3827
 
3567
3828
  variant :package_with_allocation, -> { Orb::NewPlanPackageWithAllocationPrice }
@@ -3872,6 +4133,265 @@ module Orb
3872
4133
  end
3873
4134
  end
3874
4135
 
4136
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
4137
+ # @!attribute cadence
4138
+ # The cadence to bill for this price on.
4139
+ #
4140
+ # @return [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence]
4141
+ required :cadence,
4142
+ enum: -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence }
4143
+
4144
+ # @!attribute grouped_tiered_matrix_config
4145
+ # Configuration for grouped_tiered_matrix pricing
4146
+ #
4147
+ # @return [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig]
4148
+ required :grouped_tiered_matrix_config,
4149
+ -> { Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }
4150
+
4151
+ # @!attribute item_id
4152
+ # The id of the item the price will be associated with.
4153
+ #
4154
+ # @return [String]
4155
+ required :item_id, String
4156
+
4157
+ # @!attribute model_type
4158
+ # The pricing model type
4159
+ #
4160
+ # @return [Symbol, :grouped_tiered_matrix]
4161
+ required :model_type, const: :grouped_tiered_matrix
4162
+
4163
+ # @!attribute name
4164
+ # The name of the price.
4165
+ #
4166
+ # @return [String]
4167
+ required :name, String
4168
+
4169
+ # @!attribute billable_metric_id
4170
+ # The id of the billable metric for the price. Only needed if the price is
4171
+ # usage-based.
4172
+ #
4173
+ # @return [String, nil]
4174
+ optional :billable_metric_id, String, nil?: true
4175
+
4176
+ # @!attribute billed_in_advance
4177
+ # If the Price represents a fixed cost, the price will be billed in-advance if
4178
+ # this is true, and in-arrears if this is false.
4179
+ #
4180
+ # @return [Boolean, nil]
4181
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
4182
+
4183
+ # @!attribute billing_cycle_configuration
4184
+ # For custom cadence: specifies the duration of the billing period in days or
4185
+ # months.
4186
+ #
4187
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4188
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4189
+
4190
+ # @!attribute conversion_rate
4191
+ # The per unit conversion rate of the price currency to the invoicing currency.
4192
+ #
4193
+ # @return [Float, nil]
4194
+ optional :conversion_rate, Float, nil?: true
4195
+
4196
+ # @!attribute conversion_rate_config
4197
+ # The configuration for the rate of the price currency to the invoicing currency.
4198
+ #
4199
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
4200
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
4201
+
4202
+ # @!attribute currency
4203
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
4204
+ # price is billed.
4205
+ #
4206
+ # @return [String, nil]
4207
+ optional :currency, String, nil?: true
4208
+
4209
+ # @!attribute dimensional_price_configuration
4210
+ # For dimensional price: specifies a price group and dimension values
4211
+ #
4212
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
4213
+ optional :dimensional_price_configuration,
4214
+ -> {
4215
+ Orb::NewDimensionalPriceConfiguration
4216
+ },
4217
+ nil?: true
4218
+
4219
+ # @!attribute external_price_id
4220
+ # An alias for the price.
4221
+ #
4222
+ # @return [String, nil]
4223
+ optional :external_price_id, String, nil?: true
4224
+
4225
+ # @!attribute fixed_price_quantity
4226
+ # If the Price represents a fixed cost, this represents the quantity of units
4227
+ # applied.
4228
+ #
4229
+ # @return [Float, nil]
4230
+ optional :fixed_price_quantity, Float, nil?: true
4231
+
4232
+ # @!attribute invoice_grouping_key
4233
+ # The property used to group this price on an invoice
4234
+ #
4235
+ # @return [String, nil]
4236
+ optional :invoice_grouping_key, String, nil?: true
4237
+
4238
+ # @!attribute invoicing_cycle_configuration
4239
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
4240
+ # If unspecified, a single invoice is produced per billing cycle.
4241
+ #
4242
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4243
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4244
+
4245
+ # @!attribute license_type_id
4246
+ # The ID of the license type to associate with this price.
4247
+ #
4248
+ # @return [String, nil]
4249
+ optional :license_type_id, String, nil?: true
4250
+
4251
+ # @!attribute metadata
4252
+ # User-specified key/value pairs for the resource. Individual keys can be removed
4253
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
4254
+ # by setting `metadata` to `null`.
4255
+ #
4256
+ # @return [Hash{Symbol=>String, nil}, nil]
4257
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
4258
+
4259
+ # @!attribute reference_id
4260
+ # A transient ID that can be used to reference this price when adding adjustments
4261
+ # in the same API call.
4262
+ #
4263
+ # @return [String, nil]
4264
+ optional :reference_id, String, nil?: true
4265
+
4266
+ # @!method initialize(cadence:, 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, currency: 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, reference_id: nil, model_type: :grouped_tiered_matrix)
4267
+ # Some parameter documentations has been truncated, see
4268
+ # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix}
4269
+ # for more details.
4270
+ #
4271
+ # @param cadence [Symbol, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence] The cadence to bill for this price on.
4272
+ #
4273
+ # @param grouped_tiered_matrix_config [Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig] Configuration for grouped_tiered_matrix pricing
4274
+ #
4275
+ # @param item_id [String] The id of the item the price will be associated with.
4276
+ #
4277
+ # @param name [String] The name of the price.
4278
+ #
4279
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
4280
+ #
4281
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
4282
+ #
4283
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
4284
+ #
4285
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
4286
+ #
4287
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
4288
+ #
4289
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
4290
+ #
4291
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
4292
+ #
4293
+ # @param external_price_id [String, nil] An alias for the price.
4294
+ #
4295
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
4296
+ #
4297
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
4298
+ #
4299
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
4300
+ #
4301
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
4302
+ #
4303
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
4304
+ #
4305
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
4306
+ #
4307
+ # @param model_type [Symbol, :grouped_tiered_matrix] The pricing model type
4308
+
4309
+ # The cadence to bill for this price on.
4310
+ #
4311
+ # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix#cadence
4312
+ module Cadence
4313
+ extend Orb::Internal::Type::Enum
4314
+
4315
+ ANNUAL = :annual
4316
+ SEMI_ANNUAL = :semi_annual
4317
+ MONTHLY = :monthly
4318
+ QUARTERLY = :quarterly
4319
+ ONE_TIME = :one_time
4320
+ CUSTOM = :custom
4321
+
4322
+ # @!method self.values
4323
+ # @return [Array<Symbol>]
4324
+ end
4325
+
4326
+ # @see Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix#grouped_tiered_matrix_config
4327
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
4328
+ # @!attribute default_unit_amount
4329
+ # Per unit rate for usage whose dimension value has no configured tiers
4330
+ #
4331
+ # @return [String]
4332
+ required :default_unit_amount, String
4333
+
4334
+ # @!attribute dimension
4335
+ # The billable metric property used to group usage before tiering
4336
+ #
4337
+ # @return [String]
4338
+ required :dimension, String
4339
+
4340
+ # @!attribute tiers
4341
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
4342
+ # against its own rows
4343
+ #
4344
+ # @return [Array<Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>]
4345
+ required :tiers,
4346
+ -> do
4347
+ Orb::Internal::Type::ArrayOf[
4348
+ Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier
4349
+ ]
4350
+ end
4351
+
4352
+ # @!method initialize(default_unit_amount:, dimension:, tiers:)
4353
+ # Some parameter documentations has been truncated, see
4354
+ # {Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig}
4355
+ # for more details.
4356
+ #
4357
+ # Configuration for grouped_tiered_matrix pricing
4358
+ #
4359
+ # @param default_unit_amount [String] Per unit rate for usage whose dimension value has no configured tiers
4360
+ #
4361
+ # @param dimension [String] The billable metric property used to group usage before tiering
4362
+ #
4363
+ # @param tiers [Array<Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>] Graduated tiers keyed by dimension value; usage for a value is tiered only again
4364
+
4365
+ class Tier < Orb::Internal::Type::BaseModel
4366
+ # @!attribute dimension_value
4367
+ # The dimension value this tier applies to
4368
+ #
4369
+ # @return [String]
4370
+ required :dimension_value, String
4371
+
4372
+ # @!attribute tier_lower_bound
4373
+ #
4374
+ # @return [String]
4375
+ required :tier_lower_bound, String
4376
+
4377
+ # @!attribute unit_amount
4378
+ # Per unit amount
4379
+ #
4380
+ # @return [String]
4381
+ required :unit_amount, String
4382
+
4383
+ # @!method initialize(dimension_value:, tier_lower_bound:, unit_amount:)
4384
+ # Configuration for a single tier scoped to a dimension value
4385
+ #
4386
+ # @param dimension_value [String] The dimension value this tier applies to
4387
+ #
4388
+ # @param tier_lower_bound [String]
4389
+ #
4390
+ # @param unit_amount [String] Per unit amount
4391
+ end
4392
+ end
4393
+ end
4394
+
3875
4395
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
3876
4396
  # @!attribute cadence
3877
4397
  # The cadence to bill for this price on.
@@ -5875,7 +6395,7 @@ module Orb
5875
6395
  end
5876
6396
 
5877
6397
  # @!method self.variants
5878
- # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::EventOutput)]
6398
+ # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::EventOutput)]
5879
6399
  end
5880
6400
  end
5881
6401
  end