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
@@ -385,7 +385,7 @@ module Orb
385
385
  # @!attribute price
386
386
  # New plan price request body params.
387
387
  #
388
- # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::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::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil]
388
+ # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil]
389
389
  optional :price,
390
390
  union: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price },
391
391
  nil?: true
@@ -397,7 +397,7 @@ module Orb
397
397
  #
398
398
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
399
399
  #
400
- # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::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::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil] New plan price request body params.
400
+ # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput, nil] New plan price request body params.
401
401
 
402
402
  # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice#license_allocation_price
403
403
  class LicenseAllocationPrice < Orb::Internal::Type::BaseModel
@@ -672,6 +672,9 @@ module Orb
672
672
 
673
673
  variant :grouped_tiered, -> { Orb::NewPlanGroupedTieredPrice }
674
674
 
675
+ variant :grouped_tiered_matrix,
676
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix }
677
+
675
678
  variant :tiered_package_with_minimum, -> { Orb::NewPlanTieredPackageWithMinimumPrice }
676
679
 
677
680
  variant :package_with_allocation, -> { Orb::NewPlanPackageWithAllocationPrice }
@@ -992,6 +995,265 @@ module Orb
992
995
  end
993
996
  end
994
997
 
998
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
999
+ # @!attribute cadence
1000
+ # The cadence to bill for this price on.
1001
+ #
1002
+ # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::Cadence]
1003
+ required :cadence,
1004
+ enum: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::Cadence }
1005
+
1006
+ # @!attribute grouped_tiered_matrix_config
1007
+ # Configuration for grouped_tiered_matrix pricing
1008
+ #
1009
+ # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig]
1010
+ required :grouped_tiered_matrix_config,
1011
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }
1012
+
1013
+ # @!attribute item_id
1014
+ # The id of the item the price will be associated with.
1015
+ #
1016
+ # @return [String]
1017
+ required :item_id, String
1018
+
1019
+ # @!attribute model_type
1020
+ # The pricing model type
1021
+ #
1022
+ # @return [Symbol, :grouped_tiered_matrix]
1023
+ required :model_type, const: :grouped_tiered_matrix
1024
+
1025
+ # @!attribute name
1026
+ # The name of the price.
1027
+ #
1028
+ # @return [String]
1029
+ required :name, String
1030
+
1031
+ # @!attribute billable_metric_id
1032
+ # The id of the billable metric for the price. Only needed if the price is
1033
+ # usage-based.
1034
+ #
1035
+ # @return [String, nil]
1036
+ optional :billable_metric_id, String, nil?: true
1037
+
1038
+ # @!attribute billed_in_advance
1039
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1040
+ # this is true, and in-arrears if this is false.
1041
+ #
1042
+ # @return [Boolean, nil]
1043
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1044
+
1045
+ # @!attribute billing_cycle_configuration
1046
+ # For custom cadence: specifies the duration of the billing period in days or
1047
+ # months.
1048
+ #
1049
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1050
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1051
+
1052
+ # @!attribute conversion_rate
1053
+ # The per unit conversion rate of the price currency to the invoicing currency.
1054
+ #
1055
+ # @return [Float, nil]
1056
+ optional :conversion_rate, Float, nil?: true
1057
+
1058
+ # @!attribute conversion_rate_config
1059
+ # The configuration for the rate of the price currency to the invoicing currency.
1060
+ #
1061
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1062
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1063
+
1064
+ # @!attribute currency
1065
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
1066
+ # price is billed.
1067
+ #
1068
+ # @return [String, nil]
1069
+ optional :currency, String, nil?: true
1070
+
1071
+ # @!attribute dimensional_price_configuration
1072
+ # For dimensional price: specifies a price group and dimension values
1073
+ #
1074
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1075
+ optional :dimensional_price_configuration,
1076
+ -> {
1077
+ Orb::NewDimensionalPriceConfiguration
1078
+ },
1079
+ nil?: true
1080
+
1081
+ # @!attribute external_price_id
1082
+ # An alias for the price.
1083
+ #
1084
+ # @return [String, nil]
1085
+ optional :external_price_id, String, nil?: true
1086
+
1087
+ # @!attribute fixed_price_quantity
1088
+ # If the Price represents a fixed cost, this represents the quantity of units
1089
+ # applied.
1090
+ #
1091
+ # @return [Float, nil]
1092
+ optional :fixed_price_quantity, Float, nil?: true
1093
+
1094
+ # @!attribute invoice_grouping_key
1095
+ # The property used to group this price on an invoice
1096
+ #
1097
+ # @return [String, nil]
1098
+ optional :invoice_grouping_key, String, nil?: true
1099
+
1100
+ # @!attribute invoicing_cycle_configuration
1101
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1102
+ # If unspecified, a single invoice is produced per billing cycle.
1103
+ #
1104
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1105
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1106
+
1107
+ # @!attribute license_type_id
1108
+ # The ID of the license type to associate with this price.
1109
+ #
1110
+ # @return [String, nil]
1111
+ optional :license_type_id, String, nil?: true
1112
+
1113
+ # @!attribute metadata
1114
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1115
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1116
+ # by setting `metadata` to `null`.
1117
+ #
1118
+ # @return [Hash{Symbol=>String, nil}, nil]
1119
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1120
+
1121
+ # @!attribute reference_id
1122
+ # A transient ID that can be used to reference this price when adding adjustments
1123
+ # in the same API call.
1124
+ #
1125
+ # @return [String, nil]
1126
+ optional :reference_id, String, nil?: true
1127
+
1128
+ # @!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)
1129
+ # Some parameter documentations has been truncated, see
1130
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix}
1131
+ # for more details.
1132
+ #
1133
+ # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::Cadence] The cadence to bill for this price on.
1134
+ #
1135
+ # @param grouped_tiered_matrix_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig] Configuration for grouped_tiered_matrix pricing
1136
+ #
1137
+ # @param item_id [String] The id of the item the price will be associated with.
1138
+ #
1139
+ # @param name [String] The name of the price.
1140
+ #
1141
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1142
+ #
1143
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1144
+ #
1145
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1146
+ #
1147
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1148
+ #
1149
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1150
+ #
1151
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
1152
+ #
1153
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1154
+ #
1155
+ # @param external_price_id [String, nil] An alias for the price.
1156
+ #
1157
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1158
+ #
1159
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1160
+ #
1161
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1162
+ #
1163
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
1164
+ #
1165
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1166
+ #
1167
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1168
+ #
1169
+ # @param model_type [Symbol, :grouped_tiered_matrix] The pricing model type
1170
+
1171
+ # The cadence to bill for this price on.
1172
+ #
1173
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix#cadence
1174
+ module Cadence
1175
+ extend Orb::Internal::Type::Enum
1176
+
1177
+ ANNUAL = :annual
1178
+ SEMI_ANNUAL = :semi_annual
1179
+ MONTHLY = :monthly
1180
+ QUARTERLY = :quarterly
1181
+ ONE_TIME = :one_time
1182
+ CUSTOM = :custom
1183
+
1184
+ # @!method self.values
1185
+ # @return [Array<Symbol>]
1186
+ end
1187
+
1188
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix#grouped_tiered_matrix_config
1189
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
1190
+ # @!attribute default_unit_amount
1191
+ # Per unit rate for usage whose dimension value has no configured tiers
1192
+ #
1193
+ # @return [String]
1194
+ required :default_unit_amount, String
1195
+
1196
+ # @!attribute dimension
1197
+ # The billable metric property used to group usage before tiering
1198
+ #
1199
+ # @return [String]
1200
+ required :dimension, String
1201
+
1202
+ # @!attribute tiers
1203
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
1204
+ # against its own rows
1205
+ #
1206
+ # @return [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>]
1207
+ required :tiers,
1208
+ -> do
1209
+ Orb::Internal::Type::ArrayOf[
1210
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier
1211
+ ]
1212
+ end
1213
+
1214
+ # @!method initialize(default_unit_amount:, dimension:, tiers:)
1215
+ # Some parameter documentations has been truncated, see
1216
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig}
1217
+ # for more details.
1218
+ #
1219
+ # Configuration for grouped_tiered_matrix pricing
1220
+ #
1221
+ # @param default_unit_amount [String] Per unit rate for usage whose dimension value has no configured tiers
1222
+ #
1223
+ # @param dimension [String] The billable metric property used to group usage before tiering
1224
+ #
1225
+ # @param tiers [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>] Graduated tiers keyed by dimension value; usage for a value is tiered only again
1226
+
1227
+ class Tier < Orb::Internal::Type::BaseModel
1228
+ # @!attribute dimension_value
1229
+ # The dimension value this tier applies to
1230
+ #
1231
+ # @return [String]
1232
+ required :dimension_value, String
1233
+
1234
+ # @!attribute tier_lower_bound
1235
+ #
1236
+ # @return [String]
1237
+ required :tier_lower_bound, String
1238
+
1239
+ # @!attribute unit_amount
1240
+ # Per unit amount
1241
+ #
1242
+ # @return [String]
1243
+ required :unit_amount, String
1244
+
1245
+ # @!method initialize(dimension_value:, tier_lower_bound:, unit_amount:)
1246
+ # Configuration for a single tier scoped to a dimension value
1247
+ #
1248
+ # @param dimension_value [String] The dimension value this tier applies to
1249
+ #
1250
+ # @param tier_lower_bound [String]
1251
+ #
1252
+ # @param unit_amount [String] Per unit amount
1253
+ end
1254
+ end
1255
+ end
1256
+
995
1257
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
996
1258
  # @!attribute cadence
997
1259
  # The cadence to bill for this price on.
@@ -2996,7 +3258,7 @@ module Orb
2996
3258
  end
2997
3259
 
2998
3260
  # @!method self.variants
2999
- # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::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::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput)]
3261
+ # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput)]
3000
3262
  end
3001
3263
  end
3002
3264
 
@@ -3333,7 +3595,7 @@ module Orb
3333
3595
  # @!attribute price
3334
3596
  # New plan price request body params.
3335
3597
  #
3336
- # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::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::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil]
3598
+ # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil]
3337
3599
  optional :price,
3338
3600
  union: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price },
3339
3601
  nil?: true
@@ -3347,7 +3609,7 @@ module Orb
3347
3609
  #
3348
3610
  # @param plan_phase_order [Integer, nil] The phase to replace this price from.
3349
3611
  #
3350
- # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::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::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil] New plan price request body params.
3612
+ # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput, nil] New plan price request body params.
3351
3613
 
3352
3614
  # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice#license_allocation_price
3353
3615
  class LicenseAllocationPrice < Orb::Internal::Type::BaseModel
@@ -3622,6 +3884,9 @@ module Orb
3622
3884
 
3623
3885
  variant :grouped_tiered, -> { Orb::NewPlanGroupedTieredPrice }
3624
3886
 
3887
+ variant :grouped_tiered_matrix,
3888
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix }
3889
+
3625
3890
  variant :tiered_package_with_minimum, -> { Orb::NewPlanTieredPackageWithMinimumPrice }
3626
3891
 
3627
3892
  variant :package_with_allocation, -> { Orb::NewPlanPackageWithAllocationPrice }
@@ -3942,6 +4207,265 @@ module Orb
3942
4207
  end
3943
4208
  end
3944
4209
 
4210
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
4211
+ # @!attribute cadence
4212
+ # The cadence to bill for this price on.
4213
+ #
4214
+ # @return [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence]
4215
+ required :cadence,
4216
+ enum: -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence }
4217
+
4218
+ # @!attribute grouped_tiered_matrix_config
4219
+ # Configuration for grouped_tiered_matrix pricing
4220
+ #
4221
+ # @return [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig]
4222
+ required :grouped_tiered_matrix_config,
4223
+ -> { Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }
4224
+
4225
+ # @!attribute item_id
4226
+ # The id of the item the price will be associated with.
4227
+ #
4228
+ # @return [String]
4229
+ required :item_id, String
4230
+
4231
+ # @!attribute model_type
4232
+ # The pricing model type
4233
+ #
4234
+ # @return [Symbol, :grouped_tiered_matrix]
4235
+ required :model_type, const: :grouped_tiered_matrix
4236
+
4237
+ # @!attribute name
4238
+ # The name of the price.
4239
+ #
4240
+ # @return [String]
4241
+ required :name, String
4242
+
4243
+ # @!attribute billable_metric_id
4244
+ # The id of the billable metric for the price. Only needed if the price is
4245
+ # usage-based.
4246
+ #
4247
+ # @return [String, nil]
4248
+ optional :billable_metric_id, String, nil?: true
4249
+
4250
+ # @!attribute billed_in_advance
4251
+ # If the Price represents a fixed cost, the price will be billed in-advance if
4252
+ # this is true, and in-arrears if this is false.
4253
+ #
4254
+ # @return [Boolean, nil]
4255
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
4256
+
4257
+ # @!attribute billing_cycle_configuration
4258
+ # For custom cadence: specifies the duration of the billing period in days or
4259
+ # months.
4260
+ #
4261
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4262
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4263
+
4264
+ # @!attribute conversion_rate
4265
+ # The per unit conversion rate of the price currency to the invoicing currency.
4266
+ #
4267
+ # @return [Float, nil]
4268
+ optional :conversion_rate, Float, nil?: true
4269
+
4270
+ # @!attribute conversion_rate_config
4271
+ # The configuration for the rate of the price currency to the invoicing currency.
4272
+ #
4273
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
4274
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
4275
+
4276
+ # @!attribute currency
4277
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
4278
+ # price is billed.
4279
+ #
4280
+ # @return [String, nil]
4281
+ optional :currency, String, nil?: true
4282
+
4283
+ # @!attribute dimensional_price_configuration
4284
+ # For dimensional price: specifies a price group and dimension values
4285
+ #
4286
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
4287
+ optional :dimensional_price_configuration,
4288
+ -> {
4289
+ Orb::NewDimensionalPriceConfiguration
4290
+ },
4291
+ nil?: true
4292
+
4293
+ # @!attribute external_price_id
4294
+ # An alias for the price.
4295
+ #
4296
+ # @return [String, nil]
4297
+ optional :external_price_id, String, nil?: true
4298
+
4299
+ # @!attribute fixed_price_quantity
4300
+ # If the Price represents a fixed cost, this represents the quantity of units
4301
+ # applied.
4302
+ #
4303
+ # @return [Float, nil]
4304
+ optional :fixed_price_quantity, Float, nil?: true
4305
+
4306
+ # @!attribute invoice_grouping_key
4307
+ # The property used to group this price on an invoice
4308
+ #
4309
+ # @return [String, nil]
4310
+ optional :invoice_grouping_key, String, nil?: true
4311
+
4312
+ # @!attribute invoicing_cycle_configuration
4313
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
4314
+ # If unspecified, a single invoice is produced per billing cycle.
4315
+ #
4316
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4317
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
4318
+
4319
+ # @!attribute license_type_id
4320
+ # The ID of the license type to associate with this price.
4321
+ #
4322
+ # @return [String, nil]
4323
+ optional :license_type_id, String, nil?: true
4324
+
4325
+ # @!attribute metadata
4326
+ # User-specified key/value pairs for the resource. Individual keys can be removed
4327
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
4328
+ # by setting `metadata` to `null`.
4329
+ #
4330
+ # @return [Hash{Symbol=>String, nil}, nil]
4331
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
4332
+
4333
+ # @!attribute reference_id
4334
+ # A transient ID that can be used to reference this price when adding adjustments
4335
+ # in the same API call.
4336
+ #
4337
+ # @return [String, nil]
4338
+ optional :reference_id, String, nil?: true
4339
+
4340
+ # @!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)
4341
+ # Some parameter documentations has been truncated, see
4342
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix}
4343
+ # for more details.
4344
+ #
4345
+ # @param cadence [Symbol, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::Cadence] The cadence to bill for this price on.
4346
+ #
4347
+ # @param grouped_tiered_matrix_config [Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig] Configuration for grouped_tiered_matrix pricing
4348
+ #
4349
+ # @param item_id [String] The id of the item the price will be associated with.
4350
+ #
4351
+ # @param name [String] The name of the price.
4352
+ #
4353
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
4354
+ #
4355
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
4356
+ #
4357
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
4358
+ #
4359
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
4360
+ #
4361
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
4362
+ #
4363
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
4364
+ #
4365
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
4366
+ #
4367
+ # @param external_price_id [String, nil] An alias for the price.
4368
+ #
4369
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
4370
+ #
4371
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
4372
+ #
4373
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
4374
+ #
4375
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
4376
+ #
4377
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
4378
+ #
4379
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
4380
+ #
4381
+ # @param model_type [Symbol, :grouped_tiered_matrix] The pricing model type
4382
+
4383
+ # The cadence to bill for this price on.
4384
+ #
4385
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix#cadence
4386
+ module Cadence
4387
+ extend Orb::Internal::Type::Enum
4388
+
4389
+ ANNUAL = :annual
4390
+ SEMI_ANNUAL = :semi_annual
4391
+ MONTHLY = :monthly
4392
+ QUARTERLY = :quarterly
4393
+ ONE_TIME = :one_time
4394
+ CUSTOM = :custom
4395
+
4396
+ # @!method self.values
4397
+ # @return [Array<Symbol>]
4398
+ end
4399
+
4400
+ # @see Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix#grouped_tiered_matrix_config
4401
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
4402
+ # @!attribute default_unit_amount
4403
+ # Per unit rate for usage whose dimension value has no configured tiers
4404
+ #
4405
+ # @return [String]
4406
+ required :default_unit_amount, String
4407
+
4408
+ # @!attribute dimension
4409
+ # The billable metric property used to group usage before tiering
4410
+ #
4411
+ # @return [String]
4412
+ required :dimension, String
4413
+
4414
+ # @!attribute tiers
4415
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
4416
+ # against its own rows
4417
+ #
4418
+ # @return [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>]
4419
+ required :tiers,
4420
+ -> do
4421
+ Orb::Internal::Type::ArrayOf[
4422
+ Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier
4423
+ ]
4424
+ end
4425
+
4426
+ # @!method initialize(default_unit_amount:, dimension:, tiers:)
4427
+ # Some parameter documentations has been truncated, see
4428
+ # {Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig}
4429
+ # for more details.
4430
+ #
4431
+ # Configuration for grouped_tiered_matrix pricing
4432
+ #
4433
+ # @param default_unit_amount [String] Per unit rate for usage whose dimension value has no configured tiers
4434
+ #
4435
+ # @param dimension [String] The billable metric property used to group usage before tiering
4436
+ #
4437
+ # @param tiers [Array<Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier>] Graduated tiers keyed by dimension value; usage for a value is tiered only again
4438
+
4439
+ class Tier < Orb::Internal::Type::BaseModel
4440
+ # @!attribute dimension_value
4441
+ # The dimension value this tier applies to
4442
+ #
4443
+ # @return [String]
4444
+ required :dimension_value, String
4445
+
4446
+ # @!attribute tier_lower_bound
4447
+ #
4448
+ # @return [String]
4449
+ required :tier_lower_bound, String
4450
+
4451
+ # @!attribute unit_amount
4452
+ # Per unit amount
4453
+ #
4454
+ # @return [String]
4455
+ required :unit_amount, String
4456
+
4457
+ # @!method initialize(dimension_value:, tier_lower_bound:, unit_amount:)
4458
+ # Configuration for a single tier scoped to a dimension value
4459
+ #
4460
+ # @param dimension_value [String] The dimension value this tier applies to
4461
+ #
4462
+ # @param tier_lower_bound [String]
4463
+ #
4464
+ # @param unit_amount [String] Per unit amount
4465
+ end
4466
+ end
4467
+ end
4468
+
3945
4469
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
3946
4470
  # @!attribute cadence
3947
4471
  # The cadence to bill for this price on.
@@ -5946,7 +6470,7 @@ module Orb
5946
6470
  end
5947
6471
 
5948
6472
  # @!method self.variants
5949
- # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::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::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput)]
6473
+ # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent, Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput)]
5950
6474
  end
5951
6475
  end
5952
6476
  end