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
@@ -480,6 +480,7 @@ module Orb
480
480
  | Orb::NewSubscriptionTieredPackagePrice
481
481
  | Orb::NewSubscriptionTieredWithMinimumPrice
482
482
  | Orb::NewSubscriptionGroupedTieredPrice
483
+ | Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix
483
484
  | Orb::NewSubscriptionTieredPackageWithMinimumPrice
484
485
  | Orb::NewSubscriptionPackageWithAllocationPrice
485
486
  | Orb::NewSubscriptionUnitWithPercentPrice
@@ -691,6 +692,188 @@ module Orb
691
692
  end
692
693
  end
693
694
 
695
+ type grouped_tiered_matrix =
696
+ {
697
+ cadence: Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::cadence,
698
+ grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
699
+ item_id: String,
700
+ model_type: :grouped_tiered_matrix,
701
+ name: String,
702
+ billable_metric_id: String?,
703
+ billed_in_advance: bool?,
704
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
705
+ conversion_rate: Float?,
706
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
707
+ currency: String?,
708
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
709
+ external_price_id: String?,
710
+ fixed_price_quantity: Float?,
711
+ invoice_grouping_key: String?,
712
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
713
+ license_type_id: String?,
714
+ metadata: ::Hash[Symbol, String?]?,
715
+ reference_id: String?
716
+ }
717
+
718
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
719
+ attr_accessor cadence: Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::cadence
720
+
721
+ attr_accessor grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig
722
+
723
+ attr_accessor item_id: String
724
+
725
+ attr_accessor model_type: :grouped_tiered_matrix
726
+
727
+ attr_accessor name: String
728
+
729
+ attr_accessor billable_metric_id: String?
730
+
731
+ attr_accessor billed_in_advance: bool?
732
+
733
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
734
+
735
+ attr_accessor conversion_rate: Float?
736
+
737
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
738
+
739
+ attr_accessor currency: String?
740
+
741
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
742
+
743
+ attr_accessor external_price_id: String?
744
+
745
+ attr_accessor fixed_price_quantity: Float?
746
+
747
+ attr_accessor invoice_grouping_key: String?
748
+
749
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
750
+
751
+ attr_accessor license_type_id: String?
752
+
753
+ attr_accessor metadata: ::Hash[Symbol, String?]?
754
+
755
+ attr_accessor reference_id: String?
756
+
757
+ def initialize: (
758
+ cadence: Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::cadence,
759
+ grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
760
+ item_id: String,
761
+ name: String,
762
+ ?billable_metric_id: String?,
763
+ ?billed_in_advance: bool?,
764
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
765
+ ?conversion_rate: Float?,
766
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
767
+ ?currency: String?,
768
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
769
+ ?external_price_id: String?,
770
+ ?fixed_price_quantity: Float?,
771
+ ?invoice_grouping_key: String?,
772
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
773
+ ?license_type_id: String?,
774
+ ?metadata: ::Hash[Symbol, String?]?,
775
+ ?reference_id: String?,
776
+ ?model_type: :grouped_tiered_matrix
777
+ ) -> void
778
+
779
+ def to_hash: -> {
780
+ cadence: Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::cadence,
781
+ grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
782
+ item_id: String,
783
+ model_type: :grouped_tiered_matrix,
784
+ name: String,
785
+ billable_metric_id: String?,
786
+ billed_in_advance: bool?,
787
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
788
+ conversion_rate: Float?,
789
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
790
+ currency: String?,
791
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
792
+ external_price_id: String?,
793
+ fixed_price_quantity: Float?,
794
+ invoice_grouping_key: String?,
795
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
796
+ license_type_id: String?,
797
+ metadata: ::Hash[Symbol, String?]?,
798
+ reference_id: String?
799
+ }
800
+
801
+ type cadence =
802
+ :annual
803
+ | :semi_annual
804
+ | :monthly
805
+ | :quarterly
806
+ | :one_time
807
+ | :custom
808
+
809
+ module Cadence
810
+ extend Orb::Internal::Type::Enum
811
+
812
+ ANNUAL: :annual
813
+ SEMI_ANNUAL: :semi_annual
814
+ MONTHLY: :monthly
815
+ QUARTERLY: :quarterly
816
+ ONE_TIME: :one_time
817
+ CUSTOM: :custom
818
+
819
+ def self?.values: -> ::Array[Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::cadence]
820
+ end
821
+
822
+ type grouped_tiered_matrix_config =
823
+ {
824
+ default_unit_amount: String,
825
+ dimension: String,
826
+ tiers: ::Array[Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
827
+ }
828
+
829
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
830
+ attr_accessor default_unit_amount: String
831
+
832
+ attr_accessor dimension: String
833
+
834
+ attr_accessor tiers: ::Array[Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
835
+
836
+ def initialize: (
837
+ default_unit_amount: String,
838
+ dimension: String,
839
+ tiers: ::Array[Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
840
+ ) -> void
841
+
842
+ def to_hash: -> {
843
+ default_unit_amount: String,
844
+ dimension: String,
845
+ tiers: ::Array[Orb::SubscriptionCreateParams::AddPrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
846
+ }
847
+
848
+ type tier =
849
+ {
850
+ dimension_value: String,
851
+ tier_lower_bound: String,
852
+ unit_amount: String
853
+ }
854
+
855
+ class Tier < Orb::Internal::Type::BaseModel
856
+ attr_accessor dimension_value: String
857
+
858
+ attr_accessor tier_lower_bound: String
859
+
860
+ attr_accessor unit_amount: String
861
+
862
+ def initialize: (
863
+ dimension_value: String,
864
+ tier_lower_bound: String,
865
+ unit_amount: String
866
+ ) -> void
867
+
868
+ def to_hash: -> {
869
+ dimension_value: String,
870
+ tier_lower_bound: String,
871
+ unit_amount: String
872
+ }
873
+ end
874
+ end
875
+ end
876
+
694
877
  type matrix_with_threshold_discounts =
695
878
  {
696
879
  cadence: Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::cadence,
@@ -2399,6 +2582,7 @@ module Orb
2399
2582
  | Orb::NewSubscriptionTieredPackagePrice
2400
2583
  | Orb::NewSubscriptionTieredWithMinimumPrice
2401
2584
  | Orb::NewSubscriptionGroupedTieredPrice
2585
+ | Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix
2402
2586
  | Orb::NewSubscriptionTieredPackageWithMinimumPrice
2403
2587
  | Orb::NewSubscriptionPackageWithAllocationPrice
2404
2588
  | Orb::NewSubscriptionUnitWithPercentPrice
@@ -2610,6 +2794,188 @@ module Orb
2610
2794
  end
2611
2795
  end
2612
2796
 
2797
+ type grouped_tiered_matrix =
2798
+ {
2799
+ cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::cadence,
2800
+ grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
2801
+ item_id: String,
2802
+ model_type: :grouped_tiered_matrix,
2803
+ name: String,
2804
+ billable_metric_id: String?,
2805
+ billed_in_advance: bool?,
2806
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2807
+ conversion_rate: Float?,
2808
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
2809
+ currency: String?,
2810
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
2811
+ external_price_id: String?,
2812
+ fixed_price_quantity: Float?,
2813
+ invoice_grouping_key: String?,
2814
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2815
+ license_type_id: String?,
2816
+ metadata: ::Hash[Symbol, String?]?,
2817
+ reference_id: String?
2818
+ }
2819
+
2820
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
2821
+ attr_accessor cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::cadence
2822
+
2823
+ attr_accessor grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig
2824
+
2825
+ attr_accessor item_id: String
2826
+
2827
+ attr_accessor model_type: :grouped_tiered_matrix
2828
+
2829
+ attr_accessor name: String
2830
+
2831
+ attr_accessor billable_metric_id: String?
2832
+
2833
+ attr_accessor billed_in_advance: bool?
2834
+
2835
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
2836
+
2837
+ attr_accessor conversion_rate: Float?
2838
+
2839
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
2840
+
2841
+ attr_accessor currency: String?
2842
+
2843
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
2844
+
2845
+ attr_accessor external_price_id: String?
2846
+
2847
+ attr_accessor fixed_price_quantity: Float?
2848
+
2849
+ attr_accessor invoice_grouping_key: String?
2850
+
2851
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
2852
+
2853
+ attr_accessor license_type_id: String?
2854
+
2855
+ attr_accessor metadata: ::Hash[Symbol, String?]?
2856
+
2857
+ attr_accessor reference_id: String?
2858
+
2859
+ def initialize: (
2860
+ cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::cadence,
2861
+ grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
2862
+ item_id: String,
2863
+ name: String,
2864
+ ?billable_metric_id: String?,
2865
+ ?billed_in_advance: bool?,
2866
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2867
+ ?conversion_rate: Float?,
2868
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
2869
+ ?currency: String?,
2870
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
2871
+ ?external_price_id: String?,
2872
+ ?fixed_price_quantity: Float?,
2873
+ ?invoice_grouping_key: String?,
2874
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2875
+ ?license_type_id: String?,
2876
+ ?metadata: ::Hash[Symbol, String?]?,
2877
+ ?reference_id: String?,
2878
+ ?model_type: :grouped_tiered_matrix
2879
+ ) -> void
2880
+
2881
+ def to_hash: -> {
2882
+ cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::cadence,
2883
+ grouped_tiered_matrix_config: Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
2884
+ item_id: String,
2885
+ model_type: :grouped_tiered_matrix,
2886
+ name: String,
2887
+ billable_metric_id: String?,
2888
+ billed_in_advance: bool?,
2889
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2890
+ conversion_rate: Float?,
2891
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
2892
+ currency: String?,
2893
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
2894
+ external_price_id: String?,
2895
+ fixed_price_quantity: Float?,
2896
+ invoice_grouping_key: String?,
2897
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2898
+ license_type_id: String?,
2899
+ metadata: ::Hash[Symbol, String?]?,
2900
+ reference_id: String?
2901
+ }
2902
+
2903
+ type cadence =
2904
+ :annual
2905
+ | :semi_annual
2906
+ | :monthly
2907
+ | :quarterly
2908
+ | :one_time
2909
+ | :custom
2910
+
2911
+ module Cadence
2912
+ extend Orb::Internal::Type::Enum
2913
+
2914
+ ANNUAL: :annual
2915
+ SEMI_ANNUAL: :semi_annual
2916
+ MONTHLY: :monthly
2917
+ QUARTERLY: :quarterly
2918
+ ONE_TIME: :one_time
2919
+ CUSTOM: :custom
2920
+
2921
+ def self?.values: -> ::Array[Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::cadence]
2922
+ end
2923
+
2924
+ type grouped_tiered_matrix_config =
2925
+ {
2926
+ default_unit_amount: String,
2927
+ dimension: String,
2928
+ tiers: ::Array[Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
2929
+ }
2930
+
2931
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
2932
+ attr_accessor default_unit_amount: String
2933
+
2934
+ attr_accessor dimension: String
2935
+
2936
+ attr_accessor tiers: ::Array[Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
2937
+
2938
+ def initialize: (
2939
+ default_unit_amount: String,
2940
+ dimension: String,
2941
+ tiers: ::Array[Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
2942
+ ) -> void
2943
+
2944
+ def to_hash: -> {
2945
+ default_unit_amount: String,
2946
+ dimension: String,
2947
+ tiers: ::Array[Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
2948
+ }
2949
+
2950
+ type tier =
2951
+ {
2952
+ dimension_value: String,
2953
+ tier_lower_bound: String,
2954
+ unit_amount: String
2955
+ }
2956
+
2957
+ class Tier < Orb::Internal::Type::BaseModel
2958
+ attr_accessor dimension_value: String
2959
+
2960
+ attr_accessor tier_lower_bound: String
2961
+
2962
+ attr_accessor unit_amount: String
2963
+
2964
+ def initialize: (
2965
+ dimension_value: String,
2966
+ tier_lower_bound: String,
2967
+ unit_amount: String
2968
+ ) -> void
2969
+
2970
+ def to_hash: -> {
2971
+ dimension_value: String,
2972
+ tier_lower_bound: String,
2973
+ unit_amount: String
2974
+ }
2975
+ end
2976
+ end
2977
+ end
2978
+
2613
2979
  type matrix_with_threshold_discounts =
2614
2980
  {
2615
2981
  cadence: Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::cadence,
@@ -249,6 +249,7 @@ module Orb
249
249
  | Orb::NewFloatingTieredPackagePrice
250
250
  | Orb::NewFloatingTieredWithMinimumPrice
251
251
  | Orb::NewFloatingGroupedTieredPrice
252
+ | Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix
252
253
  | Orb::NewFloatingTieredPackageWithMinimumPrice
253
254
  | Orb::NewFloatingPackageWithAllocationPrice
254
255
  | Orb::NewFloatingUnitWithPercentPrice
@@ -455,6 +456,183 @@ module Orb
455
456
  end
456
457
  end
457
458
 
459
+ type grouped_tiered_matrix =
460
+ {
461
+ cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::cadence,
462
+ currency: String,
463
+ grouped_tiered_matrix_config: Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
464
+ item_id: String,
465
+ model_type: :grouped_tiered_matrix,
466
+ name: String,
467
+ billable_metric_id: String?,
468
+ billed_in_advance: bool?,
469
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
470
+ conversion_rate: Float?,
471
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
472
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
473
+ external_price_id: String?,
474
+ fixed_price_quantity: Float?,
475
+ invoice_grouping_key: String?,
476
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
477
+ license_type_id: String?,
478
+ metadata: ::Hash[Symbol, String?]?
479
+ }
480
+
481
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
482
+ attr_accessor cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::cadence
483
+
484
+ attr_accessor currency: String
485
+
486
+ attr_accessor grouped_tiered_matrix_config: Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig
487
+
488
+ attr_accessor item_id: String
489
+
490
+ attr_accessor model_type: :grouped_tiered_matrix
491
+
492
+ attr_accessor name: String
493
+
494
+ attr_accessor billable_metric_id: String?
495
+
496
+ attr_accessor billed_in_advance: bool?
497
+
498
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
499
+
500
+ attr_accessor conversion_rate: Float?
501
+
502
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
503
+
504
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
505
+
506
+ attr_accessor external_price_id: String?
507
+
508
+ attr_accessor fixed_price_quantity: Float?
509
+
510
+ attr_accessor invoice_grouping_key: String?
511
+
512
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
513
+
514
+ attr_accessor license_type_id: String?
515
+
516
+ attr_accessor metadata: ::Hash[Symbol, String?]?
517
+
518
+ def initialize: (
519
+ cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::cadence,
520
+ currency: String,
521
+ grouped_tiered_matrix_config: Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
522
+ item_id: String,
523
+ name: String,
524
+ ?billable_metric_id: String?,
525
+ ?billed_in_advance: bool?,
526
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
527
+ ?conversion_rate: Float?,
528
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
529
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
530
+ ?external_price_id: String?,
531
+ ?fixed_price_quantity: Float?,
532
+ ?invoice_grouping_key: String?,
533
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
534
+ ?license_type_id: String?,
535
+ ?metadata: ::Hash[Symbol, String?]?,
536
+ ?model_type: :grouped_tiered_matrix
537
+ ) -> void
538
+
539
+ def to_hash: -> {
540
+ cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::cadence,
541
+ currency: String,
542
+ grouped_tiered_matrix_config: Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
543
+ item_id: String,
544
+ model_type: :grouped_tiered_matrix,
545
+ name: String,
546
+ billable_metric_id: String?,
547
+ billed_in_advance: bool?,
548
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
549
+ conversion_rate: Float?,
550
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
551
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
552
+ external_price_id: String?,
553
+ fixed_price_quantity: Float?,
554
+ invoice_grouping_key: String?,
555
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
556
+ license_type_id: String?,
557
+ metadata: ::Hash[Symbol, String?]?
558
+ }
559
+
560
+ type cadence =
561
+ :annual
562
+ | :semi_annual
563
+ | :monthly
564
+ | :quarterly
565
+ | :one_time
566
+ | :custom
567
+
568
+ module Cadence
569
+ extend Orb::Internal::Type::Enum
570
+
571
+ ANNUAL: :annual
572
+ SEMI_ANNUAL: :semi_annual
573
+ MONTHLY: :monthly
574
+ QUARTERLY: :quarterly
575
+ ONE_TIME: :one_time
576
+ CUSTOM: :custom
577
+
578
+ def self?.values: -> ::Array[Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::cadence]
579
+ end
580
+
581
+ type grouped_tiered_matrix_config =
582
+ {
583
+ default_unit_amount: String,
584
+ dimension: String,
585
+ tiers: ::Array[Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
586
+ }
587
+
588
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
589
+ attr_accessor default_unit_amount: String
590
+
591
+ attr_accessor dimension: String
592
+
593
+ attr_accessor tiers: ::Array[Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
594
+
595
+ def initialize: (
596
+ default_unit_amount: String,
597
+ dimension: String,
598
+ tiers: ::Array[Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
599
+ ) -> void
600
+
601
+ def to_hash: -> {
602
+ default_unit_amount: String,
603
+ dimension: String,
604
+ tiers: ::Array[Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
605
+ }
606
+
607
+ type tier =
608
+ {
609
+ dimension_value: String,
610
+ tier_lower_bound: String,
611
+ unit_amount: String
612
+ }
613
+
614
+ class Tier < Orb::Internal::Type::BaseModel
615
+ attr_accessor dimension_value: String
616
+
617
+ attr_accessor tier_lower_bound: String
618
+
619
+ attr_accessor unit_amount: String
620
+
621
+ def initialize: (
622
+ dimension_value: String,
623
+ tier_lower_bound: String,
624
+ unit_amount: String
625
+ ) -> void
626
+
627
+ def to_hash: -> {
628
+ dimension_value: String,
629
+ tier_lower_bound: String,
630
+ unit_amount: String
631
+ }
632
+ end
633
+ end
634
+ end
635
+
458
636
  type matrix_with_threshold_discounts =
459
637
  {
460
638
  cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::cadence,