orb-billing 1.30.0 → 1.31.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +566 -6
  5. data/lib/orb/models/beta_create_plan_version_params.rb +566 -6
  6. data/lib/orb/models/changed_subscription_resources.rb +2 -2
  7. data/lib/orb/models/invoice.rb +2 -2
  8. data/lib/orb/models/invoice_fetch_upcoming_response.rb +2 -2
  9. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  10. data/lib/orb/models/per_price_cost.rb +2 -2
  11. data/lib/orb/models/plan.rb +2 -2
  12. data/lib/orb/models/plan_create_params.rb +278 -3
  13. data/lib/orb/models/plan_version.rb +2 -2
  14. data/lib/orb/models/price.rb +450 -1
  15. data/lib/orb/models/price_create_params.rb +263 -3
  16. data/lib/orb/models/price_evaluate_multiple_params.rb +273 -3
  17. data/lib/orb/models/price_evaluate_preview_events_params.rb +273 -3
  18. data/lib/orb/models/price_interval.rb +2 -2
  19. data/lib/orb/models/subscription_create_params.rb +566 -6
  20. data/lib/orb/models/subscription_price_intervals_params.rb +273 -3
  21. data/lib/orb/models/subscription_schedule_plan_change_params.rb +566 -6
  22. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  23. data/lib/orb/resources/prices.rb +5 -5
  24. data/lib/orb/version.rb +1 -1
  25. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2737 -1811
  26. data/rbi/orb/models/beta_create_plan_version_params.rbi +2745 -1819
  27. data/rbi/orb/models/changed_subscription_resources.rbi +1 -0
  28. data/rbi/orb/models/invoice.rbi +1 -0
  29. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +1 -0
  30. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  31. data/rbi/orb/models/per_price_cost.rbi +1 -0
  32. data/rbi/orb/models/plan.rbi +1 -0
  33. data/rbi/orb/models/plan_create_params.rbi +463 -0
  34. data/rbi/orb/models/plan_version.rbi +1 -0
  35. data/rbi/orb/models/price.rbi +805 -0
  36. data/rbi/orb/models/price_create_params.rbi +451 -0
  37. data/rbi/orb/models/price_evaluate_multiple_params.rbi +451 -0
  38. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +451 -0
  39. data/rbi/orb/models/price_interval.rbi +1 -0
  40. data/rbi/orb/models/subscription_create_params.rbi +2660 -1734
  41. data/rbi/orb/models/subscription_price_intervals_params.rbi +451 -0
  42. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2660 -1734
  43. data/rbi/orb/resources/prices.rbi +1 -0
  44. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +376 -0
  45. data/sig/orb/models/beta_create_plan_version_params.rbs +376 -0
  46. data/sig/orb/models/plan_create_params.rbs +188 -0
  47. data/sig/orb/models/price.rbs +332 -0
  48. data/sig/orb/models/price_create_params.rbs +178 -0
  49. data/sig/orb/models/price_evaluate_multiple_params.rbs +183 -0
  50. data/sig/orb/models/price_evaluate_preview_events_params.rbs +183 -0
  51. data/sig/orb/models/subscription_create_params.rbs +376 -0
  52. data/sig/orb/models/subscription_price_intervals_params.rbs +183 -0
  53. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +376 -0
  54. metadata +1 -1
@@ -474,6 +474,7 @@ module Orb
474
474
  | Orb::NewPlanPackageWithAllocationPrice
475
475
  | Orb::NewPlanUnitWithPercentPrice
476
476
  | Orb::NewPlanMatrixWithAllocationPrice
477
+ | Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation
477
478
  | Orb::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts
478
479
  | Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredWithProration
479
480
  | Orb::NewPlanUnitWithProrationPrice
@@ -863,6 +864,193 @@ module Orb
863
864
  end
864
865
  end
865
866
 
867
+ type tiered_matrix_with_allocation =
868
+ {
869
+ cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence,
870
+ item_id: String,
871
+ model_type: :tiered_matrix_with_allocation,
872
+ name: String,
873
+ tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
874
+ billable_metric_id: String?,
875
+ billed_in_advance: bool?,
876
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
877
+ conversion_rate: Float?,
878
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
879
+ currency: String?,
880
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
881
+ external_price_id: String?,
882
+ fixed_price_quantity: Float?,
883
+ invoice_grouping_key: String?,
884
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
885
+ license_type_id: String?,
886
+ metadata: ::Hash[Symbol, String?]?,
887
+ reference_id: String?
888
+ }
889
+
890
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
891
+ attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence
892
+
893
+ attr_accessor item_id: String
894
+
895
+ attr_accessor model_type: :tiered_matrix_with_allocation
896
+
897
+ attr_accessor name: String
898
+
899
+ attr_accessor tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
900
+
901
+ attr_accessor billable_metric_id: String?
902
+
903
+ attr_accessor billed_in_advance: bool?
904
+
905
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
906
+
907
+ attr_accessor conversion_rate: Float?
908
+
909
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
910
+
911
+ attr_accessor currency: String?
912
+
913
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
914
+
915
+ attr_accessor external_price_id: String?
916
+
917
+ attr_accessor fixed_price_quantity: Float?
918
+
919
+ attr_accessor invoice_grouping_key: String?
920
+
921
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
922
+
923
+ attr_accessor license_type_id: String?
924
+
925
+ attr_accessor metadata: ::Hash[Symbol, String?]?
926
+
927
+ attr_accessor reference_id: String?
928
+
929
+ def initialize: (
930
+ cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence,
931
+ item_id: String,
932
+ name: String,
933
+ tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
934
+ ?billable_metric_id: String?,
935
+ ?billed_in_advance: bool?,
936
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
937
+ ?conversion_rate: Float?,
938
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
939
+ ?currency: String?,
940
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
941
+ ?external_price_id: String?,
942
+ ?fixed_price_quantity: Float?,
943
+ ?invoice_grouping_key: String?,
944
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
945
+ ?license_type_id: String?,
946
+ ?metadata: ::Hash[Symbol, String?]?,
947
+ ?reference_id: String?,
948
+ ?model_type: :tiered_matrix_with_allocation
949
+ ) -> void
950
+
951
+ def to_hash: -> {
952
+ cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence,
953
+ item_id: String,
954
+ model_type: :tiered_matrix_with_allocation,
955
+ name: String,
956
+ tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
957
+ billable_metric_id: String?,
958
+ billed_in_advance: bool?,
959
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
960
+ conversion_rate: Float?,
961
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
962
+ currency: String?,
963
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
964
+ external_price_id: String?,
965
+ fixed_price_quantity: Float?,
966
+ invoice_grouping_key: String?,
967
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
968
+ license_type_id: String?,
969
+ metadata: ::Hash[Symbol, String?]?,
970
+ reference_id: String?
971
+ }
972
+
973
+ type cadence =
974
+ :annual
975
+ | :semi_annual
976
+ | :monthly
977
+ | :quarterly
978
+ | :one_time
979
+ | :custom
980
+
981
+ module Cadence
982
+ extend Orb::Internal::Type::Enum
983
+
984
+ ANNUAL: :annual
985
+ SEMI_ANNUAL: :semi_annual
986
+ MONTHLY: :monthly
987
+ QUARTERLY: :quarterly
988
+ ONE_TIME: :one_time
989
+ CUSTOM: :custom
990
+
991
+ def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence]
992
+ end
993
+
994
+ type tiered_matrix_with_allocation_config =
995
+ {
996
+ allocation: String,
997
+ default_unit_amount: String,
998
+ dimensions: ::Array[String],
999
+ tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1000
+ }
1001
+
1002
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
1003
+ attr_accessor allocation: String
1004
+
1005
+ attr_accessor default_unit_amount: String
1006
+
1007
+ attr_accessor dimensions: ::Array[String]
1008
+
1009
+ attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1010
+
1011
+ def initialize: (
1012
+ allocation: String,
1013
+ default_unit_amount: String,
1014
+ dimensions: ::Array[String],
1015
+ tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1016
+ ) -> void
1017
+
1018
+ def to_hash: -> {
1019
+ allocation: String,
1020
+ default_unit_amount: String,
1021
+ dimensions: ::Array[String],
1022
+ tiers: ::Array[Orb::BetaCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1023
+ }
1024
+
1025
+ type tier =
1026
+ {
1027
+ dimension_values: ::Array[String],
1028
+ tier_lower_bound: String,
1029
+ unit_amount: String
1030
+ }
1031
+
1032
+ class Tier < Orb::Internal::Type::BaseModel
1033
+ attr_accessor dimension_values: ::Array[String]
1034
+
1035
+ attr_accessor tier_lower_bound: String
1036
+
1037
+ attr_accessor unit_amount: String
1038
+
1039
+ def initialize: (
1040
+ dimension_values: ::Array[String],
1041
+ tier_lower_bound: String,
1042
+ unit_amount: String
1043
+ ) -> void
1044
+
1045
+ def to_hash: -> {
1046
+ dimension_values: ::Array[String],
1047
+ tier_lower_bound: String,
1048
+ unit_amount: String
1049
+ }
1050
+ end
1051
+ end
1052
+ end
1053
+
866
1054
  type matrix_with_threshold_discounts =
867
1055
  {
868
1056
  cadence: Orb::Models::BetaCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts::cadence,
@@ -2708,6 +2896,7 @@ module Orb
2708
2896
  | Orb::NewPlanPackageWithAllocationPrice
2709
2897
  | Orb::NewPlanUnitWithPercentPrice
2710
2898
  | Orb::NewPlanMatrixWithAllocationPrice
2899
+ | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation
2711
2900
  | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts
2712
2901
  | Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration
2713
2902
  | Orb::NewPlanUnitWithProrationPrice
@@ -3097,6 +3286,193 @@ module Orb
3097
3286
  end
3098
3287
  end
3099
3288
 
3289
+ type tiered_matrix_with_allocation =
3290
+ {
3291
+ cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence,
3292
+ item_id: String,
3293
+ model_type: :tiered_matrix_with_allocation,
3294
+ name: String,
3295
+ tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
3296
+ billable_metric_id: String?,
3297
+ billed_in_advance: bool?,
3298
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3299
+ conversion_rate: Float?,
3300
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
3301
+ currency: String?,
3302
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
3303
+ external_price_id: String?,
3304
+ fixed_price_quantity: Float?,
3305
+ invoice_grouping_key: String?,
3306
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3307
+ license_type_id: String?,
3308
+ metadata: ::Hash[Symbol, String?]?,
3309
+ reference_id: String?
3310
+ }
3311
+
3312
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
3313
+ attr_accessor cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence
3314
+
3315
+ attr_accessor item_id: String
3316
+
3317
+ attr_accessor model_type: :tiered_matrix_with_allocation
3318
+
3319
+ attr_accessor name: String
3320
+
3321
+ attr_accessor tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
3322
+
3323
+ attr_accessor billable_metric_id: String?
3324
+
3325
+ attr_accessor billed_in_advance: bool?
3326
+
3327
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
3328
+
3329
+ attr_accessor conversion_rate: Float?
3330
+
3331
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
3332
+
3333
+ attr_accessor currency: String?
3334
+
3335
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
3336
+
3337
+ attr_accessor external_price_id: String?
3338
+
3339
+ attr_accessor fixed_price_quantity: Float?
3340
+
3341
+ attr_accessor invoice_grouping_key: String?
3342
+
3343
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
3344
+
3345
+ attr_accessor license_type_id: String?
3346
+
3347
+ attr_accessor metadata: ::Hash[Symbol, String?]?
3348
+
3349
+ attr_accessor reference_id: String?
3350
+
3351
+ def initialize: (
3352
+ cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence,
3353
+ item_id: String,
3354
+ name: String,
3355
+ tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
3356
+ ?billable_metric_id: String?,
3357
+ ?billed_in_advance: bool?,
3358
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3359
+ ?conversion_rate: Float?,
3360
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
3361
+ ?currency: String?,
3362
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
3363
+ ?external_price_id: String?,
3364
+ ?fixed_price_quantity: Float?,
3365
+ ?invoice_grouping_key: String?,
3366
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3367
+ ?license_type_id: String?,
3368
+ ?metadata: ::Hash[Symbol, String?]?,
3369
+ ?reference_id: String?,
3370
+ ?model_type: :tiered_matrix_with_allocation
3371
+ ) -> void
3372
+
3373
+ def to_hash: -> {
3374
+ cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence,
3375
+ item_id: String,
3376
+ model_type: :tiered_matrix_with_allocation,
3377
+ name: String,
3378
+ tiered_matrix_with_allocation_config: Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
3379
+ billable_metric_id: String?,
3380
+ billed_in_advance: bool?,
3381
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3382
+ conversion_rate: Float?,
3383
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
3384
+ currency: String?,
3385
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
3386
+ external_price_id: String?,
3387
+ fixed_price_quantity: Float?,
3388
+ invoice_grouping_key: String?,
3389
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3390
+ license_type_id: String?,
3391
+ metadata: ::Hash[Symbol, String?]?,
3392
+ reference_id: String?
3393
+ }
3394
+
3395
+ type cadence =
3396
+ :annual
3397
+ | :semi_annual
3398
+ | :monthly
3399
+ | :quarterly
3400
+ | :one_time
3401
+ | :custom
3402
+
3403
+ module Cadence
3404
+ extend Orb::Internal::Type::Enum
3405
+
3406
+ ANNUAL: :annual
3407
+ SEMI_ANNUAL: :semi_annual
3408
+ MONTHLY: :monthly
3409
+ QUARTERLY: :quarterly
3410
+ ONE_TIME: :one_time
3411
+ CUSTOM: :custom
3412
+
3413
+ def self?.values: -> ::Array[Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence]
3414
+ end
3415
+
3416
+ type tiered_matrix_with_allocation_config =
3417
+ {
3418
+ allocation: String,
3419
+ default_unit_amount: String,
3420
+ dimensions: ::Array[String],
3421
+ tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3422
+ }
3423
+
3424
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
3425
+ attr_accessor allocation: String
3426
+
3427
+ attr_accessor default_unit_amount: String
3428
+
3429
+ attr_accessor dimensions: ::Array[String]
3430
+
3431
+ attr_accessor tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3432
+
3433
+ def initialize: (
3434
+ allocation: String,
3435
+ default_unit_amount: String,
3436
+ dimensions: ::Array[String],
3437
+ tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3438
+ ) -> void
3439
+
3440
+ def to_hash: -> {
3441
+ allocation: String,
3442
+ default_unit_amount: String,
3443
+ dimensions: ::Array[String],
3444
+ tiers: ::Array[Orb::BetaCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3445
+ }
3446
+
3447
+ type tier =
3448
+ {
3449
+ dimension_values: ::Array[String],
3450
+ tier_lower_bound: String,
3451
+ unit_amount: String
3452
+ }
3453
+
3454
+ class Tier < Orb::Internal::Type::BaseModel
3455
+ attr_accessor dimension_values: ::Array[String]
3456
+
3457
+ attr_accessor tier_lower_bound: String
3458
+
3459
+ attr_accessor unit_amount: String
3460
+
3461
+ def initialize: (
3462
+ dimension_values: ::Array[String],
3463
+ tier_lower_bound: String,
3464
+ unit_amount: String
3465
+ ) -> void
3466
+
3467
+ def to_hash: -> {
3468
+ dimension_values: ::Array[String],
3469
+ tier_lower_bound: String,
3470
+ unit_amount: String
3471
+ }
3472
+ end
3473
+ end
3474
+ end
3475
+
3100
3476
  type matrix_with_threshold_discounts =
3101
3477
  {
3102
3478
  cadence: Orb::Models::BetaCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::cadence,
@@ -284,6 +284,7 @@ module Orb
284
284
  | Orb::NewPlanPackageWithAllocationPrice
285
285
  | Orb::NewPlanUnitWithPercentPrice
286
286
  | Orb::NewPlanMatrixWithAllocationPrice
287
+ | Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation
287
288
  | Orb::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts
288
289
  | Orb::PlanCreateParams::Price::Price::TieredWithProration
289
290
  | Orb::NewPlanUnitWithProrationPrice
@@ -673,6 +674,193 @@ module Orb
673
674
  end
674
675
  end
675
676
 
677
+ type tiered_matrix_with_allocation =
678
+ {
679
+ cadence: Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::cadence,
680
+ item_id: String,
681
+ model_type: :tiered_matrix_with_allocation,
682
+ name: String,
683
+ tiered_matrix_with_allocation_config: Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
684
+ billable_metric_id: String?,
685
+ billed_in_advance: bool?,
686
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
687
+ conversion_rate: Float?,
688
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
689
+ currency: String?,
690
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
691
+ external_price_id: String?,
692
+ fixed_price_quantity: Float?,
693
+ invoice_grouping_key: String?,
694
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
695
+ license_type_id: String?,
696
+ metadata: ::Hash[Symbol, String?]?,
697
+ reference_id: String?
698
+ }
699
+
700
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
701
+ attr_accessor cadence: Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::cadence
702
+
703
+ attr_accessor item_id: String
704
+
705
+ attr_accessor model_type: :tiered_matrix_with_allocation
706
+
707
+ attr_accessor name: String
708
+
709
+ attr_accessor tiered_matrix_with_allocation_config: Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
710
+
711
+ attr_accessor billable_metric_id: String?
712
+
713
+ attr_accessor billed_in_advance: bool?
714
+
715
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
716
+
717
+ attr_accessor conversion_rate: Float?
718
+
719
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
720
+
721
+ attr_accessor currency: String?
722
+
723
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
724
+
725
+ attr_accessor external_price_id: String?
726
+
727
+ attr_accessor fixed_price_quantity: Float?
728
+
729
+ attr_accessor invoice_grouping_key: String?
730
+
731
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
732
+
733
+ attr_accessor license_type_id: String?
734
+
735
+ attr_accessor metadata: ::Hash[Symbol, String?]?
736
+
737
+ attr_accessor reference_id: String?
738
+
739
+ def initialize: (
740
+ cadence: Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::cadence,
741
+ item_id: String,
742
+ name: String,
743
+ tiered_matrix_with_allocation_config: Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
744
+ ?billable_metric_id: String?,
745
+ ?billed_in_advance: bool?,
746
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
747
+ ?conversion_rate: Float?,
748
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
749
+ ?currency: String?,
750
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
751
+ ?external_price_id: String?,
752
+ ?fixed_price_quantity: Float?,
753
+ ?invoice_grouping_key: String?,
754
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
755
+ ?license_type_id: String?,
756
+ ?metadata: ::Hash[Symbol, String?]?,
757
+ ?reference_id: String?,
758
+ ?model_type: :tiered_matrix_with_allocation
759
+ ) -> void
760
+
761
+ def to_hash: -> {
762
+ cadence: Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::cadence,
763
+ item_id: String,
764
+ model_type: :tiered_matrix_with_allocation,
765
+ name: String,
766
+ tiered_matrix_with_allocation_config: Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
767
+ billable_metric_id: String?,
768
+ billed_in_advance: bool?,
769
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
770
+ conversion_rate: Float?,
771
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
772
+ currency: String?,
773
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
774
+ external_price_id: String?,
775
+ fixed_price_quantity: Float?,
776
+ invoice_grouping_key: String?,
777
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
778
+ license_type_id: String?,
779
+ metadata: ::Hash[Symbol, String?]?,
780
+ reference_id: String?
781
+ }
782
+
783
+ type cadence =
784
+ :annual
785
+ | :semi_annual
786
+ | :monthly
787
+ | :quarterly
788
+ | :one_time
789
+ | :custom
790
+
791
+ module Cadence
792
+ extend Orb::Internal::Type::Enum
793
+
794
+ ANNUAL: :annual
795
+ SEMI_ANNUAL: :semi_annual
796
+ MONTHLY: :monthly
797
+ QUARTERLY: :quarterly
798
+ ONE_TIME: :one_time
799
+ CUSTOM: :custom
800
+
801
+ def self?.values: -> ::Array[Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::cadence]
802
+ end
803
+
804
+ type tiered_matrix_with_allocation_config =
805
+ {
806
+ allocation: String,
807
+ default_unit_amount: String,
808
+ dimensions: ::Array[String],
809
+ tiers: ::Array[Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
810
+ }
811
+
812
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
813
+ attr_accessor allocation: String
814
+
815
+ attr_accessor default_unit_amount: String
816
+
817
+ attr_accessor dimensions: ::Array[String]
818
+
819
+ attr_accessor tiers: ::Array[Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
820
+
821
+ def initialize: (
822
+ allocation: String,
823
+ default_unit_amount: String,
824
+ dimensions: ::Array[String],
825
+ tiers: ::Array[Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
826
+ ) -> void
827
+
828
+ def to_hash: -> {
829
+ allocation: String,
830
+ default_unit_amount: String,
831
+ dimensions: ::Array[String],
832
+ tiers: ::Array[Orb::PlanCreateParams::Price::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
833
+ }
834
+
835
+ type tier =
836
+ {
837
+ dimension_values: ::Array[String],
838
+ tier_lower_bound: String,
839
+ unit_amount: String
840
+ }
841
+
842
+ class Tier < Orb::Internal::Type::BaseModel
843
+ attr_accessor dimension_values: ::Array[String]
844
+
845
+ attr_accessor tier_lower_bound: String
846
+
847
+ attr_accessor unit_amount: String
848
+
849
+ def initialize: (
850
+ dimension_values: ::Array[String],
851
+ tier_lower_bound: String,
852
+ unit_amount: String
853
+ ) -> void
854
+
855
+ def to_hash: -> {
856
+ dimension_values: ::Array[String],
857
+ tier_lower_bound: String,
858
+ unit_amount: String
859
+ }
860
+ end
861
+ end
862
+ end
863
+
676
864
  type matrix_with_threshold_discounts =
677
865
  {
678
866
  cadence: Orb::Models::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts::cadence,