orb-billing 1.29.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -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/customers/credits/top_ups.rb +14 -2
  23. data/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rb +4 -1
  24. data/lib/orb/resources/dimensional_price_groups.rb +11 -2
  25. data/lib/orb/resources/items.rb +3 -1
  26. data/lib/orb/resources/plans/migrations.rb +3 -1
  27. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  28. data/lib/orb/resources/prices.rb +5 -5
  29. data/lib/orb/version.rb +1 -1
  30. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2737 -1811
  31. data/rbi/orb/models/beta_create_plan_version_params.rbi +2745 -1819
  32. data/rbi/orb/models/changed_subscription_resources.rbi +1 -0
  33. data/rbi/orb/models/invoice.rbi +1 -0
  34. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +1 -0
  35. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  36. data/rbi/orb/models/per_price_cost.rbi +1 -0
  37. data/rbi/orb/models/plan.rbi +1 -0
  38. data/rbi/orb/models/plan_create_params.rbi +463 -0
  39. data/rbi/orb/models/plan_version.rbi +1 -0
  40. data/rbi/orb/models/price.rbi +805 -0
  41. data/rbi/orb/models/price_create_params.rbi +451 -0
  42. data/rbi/orb/models/price_evaluate_multiple_params.rbi +451 -0
  43. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +451 -0
  44. data/rbi/orb/models/price_interval.rbi +1 -0
  45. data/rbi/orb/models/subscription_create_params.rbi +2660 -1734
  46. data/rbi/orb/models/subscription_price_intervals_params.rbi +451 -0
  47. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2660 -1734
  48. data/rbi/orb/resources/customers/credits/top_ups.rbi +14 -2
  49. data/rbi/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +4 -1
  50. data/rbi/orb/resources/dimensional_price_groups.rbi +11 -2
  51. data/rbi/orb/resources/items.rbi +3 -1
  52. data/rbi/orb/resources/plans/migrations.rbi +3 -1
  53. data/rbi/orb/resources/prices.rbi +1 -0
  54. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +376 -0
  55. data/sig/orb/models/beta_create_plan_version_params.rbs +376 -0
  56. data/sig/orb/models/plan_create_params.rbs +188 -0
  57. data/sig/orb/models/price.rbs +332 -0
  58. data/sig/orb/models/price_create_params.rbs +178 -0
  59. data/sig/orb/models/price_evaluate_multiple_params.rbs +183 -0
  60. data/sig/orb/models/price_evaluate_preview_events_params.rbs +183 -0
  61. data/sig/orb/models/subscription_create_params.rbs +376 -0
  62. data/sig/orb/models/subscription_price_intervals_params.rbs +183 -0
  63. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +376 -0
  64. metadata +1 -1
@@ -58,7 +58,13 @@ module Orb
58
58
  )
59
59
  end
60
60
 
61
- # List top-ups
61
+ # This endpoint returns a list of a customer's active top-ups; a top-up that has
62
+ # been deactivated is not included. While a top-up is active, the customer's
63
+ # balance is increased by the top-up amount whenever it falls to the top-up's
64
+ # threshold.
65
+ #
66
+ # The response also includes pagination_metadata, which lets the caller retrieve
67
+ # the next page of results if they exist.
62
68
  sig do
63
69
  params(
64
70
  customer_id: String,
@@ -163,7 +169,13 @@ module Orb
163
169
  )
164
170
  end
165
171
 
166
- # List top-ups by external ID
172
+ # This endpoint returns a list of a customer's active top-ups; a top-up that has
173
+ # been deactivated is not included. While a top-up is active, the customer's
174
+ # balance is increased by the top-up amount whenever it falls to the top-up's
175
+ # threshold.
176
+ #
177
+ # The response also includes pagination_metadata, which lets the caller retrieve
178
+ # the next page of results if they exist.
167
179
  sig do
168
180
  params(
169
181
  external_customer_id: String,
@@ -4,7 +4,10 @@ module Orb
4
4
  module Resources
5
5
  class DimensionalPriceGroups
6
6
  class ExternalDimensionalPriceGroupID
7
- # Fetch dimensional price group by external ID
7
+ # This endpoint returns a dimensional price group identified by the external ID
8
+ # you assigned it, rather than by its Orb ID. A dimensional price group partitions
9
+ # the result of a billable metric by a set of dimensions, and the prices in the
10
+ # group specify which partition their usage is derived from.
8
11
  sig do
9
12
  params(
10
13
  external_dimensional_price_group_id: String,
@@ -42,7 +42,10 @@ module Orb
42
42
  )
43
43
  end
44
44
 
45
- # Fetch dimensional price group
45
+ # This endpoint returns a dimensional price group identified by its ID. A
46
+ # dimensional price group partitions the result of a billable metric by a set of
47
+ # dimensions, and the prices in the group specify which partition their usage is
48
+ # derived from.
46
49
  sig do
47
50
  params(
48
51
  dimensional_price_group_id: String,
@@ -78,7 +81,13 @@ module Orb
78
81
  )
79
82
  end
80
83
 
81
- # List dimensional price groups
84
+ # This endpoint returns a list of all dimensional price groups for an account. A
85
+ # dimensional price group partitions the result of a billable metric by a set of
86
+ # dimensions, and the prices in the group specify which partition their usage is
87
+ # derived from.
88
+ #
89
+ # The response also includes pagination_metadata, which lets the caller retrieve
90
+ # the next page of results if they exist.
82
91
  sig do
83
92
  params(
84
93
  cursor: T.nilable(String),
@@ -69,7 +69,9 @@ module Orb
69
69
  )
70
70
  end
71
71
 
72
- # Archive item
72
+ # This endpoint archives an item, and cascades to archive every price for that
73
+ # item that is still active. An item that is already archived cannot be archived
74
+ # again.
73
75
  sig do
74
76
  params(
75
77
  item_id: String,
@@ -8,7 +8,9 @@ module Orb
8
8
  # subscription. You can see more about how to configure prices in the
9
9
  # [Price resource](/reference/price).
10
10
  class Migrations
11
- # Fetch migration
11
+ # This endpoint returns a migration for a plan, identified by its ID. A migration
12
+ # moves a plan's subscriptions onto a new version of that plan; the response
13
+ # reports the effective time it is scheduled for and its current status.
12
14
  sig do
13
15
  params(
14
16
  migration_id: String,
@@ -55,6 +55,7 @@ module Orb
55
55
  Orb::NewFloatingPackageWithAllocationPrice::OrHash,
56
56
  Orb::NewFloatingUnitWithPercentPrice::OrHash,
57
57
  Orb::NewFloatingMatrixWithAllocationPrice::OrHash,
58
+ Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::OrHash,
58
59
  Orb::PriceCreateParams::Body::MatrixWithThresholdDiscounts::OrHash,
59
60
  Orb::NewFloatingTieredWithProrationPrice::OrHash,
60
61
  Orb::NewFloatingUnitWithProrationPrice::OrHash,
@@ -480,6 +480,7 @@ module Orb
480
480
  | Orb::NewPlanPackageWithAllocationPrice
481
481
  | Orb::NewPlanUnitWithPercentPrice
482
482
  | Orb::NewPlanMatrixWithAllocationPrice
483
+ | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation
483
484
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts
484
485
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredWithProration
485
486
  | Orb::NewPlanUnitWithProrationPrice
@@ -872,6 +873,193 @@ module Orb
872
873
  end
873
874
  end
874
875
 
876
+ type tiered_matrix_with_allocation =
877
+ {
878
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence,
879
+ item_id: String,
880
+ model_type: :tiered_matrix_with_allocation,
881
+ name: String,
882
+ tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
883
+ billable_metric_id: String?,
884
+ billed_in_advance: bool?,
885
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
886
+ conversion_rate: Float?,
887
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
888
+ currency: String?,
889
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
890
+ external_price_id: String?,
891
+ fixed_price_quantity: Float?,
892
+ invoice_grouping_key: String?,
893
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
894
+ license_type_id: String?,
895
+ metadata: ::Hash[Symbol, String?]?,
896
+ reference_id: String?
897
+ }
898
+
899
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
900
+ attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence
901
+
902
+ attr_accessor item_id: String
903
+
904
+ attr_accessor model_type: :tiered_matrix_with_allocation
905
+
906
+ attr_accessor name: String
907
+
908
+ attr_accessor tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
909
+
910
+ attr_accessor billable_metric_id: String?
911
+
912
+ attr_accessor billed_in_advance: bool?
913
+
914
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
915
+
916
+ attr_accessor conversion_rate: Float?
917
+
918
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
919
+
920
+ attr_accessor currency: String?
921
+
922
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
923
+
924
+ attr_accessor external_price_id: String?
925
+
926
+ attr_accessor fixed_price_quantity: Float?
927
+
928
+ attr_accessor invoice_grouping_key: String?
929
+
930
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
931
+
932
+ attr_accessor license_type_id: String?
933
+
934
+ attr_accessor metadata: ::Hash[Symbol, String?]?
935
+
936
+ attr_accessor reference_id: String?
937
+
938
+ def initialize: (
939
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence,
940
+ item_id: String,
941
+ name: String,
942
+ tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
943
+ ?billable_metric_id: String?,
944
+ ?billed_in_advance: bool?,
945
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
946
+ ?conversion_rate: Float?,
947
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
948
+ ?currency: String?,
949
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
950
+ ?external_price_id: String?,
951
+ ?fixed_price_quantity: Float?,
952
+ ?invoice_grouping_key: String?,
953
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
954
+ ?license_type_id: String?,
955
+ ?metadata: ::Hash[Symbol, String?]?,
956
+ ?reference_id: String?,
957
+ ?model_type: :tiered_matrix_with_allocation
958
+ ) -> void
959
+
960
+ def to_hash: -> {
961
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence,
962
+ item_id: String,
963
+ model_type: :tiered_matrix_with_allocation,
964
+ name: String,
965
+ tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
966
+ billable_metric_id: String?,
967
+ billed_in_advance: bool?,
968
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
969
+ conversion_rate: Float?,
970
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
971
+ currency: String?,
972
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
973
+ external_price_id: String?,
974
+ fixed_price_quantity: Float?,
975
+ invoice_grouping_key: String?,
976
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
977
+ license_type_id: String?,
978
+ metadata: ::Hash[Symbol, String?]?,
979
+ reference_id: String?
980
+ }
981
+
982
+ type cadence =
983
+ :annual
984
+ | :semi_annual
985
+ | :monthly
986
+ | :quarterly
987
+ | :one_time
988
+ | :custom
989
+
990
+ module Cadence
991
+ extend Orb::Internal::Type::Enum
992
+
993
+ ANNUAL: :annual
994
+ SEMI_ANNUAL: :semi_annual
995
+ MONTHLY: :monthly
996
+ QUARTERLY: :quarterly
997
+ ONE_TIME: :one_time
998
+ CUSTOM: :custom
999
+
1000
+ def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::cadence]
1001
+ end
1002
+
1003
+ type tiered_matrix_with_allocation_config =
1004
+ {
1005
+ allocation: String,
1006
+ default_unit_amount: String,
1007
+ dimensions: ::Array[String],
1008
+ tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1009
+ }
1010
+
1011
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
1012
+ attr_accessor allocation: String
1013
+
1014
+ attr_accessor default_unit_amount: String
1015
+
1016
+ attr_accessor dimensions: ::Array[String]
1017
+
1018
+ attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1019
+
1020
+ def initialize: (
1021
+ allocation: String,
1022
+ default_unit_amount: String,
1023
+ dimensions: ::Array[String],
1024
+ tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1025
+ ) -> void
1026
+
1027
+ def to_hash: -> {
1028
+ allocation: String,
1029
+ default_unit_amount: String,
1030
+ dimensions: ::Array[String],
1031
+ tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
1032
+ }
1033
+
1034
+ type tier =
1035
+ {
1036
+ dimension_values: ::Array[String],
1037
+ tier_lower_bound: String,
1038
+ unit_amount: String
1039
+ }
1040
+
1041
+ class Tier < Orb::Internal::Type::BaseModel
1042
+ attr_accessor dimension_values: ::Array[String]
1043
+
1044
+ attr_accessor tier_lower_bound: String
1045
+
1046
+ attr_accessor unit_amount: String
1047
+
1048
+ def initialize: (
1049
+ dimension_values: ::Array[String],
1050
+ tier_lower_bound: String,
1051
+ unit_amount: String
1052
+ ) -> void
1053
+
1054
+ def to_hash: -> {
1055
+ dimension_values: ::Array[String],
1056
+ tier_lower_bound: String,
1057
+ unit_amount: String
1058
+ }
1059
+ end
1060
+ end
1061
+ end
1062
+
875
1063
  type matrix_with_threshold_discounts =
876
1064
  {
877
1065
  cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::MatrixWithThresholdDiscounts::cadence,
@@ -2725,6 +2913,7 @@ module Orb
2725
2913
  | Orb::NewPlanPackageWithAllocationPrice
2726
2914
  | Orb::NewPlanUnitWithPercentPrice
2727
2915
  | Orb::NewPlanMatrixWithAllocationPrice
2916
+ | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation
2728
2917
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts
2729
2918
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredWithProration
2730
2919
  | Orb::NewPlanUnitWithProrationPrice
@@ -3117,6 +3306,193 @@ module Orb
3117
3306
  end
3118
3307
  end
3119
3308
 
3309
+ type tiered_matrix_with_allocation =
3310
+ {
3311
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence,
3312
+ item_id: String,
3313
+ model_type: :tiered_matrix_with_allocation,
3314
+ name: String,
3315
+ tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
3316
+ billable_metric_id: String?,
3317
+ billed_in_advance: bool?,
3318
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3319
+ conversion_rate: Float?,
3320
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
3321
+ currency: String?,
3322
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
3323
+ external_price_id: String?,
3324
+ fixed_price_quantity: Float?,
3325
+ invoice_grouping_key: String?,
3326
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3327
+ license_type_id: String?,
3328
+ metadata: ::Hash[Symbol, String?]?,
3329
+ reference_id: String?
3330
+ }
3331
+
3332
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
3333
+ attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence
3334
+
3335
+ attr_accessor item_id: String
3336
+
3337
+ attr_accessor model_type: :tiered_matrix_with_allocation
3338
+
3339
+ attr_accessor name: String
3340
+
3341
+ attr_accessor tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
3342
+
3343
+ attr_accessor billable_metric_id: String?
3344
+
3345
+ attr_accessor billed_in_advance: bool?
3346
+
3347
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
3348
+
3349
+ attr_accessor conversion_rate: Float?
3350
+
3351
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
3352
+
3353
+ attr_accessor currency: String?
3354
+
3355
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
3356
+
3357
+ attr_accessor external_price_id: String?
3358
+
3359
+ attr_accessor fixed_price_quantity: Float?
3360
+
3361
+ attr_accessor invoice_grouping_key: String?
3362
+
3363
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
3364
+
3365
+ attr_accessor license_type_id: String?
3366
+
3367
+ attr_accessor metadata: ::Hash[Symbol, String?]?
3368
+
3369
+ attr_accessor reference_id: String?
3370
+
3371
+ def initialize: (
3372
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence,
3373
+ item_id: String,
3374
+ name: String,
3375
+ tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
3376
+ ?billable_metric_id: String?,
3377
+ ?billed_in_advance: bool?,
3378
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3379
+ ?conversion_rate: Float?,
3380
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
3381
+ ?currency: String?,
3382
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
3383
+ ?external_price_id: String?,
3384
+ ?fixed_price_quantity: Float?,
3385
+ ?invoice_grouping_key: String?,
3386
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3387
+ ?license_type_id: String?,
3388
+ ?metadata: ::Hash[Symbol, String?]?,
3389
+ ?reference_id: String?,
3390
+ ?model_type: :tiered_matrix_with_allocation
3391
+ ) -> void
3392
+
3393
+ def to_hash: -> {
3394
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence,
3395
+ item_id: String,
3396
+ model_type: :tiered_matrix_with_allocation,
3397
+ name: String,
3398
+ tiered_matrix_with_allocation_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
3399
+ billable_metric_id: String?,
3400
+ billed_in_advance: bool?,
3401
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3402
+ conversion_rate: Float?,
3403
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
3404
+ currency: String?,
3405
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
3406
+ external_price_id: String?,
3407
+ fixed_price_quantity: Float?,
3408
+ invoice_grouping_key: String?,
3409
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
3410
+ license_type_id: String?,
3411
+ metadata: ::Hash[Symbol, String?]?,
3412
+ reference_id: String?
3413
+ }
3414
+
3415
+ type cadence =
3416
+ :annual
3417
+ | :semi_annual
3418
+ | :monthly
3419
+ | :quarterly
3420
+ | :one_time
3421
+ | :custom
3422
+
3423
+ module Cadence
3424
+ extend Orb::Internal::Type::Enum
3425
+
3426
+ ANNUAL: :annual
3427
+ SEMI_ANNUAL: :semi_annual
3428
+ MONTHLY: :monthly
3429
+ QUARTERLY: :quarterly
3430
+ ONE_TIME: :one_time
3431
+ CUSTOM: :custom
3432
+
3433
+ def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::cadence]
3434
+ end
3435
+
3436
+ type tiered_matrix_with_allocation_config =
3437
+ {
3438
+ allocation: String,
3439
+ default_unit_amount: String,
3440
+ dimensions: ::Array[String],
3441
+ tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3442
+ }
3443
+
3444
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
3445
+ attr_accessor allocation: String
3446
+
3447
+ attr_accessor default_unit_amount: String
3448
+
3449
+ attr_accessor dimensions: ::Array[String]
3450
+
3451
+ attr_accessor tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3452
+
3453
+ def initialize: (
3454
+ allocation: String,
3455
+ default_unit_amount: String,
3456
+ dimensions: ::Array[String],
3457
+ tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3458
+ ) -> void
3459
+
3460
+ def to_hash: -> {
3461
+ allocation: String,
3462
+ default_unit_amount: String,
3463
+ dimensions: ::Array[String],
3464
+ tiers: ::Array[Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
3465
+ }
3466
+
3467
+ type tier =
3468
+ {
3469
+ dimension_values: ::Array[String],
3470
+ tier_lower_bound: String,
3471
+ unit_amount: String
3472
+ }
3473
+
3474
+ class Tier < Orb::Internal::Type::BaseModel
3475
+ attr_accessor dimension_values: ::Array[String]
3476
+
3477
+ attr_accessor tier_lower_bound: String
3478
+
3479
+ attr_accessor unit_amount: String
3480
+
3481
+ def initialize: (
3482
+ dimension_values: ::Array[String],
3483
+ tier_lower_bound: String,
3484
+ unit_amount: String
3485
+ ) -> void
3486
+
3487
+ def to_hash: -> {
3488
+ dimension_values: ::Array[String],
3489
+ tier_lower_bound: String,
3490
+ unit_amount: String
3491
+ }
3492
+ end
3493
+ end
3494
+ end
3495
+
3120
3496
  type matrix_with_threshold_discounts =
3121
3497
  {
3122
3498
  cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::cadence,