orb-billing 1.30.0 → 1.32.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 (69) 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 +3 -2
  7. data/lib/orb/models/customers/balance_transaction_create_response.rb +1 -0
  8. data/lib/orb/models/customers/balance_transaction_list_response.rb +1 -0
  9. data/lib/orb/models/invoice.rb +3 -2
  10. data/lib/orb/models/invoice_fetch_upcoming_response.rb +3 -2
  11. data/lib/orb/models/invoice_issue_summary_response.rb +1 -0
  12. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  13. data/lib/orb/models/invoice_list_summary_response.rb +1 -0
  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 +278 -3
  17. data/lib/orb/models/plan_version.rb +2 -2
  18. data/lib/orb/models/price.rb +450 -1
  19. data/lib/orb/models/price_create_params.rb +263 -3
  20. data/lib/orb/models/price_evaluate_multiple_params.rb +273 -3
  21. data/lib/orb/models/price_evaluate_preview_events_params.rb +273 -3
  22. data/lib/orb/models/price_interval.rb +2 -2
  23. data/lib/orb/models/subscription_create_params.rb +566 -6
  24. data/lib/orb/models/subscription_price_intervals_params.rb +273 -3
  25. data/lib/orb/models/subscription_schedule_plan_change_params.rb +566 -6
  26. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  27. data/lib/orb/resources/prices.rb +5 -5
  28. data/lib/orb/version.rb +1 -1
  29. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2737 -1811
  30. data/rbi/orb/models/beta_create_plan_version_params.rbi +2745 -1819
  31. data/rbi/orb/models/changed_subscription_resources.rbi +6 -0
  32. data/rbi/orb/models/customers/balance_transaction_create_response.rbi +5 -0
  33. data/rbi/orb/models/customers/balance_transaction_list_response.rbi +5 -0
  34. data/rbi/orb/models/invoice.rbi +6 -0
  35. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +6 -0
  36. data/rbi/orb/models/invoice_issue_summary_response.rbi +5 -0
  37. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  38. data/rbi/orb/models/invoice_list_summary_response.rbi +5 -0
  39. data/rbi/orb/models/per_price_cost.rbi +1 -0
  40. data/rbi/orb/models/plan.rbi +1 -0
  41. data/rbi/orb/models/plan_create_params.rbi +463 -0
  42. data/rbi/orb/models/plan_version.rbi +1 -0
  43. data/rbi/orb/models/price.rbi +805 -0
  44. data/rbi/orb/models/price_create_params.rbi +451 -0
  45. data/rbi/orb/models/price_evaluate_multiple_params.rbi +451 -0
  46. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +451 -0
  47. data/rbi/orb/models/price_interval.rbi +1 -0
  48. data/rbi/orb/models/subscription_create_params.rbi +2660 -1734
  49. data/rbi/orb/models/subscription_price_intervals_params.rbi +451 -0
  50. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2660 -1734
  51. data/rbi/orb/resources/prices.rbi +1 -0
  52. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +376 -0
  53. data/sig/orb/models/beta_create_plan_version_params.rbs +376 -0
  54. data/sig/orb/models/changed_subscription_resources.rbs +2 -0
  55. data/sig/orb/models/customers/balance_transaction_create_response.rbs +2 -0
  56. data/sig/orb/models/customers/balance_transaction_list_response.rbs +2 -0
  57. data/sig/orb/models/invoice.rbs +2 -0
  58. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +2 -0
  59. data/sig/orb/models/invoice_issue_summary_response.rbs +2 -0
  60. data/sig/orb/models/invoice_list_summary_response.rbs +2 -0
  61. data/sig/orb/models/plan_create_params.rbs +188 -0
  62. data/sig/orb/models/price.rbs +332 -0
  63. data/sig/orb/models/price_create_params.rbs +178 -0
  64. data/sig/orb/models/price_evaluate_multiple_params.rbs +183 -0
  65. data/sig/orb/models/price_evaluate_preview_events_params.rbs +183 -0
  66. data/sig/orb/models/subscription_create_params.rbs +376 -0
  67. data/sig/orb/models/subscription_price_intervals_params.rbs +183 -0
  68. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +376 -0
  69. metadata +1 -1
@@ -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,
@@ -16,6 +16,7 @@ module Orb
16
16
  | Orb::Price::PackageWithAllocation
17
17
  | Orb::Price::UnitWithPercent
18
18
  | Orb::Price::MatrixWithAllocation
19
+ | Orb::Price::TieredMatrixWithAllocation
19
20
  | Orb::Price::MatrixWithThresholdDiscounts
20
21
  | Orb::Price::TieredWithProration
21
22
  | Orb::Price::UnitWithProration
@@ -4473,6 +4474,337 @@ module Orb
4473
4474
  end
4474
4475
  end
4475
4476
 
4477
+ type tiered_matrix_with_allocation =
4478
+ {
4479
+ id: String,
4480
+ billable_metric: Orb::BillableMetricTiny?,
4481
+ billing_cycle_configuration: Orb::BillingCycleConfiguration,
4482
+ billing_mode: Orb::Models::Price::TieredMatrixWithAllocation::billing_mode,
4483
+ cadence: Orb::Models::Price::TieredMatrixWithAllocation::cadence,
4484
+ composite_price_filters: ::Array[Orb::Price::TieredMatrixWithAllocation::CompositePriceFilter]?,
4485
+ conversion_rate: Float?,
4486
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
4487
+ created_at: Time,
4488
+ credit_allocation: Orb::Allocation?,
4489
+ currency: String,
4490
+ discount: Orb::Models::discount?,
4491
+ external_price_id: String?,
4492
+ fixed_price_quantity: Float?,
4493
+ invoice_grouping_key: String?,
4494
+ invoicing_cycle_configuration: Orb::BillingCycleConfiguration?,
4495
+ item: Orb::ItemSlim,
4496
+ maximum: Orb::Maximum?,
4497
+ maximum_amount: String?,
4498
+ metadata: ::Hash[Symbol, String],
4499
+ minimum: Orb::Minimum?,
4500
+ minimum_amount: String?,
4501
+ model_type: :tiered_matrix_with_allocation,
4502
+ name: String,
4503
+ plan_phase_order: Integer?,
4504
+ price_type: Orb::Models::Price::TieredMatrixWithAllocation::price_type,
4505
+ replaces_price_id: String?,
4506
+ tiered_matrix_with_allocation_config: Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
4507
+ dimensional_price_configuration: Orb::DimensionalPriceConfiguration?,
4508
+ license_type: Orb::Price::TieredMatrixWithAllocation::LicenseType?
4509
+ }
4510
+
4511
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
4512
+ attr_accessor id: String
4513
+
4514
+ attr_accessor billable_metric: Orb::BillableMetricTiny?
4515
+
4516
+ attr_accessor billing_cycle_configuration: Orb::BillingCycleConfiguration
4517
+
4518
+ attr_accessor billing_mode: Orb::Models::Price::TieredMatrixWithAllocation::billing_mode
4519
+
4520
+ attr_accessor cadence: Orb::Models::Price::TieredMatrixWithAllocation::cadence
4521
+
4522
+ attr_accessor composite_price_filters: ::Array[Orb::Price::TieredMatrixWithAllocation::CompositePriceFilter]?
4523
+
4524
+ attr_accessor conversion_rate: Float?
4525
+
4526
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
4527
+
4528
+ attr_accessor created_at: Time
4529
+
4530
+ attr_accessor credit_allocation: Orb::Allocation?
4531
+
4532
+ attr_accessor currency: String
4533
+
4534
+ attr_accessor discount: Orb::Models::discount?
4535
+
4536
+ attr_accessor external_price_id: String?
4537
+
4538
+ attr_accessor fixed_price_quantity: Float?
4539
+
4540
+ attr_accessor invoice_grouping_key: String?
4541
+
4542
+ attr_accessor invoicing_cycle_configuration: Orb::BillingCycleConfiguration?
4543
+
4544
+ attr_accessor item: Orb::ItemSlim
4545
+
4546
+ attr_accessor maximum: Orb::Maximum?
4547
+
4548
+ attr_accessor maximum_amount: String?
4549
+
4550
+ attr_accessor metadata: ::Hash[Symbol, String]
4551
+
4552
+ attr_accessor minimum: Orb::Minimum?
4553
+
4554
+ attr_accessor minimum_amount: String?
4555
+
4556
+ attr_accessor model_type: :tiered_matrix_with_allocation
4557
+
4558
+ attr_accessor name: String
4559
+
4560
+ attr_accessor plan_phase_order: Integer?
4561
+
4562
+ attr_accessor price_type: Orb::Models::Price::TieredMatrixWithAllocation::price_type
4563
+
4564
+ attr_accessor replaces_price_id: String?
4565
+
4566
+ attr_accessor tiered_matrix_with_allocation_config: Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
4567
+
4568
+ attr_accessor dimensional_price_configuration: Orb::DimensionalPriceConfiguration?
4569
+
4570
+ attr_accessor license_type: Orb::Price::TieredMatrixWithAllocation::LicenseType?
4571
+
4572
+ def initialize: (
4573
+ id: String,
4574
+ billable_metric: Orb::BillableMetricTiny?,
4575
+ billing_cycle_configuration: Orb::BillingCycleConfiguration,
4576
+ billing_mode: Orb::Models::Price::TieredMatrixWithAllocation::billing_mode,
4577
+ cadence: Orb::Models::Price::TieredMatrixWithAllocation::cadence,
4578
+ composite_price_filters: ::Array[Orb::Price::TieredMatrixWithAllocation::CompositePriceFilter]?,
4579
+ conversion_rate: Float?,
4580
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
4581
+ created_at: Time,
4582
+ credit_allocation: Orb::Allocation?,
4583
+ currency: String,
4584
+ discount: Orb::Models::discount?,
4585
+ external_price_id: String?,
4586
+ fixed_price_quantity: Float?,
4587
+ invoice_grouping_key: String?,
4588
+ invoicing_cycle_configuration: Orb::BillingCycleConfiguration?,
4589
+ item: Orb::ItemSlim,
4590
+ maximum: Orb::Maximum?,
4591
+ maximum_amount: String?,
4592
+ metadata: ::Hash[Symbol, String],
4593
+ minimum: Orb::Minimum?,
4594
+ minimum_amount: String?,
4595
+ name: String,
4596
+ plan_phase_order: Integer?,
4597
+ price_type: Orb::Models::Price::TieredMatrixWithAllocation::price_type,
4598
+ replaces_price_id: String?,
4599
+ tiered_matrix_with_allocation_config: Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
4600
+ ?dimensional_price_configuration: Orb::DimensionalPriceConfiguration?,
4601
+ ?license_type: Orb::Price::TieredMatrixWithAllocation::LicenseType?,
4602
+ ?model_type: :tiered_matrix_with_allocation
4603
+ ) -> void
4604
+
4605
+ def to_hash: -> {
4606
+ id: String,
4607
+ billable_metric: Orb::BillableMetricTiny?,
4608
+ billing_cycle_configuration: Orb::BillingCycleConfiguration,
4609
+ billing_mode: Orb::Models::Price::TieredMatrixWithAllocation::billing_mode,
4610
+ cadence: Orb::Models::Price::TieredMatrixWithAllocation::cadence,
4611
+ composite_price_filters: ::Array[Orb::Price::TieredMatrixWithAllocation::CompositePriceFilter]?,
4612
+ conversion_rate: Float?,
4613
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
4614
+ created_at: Time,
4615
+ credit_allocation: Orb::Allocation?,
4616
+ currency: String,
4617
+ discount: Orb::Models::discount?,
4618
+ external_price_id: String?,
4619
+ fixed_price_quantity: Float?,
4620
+ invoice_grouping_key: String?,
4621
+ invoicing_cycle_configuration: Orb::BillingCycleConfiguration?,
4622
+ item: Orb::ItemSlim,
4623
+ maximum: Orb::Maximum?,
4624
+ maximum_amount: String?,
4625
+ metadata: ::Hash[Symbol, String],
4626
+ minimum: Orb::Minimum?,
4627
+ minimum_amount: String?,
4628
+ model_type: :tiered_matrix_with_allocation,
4629
+ name: String,
4630
+ plan_phase_order: Integer?,
4631
+ price_type: Orb::Models::Price::TieredMatrixWithAllocation::price_type,
4632
+ replaces_price_id: String?,
4633
+ tiered_matrix_with_allocation_config: Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
4634
+ dimensional_price_configuration: Orb::DimensionalPriceConfiguration?,
4635
+ license_type: Orb::Price::TieredMatrixWithAllocation::LicenseType?
4636
+ }
4637
+
4638
+ type billing_mode = :in_advance | :in_arrear
4639
+
4640
+ module BillingMode
4641
+ extend Orb::Internal::Type::Enum
4642
+
4643
+ IN_ADVANCE: :in_advance
4644
+ IN_ARREAR: :in_arrear
4645
+
4646
+ def self?.values: -> ::Array[Orb::Models::Price::TieredMatrixWithAllocation::billing_mode]
4647
+ end
4648
+
4649
+ type cadence =
4650
+ :one_time | :monthly | :quarterly | :semi_annual | :annual | :custom
4651
+
4652
+ module Cadence
4653
+ extend Orb::Internal::Type::Enum
4654
+
4655
+ ONE_TIME: :one_time
4656
+ MONTHLY: :monthly
4657
+ QUARTERLY: :quarterly
4658
+ SEMI_ANNUAL: :semi_annual
4659
+ ANNUAL: :annual
4660
+ CUSTOM: :custom
4661
+
4662
+ def self?.values: -> ::Array[Orb::Models::Price::TieredMatrixWithAllocation::cadence]
4663
+ end
4664
+
4665
+ type composite_price_filter =
4666
+ {
4667
+ field: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::field,
4668
+ operator: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::operator,
4669
+ values: ::Array[String]
4670
+ }
4671
+
4672
+ class CompositePriceFilter < Orb::Internal::Type::BaseModel
4673
+ attr_accessor field: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::field
4674
+
4675
+ attr_accessor operator: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::operator
4676
+
4677
+ attr_accessor values: ::Array[String]
4678
+
4679
+ def initialize: (
4680
+ field: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::field,
4681
+ operator: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::operator,
4682
+ values: ::Array[String]
4683
+ ) -> void
4684
+
4685
+ def to_hash: -> {
4686
+ field: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::field,
4687
+ operator: Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::operator,
4688
+ values: ::Array[String]
4689
+ }
4690
+
4691
+ type field =
4692
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
4693
+
4694
+ module Field
4695
+ extend Orb::Internal::Type::Enum
4696
+
4697
+ PRICE_ID: :price_id
4698
+ ITEM_ID: :item_id
4699
+ PRICE_TYPE: :price_type
4700
+ CURRENCY: :currency
4701
+ PRICING_UNIT_ID: :pricing_unit_id
4702
+
4703
+ def self?.values: -> ::Array[Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::field]
4704
+ end
4705
+
4706
+ type operator = :includes | :excludes
4707
+
4708
+ module Operator
4709
+ extend Orb::Internal::Type::Enum
4710
+
4711
+ INCLUDES: :includes
4712
+ EXCLUDES: :excludes
4713
+
4714
+ def self?.values: -> ::Array[Orb::Models::Price::TieredMatrixWithAllocation::CompositePriceFilter::operator]
4715
+ end
4716
+ end
4717
+
4718
+ type price_type = :usage_price | :fixed_price | :composite_price
4719
+
4720
+ module PriceType
4721
+ extend Orb::Internal::Type::Enum
4722
+
4723
+ USAGE_PRICE: :usage_price
4724
+ FIXED_PRICE: :fixed_price
4725
+ COMPOSITE_PRICE: :composite_price
4726
+
4727
+ def self?.values: -> ::Array[Orb::Models::Price::TieredMatrixWithAllocation::price_type]
4728
+ end
4729
+
4730
+ type tiered_matrix_with_allocation_config =
4731
+ {
4732
+ allocation: String,
4733
+ default_unit_amount: String,
4734
+ dimensions: ::Array[String],
4735
+ tiers: ::Array[Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
4736
+ }
4737
+
4738
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
4739
+ attr_accessor allocation: String
4740
+
4741
+ attr_accessor default_unit_amount: String
4742
+
4743
+ attr_accessor dimensions: ::Array[String]
4744
+
4745
+ attr_accessor tiers: ::Array[Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
4746
+
4747
+ def initialize: (
4748
+ allocation: String,
4749
+ default_unit_amount: String,
4750
+ dimensions: ::Array[String],
4751
+ tiers: ::Array[Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
4752
+ ) -> void
4753
+
4754
+ def to_hash: -> {
4755
+ allocation: String,
4756
+ default_unit_amount: String,
4757
+ dimensions: ::Array[String],
4758
+ tiers: ::Array[Orb::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
4759
+ }
4760
+
4761
+ type tier =
4762
+ {
4763
+ dimension_values: ::Array[String],
4764
+ tier_lower_bound: String,
4765
+ unit_amount: String
4766
+ }
4767
+
4768
+ class Tier < Orb::Internal::Type::BaseModel
4769
+ attr_accessor dimension_values: ::Array[String]
4770
+
4771
+ attr_accessor tier_lower_bound: String
4772
+
4773
+ attr_accessor unit_amount: String
4774
+
4775
+ def initialize: (
4776
+ dimension_values: ::Array[String],
4777
+ tier_lower_bound: String,
4778
+ unit_amount: String
4779
+ ) -> void
4780
+
4781
+ def to_hash: -> {
4782
+ dimension_values: ::Array[String],
4783
+ tier_lower_bound: String,
4784
+ unit_amount: String
4785
+ }
4786
+ end
4787
+ end
4788
+
4789
+ type license_type = { id: String, grouping_key: String, name: String }
4790
+
4791
+ class LicenseType < Orb::Internal::Type::BaseModel
4792
+ attr_accessor id: String
4793
+
4794
+ attr_accessor grouping_key: String
4795
+
4796
+ attr_accessor name: String
4797
+
4798
+ def initialize: (
4799
+ id: String,
4800
+ grouping_key: String,
4801
+ name: String
4802
+ ) -> void
4803
+
4804
+ def to_hash: -> { id: String, grouping_key: String, name: String }
4805
+ end
4806
+ end
4807
+
4476
4808
  type matrix_with_threshold_discounts =
4477
4809
  {
4478
4810
  id: String,