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
@@ -234,6 +234,7 @@ module Orb
234
234
  Orb::NewFloatingTieredPackagePrice,
235
235
  Orb::NewFloatingTieredWithMinimumPrice,
236
236
  Orb::NewFloatingGroupedTieredPrice,
237
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix,
237
238
  Orb::NewFloatingTieredPackageWithMinimumPrice,
238
239
  Orb::NewFloatingPackageWithAllocationPrice,
239
240
  Orb::NewFloatingUnitWithPercentPrice,
@@ -287,6 +288,7 @@ module Orb
287
288
  Orb::NewFloatingTieredPackagePrice::OrHash,
288
289
  Orb::NewFloatingTieredWithMinimumPrice::OrHash,
289
290
  Orb::NewFloatingGroupedTieredPrice::OrHash,
291
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::OrHash,
290
292
  Orb::NewFloatingTieredPackageWithMinimumPrice::OrHash,
291
293
  Orb::NewFloatingPackageWithAllocationPrice::OrHash,
292
294
  Orb::NewFloatingUnitWithPercentPrice::OrHash,
@@ -358,6 +360,7 @@ module Orb
358
360
  Orb::NewFloatingTieredPackagePrice,
359
361
  Orb::NewFloatingTieredWithMinimumPrice,
360
362
  Orb::NewFloatingGroupedTieredPrice,
363
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix,
361
364
  Orb::NewFloatingTieredPackageWithMinimumPrice,
362
365
  Orb::NewFloatingPackageWithAllocationPrice,
363
366
  Orb::NewFloatingUnitWithPercentPrice,
@@ -408,6 +411,7 @@ module Orb
408
411
  Orb::NewFloatingTieredPackagePrice,
409
412
  Orb::NewFloatingTieredWithMinimumPrice,
410
413
  Orb::NewFloatingGroupedTieredPrice,
414
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix,
411
415
  Orb::NewFloatingTieredPackageWithMinimumPrice,
412
416
  Orb::NewFloatingPackageWithAllocationPrice,
413
417
  Orb::NewFloatingUnitWithPercentPrice,
@@ -895,6 +899,433 @@ module Orb
895
899
  end
896
900
  end
897
901
 
902
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
903
+ OrHash =
904
+ T.type_alias do
905
+ T.any(
906
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix,
907
+ Orb::Internal::AnyHash
908
+ )
909
+ end
910
+
911
+ # The cadence to bill for this price on.
912
+ sig do
913
+ returns(
914
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::OrSymbol
915
+ )
916
+ end
917
+ attr_accessor :cadence
918
+
919
+ # An ISO 4217 currency string for which this price is billed in.
920
+ sig { returns(String) }
921
+ attr_accessor :currency
922
+
923
+ # Configuration for grouped_tiered_matrix pricing
924
+ sig do
925
+ returns(
926
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig
927
+ )
928
+ end
929
+ attr_reader :grouped_tiered_matrix_config
930
+
931
+ sig do
932
+ params(
933
+ grouped_tiered_matrix_config:
934
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::OrHash
935
+ ).void
936
+ end
937
+ attr_writer :grouped_tiered_matrix_config
938
+
939
+ # The id of the item the price will be associated with.
940
+ sig { returns(String) }
941
+ attr_accessor :item_id
942
+
943
+ # The pricing model type
944
+ sig { returns(Symbol) }
945
+ attr_accessor :model_type
946
+
947
+ # The name of the price.
948
+ sig { returns(String) }
949
+ attr_accessor :name
950
+
951
+ # The id of the billable metric for the price. Only needed if the price is
952
+ # usage-based.
953
+ sig { returns(T.nilable(String)) }
954
+ attr_accessor :billable_metric_id
955
+
956
+ # If the Price represents a fixed cost, the price will be billed in-advance if
957
+ # this is true, and in-arrears if this is false.
958
+ sig { returns(T.nilable(T::Boolean)) }
959
+ attr_accessor :billed_in_advance
960
+
961
+ # For custom cadence: specifies the duration of the billing period in days or
962
+ # months.
963
+ sig { returns(T.nilable(Orb::NewBillingCycleConfiguration)) }
964
+ attr_reader :billing_cycle_configuration
965
+
966
+ sig do
967
+ params(
968
+ billing_cycle_configuration:
969
+ T.nilable(Orb::NewBillingCycleConfiguration::OrHash)
970
+ ).void
971
+ end
972
+ attr_writer :billing_cycle_configuration
973
+
974
+ # The per unit conversion rate of the price currency to the invoicing currency.
975
+ sig { returns(T.nilable(Float)) }
976
+ attr_accessor :conversion_rate
977
+
978
+ # The configuration for the rate of the price currency to the invoicing currency.
979
+ sig do
980
+ returns(
981
+ T.nilable(
982
+ T.any(
983
+ Orb::UnitConversionRateConfig,
984
+ Orb::TieredConversionRateConfig
985
+ )
986
+ )
987
+ )
988
+ end
989
+ attr_accessor :conversion_rate_config
990
+
991
+ # For dimensional price: specifies a price group and dimension values
992
+ sig { returns(T.nilable(Orb::NewDimensionalPriceConfiguration)) }
993
+ attr_reader :dimensional_price_configuration
994
+
995
+ sig do
996
+ params(
997
+ dimensional_price_configuration:
998
+ T.nilable(Orb::NewDimensionalPriceConfiguration::OrHash)
999
+ ).void
1000
+ end
1001
+ attr_writer :dimensional_price_configuration
1002
+
1003
+ # An alias for the price.
1004
+ sig { returns(T.nilable(String)) }
1005
+ attr_accessor :external_price_id
1006
+
1007
+ # If the Price represents a fixed cost, this represents the quantity of units
1008
+ # applied.
1009
+ sig { returns(T.nilable(Float)) }
1010
+ attr_accessor :fixed_price_quantity
1011
+
1012
+ # The property used to group this price on an invoice
1013
+ sig { returns(T.nilable(String)) }
1014
+ attr_accessor :invoice_grouping_key
1015
+
1016
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1017
+ # If unspecified, a single invoice is produced per billing cycle.
1018
+ sig { returns(T.nilable(Orb::NewBillingCycleConfiguration)) }
1019
+ attr_reader :invoicing_cycle_configuration
1020
+
1021
+ sig do
1022
+ params(
1023
+ invoicing_cycle_configuration:
1024
+ T.nilable(Orb::NewBillingCycleConfiguration::OrHash)
1025
+ ).void
1026
+ end
1027
+ attr_writer :invoicing_cycle_configuration
1028
+
1029
+ # The ID of the license type to associate with this price.
1030
+ sig { returns(T.nilable(String)) }
1031
+ attr_accessor :license_type_id
1032
+
1033
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1034
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1035
+ # by setting `metadata` to `null`.
1036
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
1037
+ attr_accessor :metadata
1038
+
1039
+ sig do
1040
+ params(
1041
+ cadence:
1042
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::OrSymbol,
1043
+ currency: String,
1044
+ grouped_tiered_matrix_config:
1045
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::OrHash,
1046
+ item_id: String,
1047
+ name: String,
1048
+ billable_metric_id: T.nilable(String),
1049
+ billed_in_advance: T.nilable(T::Boolean),
1050
+ billing_cycle_configuration:
1051
+ T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
1052
+ conversion_rate: T.nilable(Float),
1053
+ conversion_rate_config:
1054
+ T.nilable(
1055
+ T.any(
1056
+ Orb::UnitConversionRateConfig::OrHash,
1057
+ Orb::TieredConversionRateConfig::OrHash
1058
+ )
1059
+ ),
1060
+ dimensional_price_configuration:
1061
+ T.nilable(Orb::NewDimensionalPriceConfiguration::OrHash),
1062
+ external_price_id: T.nilable(String),
1063
+ fixed_price_quantity: T.nilable(Float),
1064
+ invoice_grouping_key: T.nilable(String),
1065
+ invoicing_cycle_configuration:
1066
+ T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
1067
+ license_type_id: T.nilable(String),
1068
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
1069
+ model_type: Symbol
1070
+ ).returns(T.attached_class)
1071
+ end
1072
+ def self.new(
1073
+ # The cadence to bill for this price on.
1074
+ cadence:,
1075
+ # An ISO 4217 currency string for which this price is billed in.
1076
+ currency:,
1077
+ # Configuration for grouped_tiered_matrix pricing
1078
+ grouped_tiered_matrix_config:,
1079
+ # The id of the item the price will be associated with.
1080
+ item_id:,
1081
+ # The name of the price.
1082
+ name:,
1083
+ # The id of the billable metric for the price. Only needed if the price is
1084
+ # usage-based.
1085
+ billable_metric_id: nil,
1086
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1087
+ # this is true, and in-arrears if this is false.
1088
+ billed_in_advance: nil,
1089
+ # For custom cadence: specifies the duration of the billing period in days or
1090
+ # months.
1091
+ billing_cycle_configuration: nil,
1092
+ # The per unit conversion rate of the price currency to the invoicing currency.
1093
+ conversion_rate: nil,
1094
+ # The configuration for the rate of the price currency to the invoicing currency.
1095
+ conversion_rate_config: nil,
1096
+ # For dimensional price: specifies a price group and dimension values
1097
+ dimensional_price_configuration: nil,
1098
+ # An alias for the price.
1099
+ external_price_id: nil,
1100
+ # If the Price represents a fixed cost, this represents the quantity of units
1101
+ # applied.
1102
+ fixed_price_quantity: nil,
1103
+ # The property used to group this price on an invoice
1104
+ invoice_grouping_key: nil,
1105
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1106
+ # If unspecified, a single invoice is produced per billing cycle.
1107
+ invoicing_cycle_configuration: nil,
1108
+ # The ID of the license type to associate with this price.
1109
+ license_type_id: nil,
1110
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1111
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1112
+ # by setting `metadata` to `null`.
1113
+ metadata: nil,
1114
+ # The pricing model type
1115
+ model_type: :grouped_tiered_matrix
1116
+ )
1117
+ end
1118
+
1119
+ sig do
1120
+ override.returns(
1121
+ {
1122
+ cadence:
1123
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::OrSymbol,
1124
+ currency: String,
1125
+ grouped_tiered_matrix_config:
1126
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
1127
+ item_id: String,
1128
+ model_type: Symbol,
1129
+ name: String,
1130
+ billable_metric_id: T.nilable(String),
1131
+ billed_in_advance: T.nilable(T::Boolean),
1132
+ billing_cycle_configuration:
1133
+ T.nilable(Orb::NewBillingCycleConfiguration),
1134
+ conversion_rate: T.nilable(Float),
1135
+ conversion_rate_config:
1136
+ T.nilable(
1137
+ T.any(
1138
+ Orb::UnitConversionRateConfig,
1139
+ Orb::TieredConversionRateConfig
1140
+ )
1141
+ ),
1142
+ dimensional_price_configuration:
1143
+ T.nilable(Orb::NewDimensionalPriceConfiguration),
1144
+ external_price_id: T.nilable(String),
1145
+ fixed_price_quantity: T.nilable(Float),
1146
+ invoice_grouping_key: T.nilable(String),
1147
+ invoicing_cycle_configuration:
1148
+ T.nilable(Orb::NewBillingCycleConfiguration),
1149
+ license_type_id: T.nilable(String),
1150
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
1151
+ }
1152
+ )
1153
+ end
1154
+ def to_hash
1155
+ end
1156
+
1157
+ # The cadence to bill for this price on.
1158
+ module Cadence
1159
+ extend Orb::Internal::Type::Enum
1160
+
1161
+ TaggedSymbol =
1162
+ T.type_alias do
1163
+ T.all(
1164
+ Symbol,
1165
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence
1166
+ )
1167
+ end
1168
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1169
+
1170
+ ANNUAL =
1171
+ T.let(
1172
+ :annual,
1173
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::TaggedSymbol
1174
+ )
1175
+ SEMI_ANNUAL =
1176
+ T.let(
1177
+ :semi_annual,
1178
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::TaggedSymbol
1179
+ )
1180
+ MONTHLY =
1181
+ T.let(
1182
+ :monthly,
1183
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::TaggedSymbol
1184
+ )
1185
+ QUARTERLY =
1186
+ T.let(
1187
+ :quarterly,
1188
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::TaggedSymbol
1189
+ )
1190
+ ONE_TIME =
1191
+ T.let(
1192
+ :one_time,
1193
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::TaggedSymbol
1194
+ )
1195
+ CUSTOM =
1196
+ T.let(
1197
+ :custom,
1198
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::TaggedSymbol
1199
+ )
1200
+
1201
+ sig do
1202
+ override.returns(
1203
+ T::Array[
1204
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::Cadence::TaggedSymbol
1205
+ ]
1206
+ )
1207
+ end
1208
+ def self.values
1209
+ end
1210
+ end
1211
+
1212
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
1213
+ OrHash =
1214
+ T.type_alias do
1215
+ T.any(
1216
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
1217
+ Orb::Internal::AnyHash
1218
+ )
1219
+ end
1220
+
1221
+ # Per unit rate for usage whose dimension value has no configured tiers
1222
+ sig { returns(String) }
1223
+ attr_accessor :default_unit_amount
1224
+
1225
+ # The billable metric property used to group usage before tiering
1226
+ sig { returns(String) }
1227
+ attr_accessor :dimension
1228
+
1229
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
1230
+ # against its own rows
1231
+ sig do
1232
+ returns(
1233
+ T::Array[
1234
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier
1235
+ ]
1236
+ )
1237
+ end
1238
+ attr_accessor :tiers
1239
+
1240
+ # Configuration for grouped_tiered_matrix pricing
1241
+ sig do
1242
+ params(
1243
+ default_unit_amount: String,
1244
+ dimension: String,
1245
+ tiers:
1246
+ T::Array[
1247
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier::OrHash
1248
+ ]
1249
+ ).returns(T.attached_class)
1250
+ end
1251
+ def self.new(
1252
+ # Per unit rate for usage whose dimension value has no configured tiers
1253
+ default_unit_amount:,
1254
+ # The billable metric property used to group usage before tiering
1255
+ dimension:,
1256
+ # Graduated tiers keyed by dimension value; usage for a value is tiered only
1257
+ # against its own rows
1258
+ tiers:
1259
+ )
1260
+ end
1261
+
1262
+ sig do
1263
+ override.returns(
1264
+ {
1265
+ default_unit_amount: String,
1266
+ dimension: String,
1267
+ tiers:
1268
+ T::Array[
1269
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier
1270
+ ]
1271
+ }
1272
+ )
1273
+ end
1274
+ def to_hash
1275
+ end
1276
+
1277
+ class Tier < Orb::Internal::Type::BaseModel
1278
+ OrHash =
1279
+ T.type_alias do
1280
+ T.any(
1281
+ Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier,
1282
+ Orb::Internal::AnyHash
1283
+ )
1284
+ end
1285
+
1286
+ # The dimension value this tier applies to
1287
+ sig { returns(String) }
1288
+ attr_accessor :dimension_value
1289
+
1290
+ sig { returns(String) }
1291
+ attr_accessor :tier_lower_bound
1292
+
1293
+ # Per unit amount
1294
+ sig { returns(String) }
1295
+ attr_accessor :unit_amount
1296
+
1297
+ # Configuration for a single tier scoped to a dimension value
1298
+ sig do
1299
+ params(
1300
+ dimension_value: String,
1301
+ tier_lower_bound: String,
1302
+ unit_amount: String
1303
+ ).returns(T.attached_class)
1304
+ end
1305
+ def self.new(
1306
+ # The dimension value this tier applies to
1307
+ dimension_value:,
1308
+ tier_lower_bound:,
1309
+ # Per unit amount
1310
+ unit_amount:
1311
+ )
1312
+ end
1313
+
1314
+ sig do
1315
+ override.returns(
1316
+ {
1317
+ dimension_value: String,
1318
+ tier_lower_bound: String,
1319
+ unit_amount: String
1320
+ }
1321
+ )
1322
+ end
1323
+ def to_hash
1324
+ end
1325
+ end
1326
+ end
1327
+ end
1328
+
898
1329
  class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
899
1330
  OrHash =
900
1331
  T.type_alias do
@@ -99,6 +99,7 @@ module Orb
99
99
  Orb::Price::TieredPackage::OrHash,
100
100
  Orb::Price::TieredWithMinimum::OrHash,
101
101
  Orb::Price::GroupedTiered::OrHash,
102
+ Orb::Price::GroupedTieredMatrix::OrHash,
102
103
  Orb::Price::TieredPackageWithMinimum::OrHash,
103
104
  Orb::Price::PackageWithAllocation::OrHash,
104
105
  Orb::Price::UnitWithPercent::OrHash,