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
@@ -36,6 +36,7 @@ module Orb
36
36
  | Orb::NewFloatingPackageWithAllocationPrice
37
37
  | Orb::NewFloatingUnitWithPercentPrice
38
38
  | Orb::NewFloatingMatrixWithAllocationPrice
39
+ | Orb::PriceCreateParams::Body::TieredMatrixWithAllocation
39
40
  | Orb::PriceCreateParams::Body::MatrixWithThresholdDiscounts
40
41
  | Orb::NewFloatingTieredWithProrationPrice
41
42
  | Orb::NewFloatingUnitWithProrationPrice
@@ -402,6 +403,183 @@ module Orb
402
403
  end
403
404
  end
404
405
 
406
+ type tiered_matrix_with_allocation =
407
+ {
408
+ cadence: Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation::cadence,
409
+ currency: String,
410
+ item_id: String,
411
+ model_type: :tiered_matrix_with_allocation,
412
+ name: String,
413
+ tiered_matrix_with_allocation_config: Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
414
+ billable_metric_id: String?,
415
+ billed_in_advance: bool?,
416
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
417
+ conversion_rate: Float?,
418
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
419
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
420
+ external_price_id: String?,
421
+ fixed_price_quantity: Float?,
422
+ invoice_grouping_key: String?,
423
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
424
+ license_type_id: String?,
425
+ metadata: ::Hash[Symbol, String?]?
426
+ }
427
+
428
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
429
+ attr_accessor cadence: Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation::cadence
430
+
431
+ attr_accessor currency: String
432
+
433
+ attr_accessor item_id: String
434
+
435
+ attr_accessor model_type: :tiered_matrix_with_allocation
436
+
437
+ attr_accessor name: String
438
+
439
+ attr_accessor tiered_matrix_with_allocation_config: Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
440
+
441
+ attr_accessor billable_metric_id: String?
442
+
443
+ attr_accessor billed_in_advance: bool?
444
+
445
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
446
+
447
+ attr_accessor conversion_rate: Float?
448
+
449
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
450
+
451
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
452
+
453
+ attr_accessor external_price_id: String?
454
+
455
+ attr_accessor fixed_price_quantity: Float?
456
+
457
+ attr_accessor invoice_grouping_key: String?
458
+
459
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
460
+
461
+ attr_accessor license_type_id: String?
462
+
463
+ attr_accessor metadata: ::Hash[Symbol, String?]?
464
+
465
+ def initialize: (
466
+ cadence: Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation::cadence,
467
+ currency: String,
468
+ item_id: String,
469
+ name: String,
470
+ tiered_matrix_with_allocation_config: Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
471
+ ?billable_metric_id: String?,
472
+ ?billed_in_advance: bool?,
473
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
474
+ ?conversion_rate: Float?,
475
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
476
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
477
+ ?external_price_id: String?,
478
+ ?fixed_price_quantity: Float?,
479
+ ?invoice_grouping_key: String?,
480
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
481
+ ?license_type_id: String?,
482
+ ?metadata: ::Hash[Symbol, String?]?,
483
+ ?model_type: :tiered_matrix_with_allocation
484
+ ) -> void
485
+
486
+ def to_hash: -> {
487
+ cadence: Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation::cadence,
488
+ currency: String,
489
+ item_id: String,
490
+ model_type: :tiered_matrix_with_allocation,
491
+ name: String,
492
+ tiered_matrix_with_allocation_config: Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
493
+ billable_metric_id: String?,
494
+ billed_in_advance: bool?,
495
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
496
+ conversion_rate: Float?,
497
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
498
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
499
+ external_price_id: String?,
500
+ fixed_price_quantity: Float?,
501
+ invoice_grouping_key: String?,
502
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
503
+ license_type_id: String?,
504
+ metadata: ::Hash[Symbol, String?]?
505
+ }
506
+
507
+ type cadence =
508
+ :annual | :semi_annual | :monthly | :quarterly | :one_time | :custom
509
+
510
+ module Cadence
511
+ extend Orb::Internal::Type::Enum
512
+
513
+ ANNUAL: :annual
514
+ SEMI_ANNUAL: :semi_annual
515
+ MONTHLY: :monthly
516
+ QUARTERLY: :quarterly
517
+ ONE_TIME: :one_time
518
+ CUSTOM: :custom
519
+
520
+ def self?.values: -> ::Array[Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation::cadence]
521
+ end
522
+
523
+ type tiered_matrix_with_allocation_config =
524
+ {
525
+ allocation: String,
526
+ default_unit_amount: String,
527
+ dimensions: ::Array[String],
528
+ tiers: ::Array[Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
529
+ }
530
+
531
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
532
+ attr_accessor allocation: String
533
+
534
+ attr_accessor default_unit_amount: String
535
+
536
+ attr_accessor dimensions: ::Array[String]
537
+
538
+ attr_accessor tiers: ::Array[Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
539
+
540
+ def initialize: (
541
+ allocation: String,
542
+ default_unit_amount: String,
543
+ dimensions: ::Array[String],
544
+ tiers: ::Array[Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
545
+ ) -> void
546
+
547
+ def to_hash: -> {
548
+ allocation: String,
549
+ default_unit_amount: String,
550
+ dimensions: ::Array[String],
551
+ tiers: ::Array[Orb::PriceCreateParams::Body::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
552
+ }
553
+
554
+ type tier =
555
+ {
556
+ dimension_values: ::Array[String],
557
+ tier_lower_bound: String,
558
+ unit_amount: String
559
+ }
560
+
561
+ class Tier < Orb::Internal::Type::BaseModel
562
+ attr_accessor dimension_values: ::Array[String]
563
+
564
+ attr_accessor tier_lower_bound: String
565
+
566
+ attr_accessor unit_amount: String
567
+
568
+ def initialize: (
569
+ dimension_values: ::Array[String],
570
+ tier_lower_bound: String,
571
+ unit_amount: String
572
+ ) -> void
573
+
574
+ def to_hash: -> {
575
+ dimension_values: ::Array[String],
576
+ tier_lower_bound: String,
577
+ unit_amount: String
578
+ }
579
+ end
580
+ end
581
+ end
582
+
405
583
  type matrix_with_threshold_discounts =
406
584
  {
407
585
  cadence: Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::cadence,
@@ -105,6 +105,7 @@ module Orb
105
105
  | Orb::NewFloatingPackageWithAllocationPrice
106
106
  | Orb::NewFloatingUnitWithPercentPrice
107
107
  | Orb::NewFloatingMatrixWithAllocationPrice
108
+ | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation
108
109
  | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts
109
110
  | Orb::NewFloatingTieredWithProrationPrice
110
111
  | Orb::NewFloatingUnitWithProrationPrice
@@ -484,6 +485,188 @@ module Orb
484
485
  end
485
486
  end
486
487
 
488
+ type tiered_matrix_with_allocation =
489
+ {
490
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence,
491
+ currency: String,
492
+ item_id: String,
493
+ model_type: :tiered_matrix_with_allocation,
494
+ name: String,
495
+ tiered_matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
496
+ billable_metric_id: String?,
497
+ billed_in_advance: bool?,
498
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
499
+ conversion_rate: Float?,
500
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
501
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
502
+ external_price_id: String?,
503
+ fixed_price_quantity: Float?,
504
+ invoice_grouping_key: String?,
505
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
506
+ license_type_id: String?,
507
+ metadata: ::Hash[Symbol, String?]?
508
+ }
509
+
510
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
511
+ attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence
512
+
513
+ attr_accessor currency: String
514
+
515
+ attr_accessor item_id: String
516
+
517
+ attr_accessor model_type: :tiered_matrix_with_allocation
518
+
519
+ attr_accessor name: String
520
+
521
+ attr_accessor tiered_matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
522
+
523
+ attr_accessor billable_metric_id: String?
524
+
525
+ attr_accessor billed_in_advance: bool?
526
+
527
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
528
+
529
+ attr_accessor conversion_rate: Float?
530
+
531
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
532
+
533
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
534
+
535
+ attr_accessor external_price_id: String?
536
+
537
+ attr_accessor fixed_price_quantity: Float?
538
+
539
+ attr_accessor invoice_grouping_key: String?
540
+
541
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
542
+
543
+ attr_accessor license_type_id: String?
544
+
545
+ attr_accessor metadata: ::Hash[Symbol, String?]?
546
+
547
+ def initialize: (
548
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence,
549
+ currency: String,
550
+ item_id: String,
551
+ name: String,
552
+ tiered_matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
553
+ ?billable_metric_id: String?,
554
+ ?billed_in_advance: bool?,
555
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
556
+ ?conversion_rate: Float?,
557
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
558
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
559
+ ?external_price_id: String?,
560
+ ?fixed_price_quantity: Float?,
561
+ ?invoice_grouping_key: String?,
562
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
563
+ ?license_type_id: String?,
564
+ ?metadata: ::Hash[Symbol, String?]?,
565
+ ?model_type: :tiered_matrix_with_allocation
566
+ ) -> void
567
+
568
+ def to_hash: -> {
569
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence,
570
+ currency: String,
571
+ item_id: String,
572
+ model_type: :tiered_matrix_with_allocation,
573
+ name: String,
574
+ tiered_matrix_with_allocation_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
575
+ billable_metric_id: String?,
576
+ billed_in_advance: bool?,
577
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
578
+ conversion_rate: Float?,
579
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
580
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
581
+ external_price_id: String?,
582
+ fixed_price_quantity: Float?,
583
+ invoice_grouping_key: String?,
584
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
585
+ license_type_id: String?,
586
+ metadata: ::Hash[Symbol, String?]?
587
+ }
588
+
589
+ type cadence =
590
+ :annual
591
+ | :semi_annual
592
+ | :monthly
593
+ | :quarterly
594
+ | :one_time
595
+ | :custom
596
+
597
+ module Cadence
598
+ extend Orb::Internal::Type::Enum
599
+
600
+ ANNUAL: :annual
601
+ SEMI_ANNUAL: :semi_annual
602
+ MONTHLY: :monthly
603
+ QUARTERLY: :quarterly
604
+ ONE_TIME: :one_time
605
+ CUSTOM: :custom
606
+
607
+ def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence]
608
+ end
609
+
610
+ type tiered_matrix_with_allocation_config =
611
+ {
612
+ allocation: String,
613
+ default_unit_amount: String,
614
+ dimensions: ::Array[String],
615
+ tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
616
+ }
617
+
618
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
619
+ attr_accessor allocation: String
620
+
621
+ attr_accessor default_unit_amount: String
622
+
623
+ attr_accessor dimensions: ::Array[String]
624
+
625
+ attr_accessor tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
626
+
627
+ def initialize: (
628
+ allocation: String,
629
+ default_unit_amount: String,
630
+ dimensions: ::Array[String],
631
+ tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
632
+ ) -> void
633
+
634
+ def to_hash: -> {
635
+ allocation: String,
636
+ default_unit_amount: String,
637
+ dimensions: ::Array[String],
638
+ tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
639
+ }
640
+
641
+ type tier =
642
+ {
643
+ dimension_values: ::Array[String],
644
+ tier_lower_bound: String,
645
+ unit_amount: String
646
+ }
647
+
648
+ class Tier < Orb::Internal::Type::BaseModel
649
+ attr_accessor dimension_values: ::Array[String]
650
+
651
+ attr_accessor tier_lower_bound: String
652
+
653
+ attr_accessor unit_amount: String
654
+
655
+ def initialize: (
656
+ dimension_values: ::Array[String],
657
+ tier_lower_bound: String,
658
+ unit_amount: String
659
+ ) -> void
660
+
661
+ def to_hash: -> {
662
+ dimension_values: ::Array[String],
663
+ tier_lower_bound: String,
664
+ unit_amount: String
665
+ }
666
+ end
667
+ end
668
+ end
669
+
487
670
  type matrix_with_threshold_discounts =
488
671
  {
489
672
  cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts::cadence,
@@ -151,6 +151,7 @@ module Orb
151
151
  | Orb::NewFloatingPackageWithAllocationPrice
152
152
  | Orb::NewFloatingUnitWithPercentPrice
153
153
  | Orb::NewFloatingMatrixWithAllocationPrice
154
+ | Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation
154
155
  | Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts
155
156
  | Orb::NewFloatingTieredWithProrationPrice
156
157
  | Orb::NewFloatingUnitWithProrationPrice
@@ -530,6 +531,188 @@ module Orb
530
531
  end
531
532
  end
532
533
 
534
+ type tiered_matrix_with_allocation =
535
+ {
536
+ cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence,
537
+ currency: String,
538
+ item_id: String,
539
+ model_type: :tiered_matrix_with_allocation,
540
+ name: String,
541
+ tiered_matrix_with_allocation_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
542
+ billable_metric_id: String?,
543
+ billed_in_advance: bool?,
544
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
545
+ conversion_rate: Float?,
546
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
547
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
548
+ external_price_id: String?,
549
+ fixed_price_quantity: Float?,
550
+ invoice_grouping_key: String?,
551
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
552
+ license_type_id: String?,
553
+ metadata: ::Hash[Symbol, String?]?
554
+ }
555
+
556
+ class TieredMatrixWithAllocation < Orb::Internal::Type::BaseModel
557
+ attr_accessor cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence
558
+
559
+ attr_accessor currency: String
560
+
561
+ attr_accessor item_id: String
562
+
563
+ attr_accessor model_type: :tiered_matrix_with_allocation
564
+
565
+ attr_accessor name: String
566
+
567
+ attr_accessor tiered_matrix_with_allocation_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig
568
+
569
+ attr_accessor billable_metric_id: String?
570
+
571
+ attr_accessor billed_in_advance: bool?
572
+
573
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
574
+
575
+ attr_accessor conversion_rate: Float?
576
+
577
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
578
+
579
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
580
+
581
+ attr_accessor external_price_id: String?
582
+
583
+ attr_accessor fixed_price_quantity: Float?
584
+
585
+ attr_accessor invoice_grouping_key: String?
586
+
587
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
588
+
589
+ attr_accessor license_type_id: String?
590
+
591
+ attr_accessor metadata: ::Hash[Symbol, String?]?
592
+
593
+ def initialize: (
594
+ cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence,
595
+ currency: String,
596
+ item_id: String,
597
+ name: String,
598
+ tiered_matrix_with_allocation_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
599
+ ?billable_metric_id: String?,
600
+ ?billed_in_advance: bool?,
601
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
602
+ ?conversion_rate: Float?,
603
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
604
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
605
+ ?external_price_id: String?,
606
+ ?fixed_price_quantity: Float?,
607
+ ?invoice_grouping_key: String?,
608
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
609
+ ?license_type_id: String?,
610
+ ?metadata: ::Hash[Symbol, String?]?,
611
+ ?model_type: :tiered_matrix_with_allocation
612
+ ) -> void
613
+
614
+ def to_hash: -> {
615
+ cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence,
616
+ currency: String,
617
+ item_id: String,
618
+ model_type: :tiered_matrix_with_allocation,
619
+ name: String,
620
+ tiered_matrix_with_allocation_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig,
621
+ billable_metric_id: String?,
622
+ billed_in_advance: bool?,
623
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
624
+ conversion_rate: Float?,
625
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
626
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
627
+ external_price_id: String?,
628
+ fixed_price_quantity: Float?,
629
+ invoice_grouping_key: String?,
630
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
631
+ license_type_id: String?,
632
+ metadata: ::Hash[Symbol, String?]?
633
+ }
634
+
635
+ type cadence =
636
+ :annual
637
+ | :semi_annual
638
+ | :monthly
639
+ | :quarterly
640
+ | :one_time
641
+ | :custom
642
+
643
+ module Cadence
644
+ extend Orb::Internal::Type::Enum
645
+
646
+ ANNUAL: :annual
647
+ SEMI_ANNUAL: :semi_annual
648
+ MONTHLY: :monthly
649
+ QUARTERLY: :quarterly
650
+ ONE_TIME: :one_time
651
+ CUSTOM: :custom
652
+
653
+ def self?.values: -> ::Array[Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::cadence]
654
+ end
655
+
656
+ type tiered_matrix_with_allocation_config =
657
+ {
658
+ allocation: String,
659
+ default_unit_amount: String,
660
+ dimensions: ::Array[String],
661
+ tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
662
+ }
663
+
664
+ class TieredMatrixWithAllocationConfig < Orb::Internal::Type::BaseModel
665
+ attr_accessor allocation: String
666
+
667
+ attr_accessor default_unit_amount: String
668
+
669
+ attr_accessor dimensions: ::Array[String]
670
+
671
+ attr_accessor tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
672
+
673
+ def initialize: (
674
+ allocation: String,
675
+ default_unit_amount: String,
676
+ dimensions: ::Array[String],
677
+ tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
678
+ ) -> void
679
+
680
+ def to_hash: -> {
681
+ allocation: String,
682
+ default_unit_amount: String,
683
+ dimensions: ::Array[String],
684
+ tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::TieredMatrixWithAllocation::TieredMatrixWithAllocationConfig::Tier]
685
+ }
686
+
687
+ type tier =
688
+ {
689
+ dimension_values: ::Array[String],
690
+ tier_lower_bound: String,
691
+ unit_amount: String
692
+ }
693
+
694
+ class Tier < Orb::Internal::Type::BaseModel
695
+ attr_accessor dimension_values: ::Array[String]
696
+
697
+ attr_accessor tier_lower_bound: String
698
+
699
+ attr_accessor unit_amount: String
700
+
701
+ def initialize: (
702
+ dimension_values: ::Array[String],
703
+ tier_lower_bound: String,
704
+ unit_amount: String
705
+ ) -> void
706
+
707
+ def to_hash: -> {
708
+ dimension_values: ::Array[String],
709
+ tier_lower_bound: String,
710
+ unit_amount: String
711
+ }
712
+ end
713
+ end
714
+ end
715
+
533
716
  type matrix_with_threshold_discounts =
534
717
  {
535
718
  cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts::cadence,