orb-billing 1.54.0 → 1.55.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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +496 -6
  5. data/lib/orb/models/beta_create_plan_version_params.rb +496 -6
  6. data/lib/orb/models/changed_subscription_resources.rb +2 -2
  7. data/lib/orb/models/credit_block_accounting_sync_failed_webhook_event.rb +4 -4
  8. data/lib/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rb +4 -4
  9. data/lib/orb/models/credit_block_list_invoices_response.rb +4 -4
  10. data/lib/orb/models/credit_block_retrieve_response.rb +4 -4
  11. data/lib/orb/models/credit_block_update_response.rb +4 -4
  12. data/lib/orb/models/customer_credit_ledger_incremented_webhook_event.rb +4 -4
  13. data/lib/orb/models/dimensional_price_groups/price_create_response.rb +2 -2
  14. data/lib/orb/models/invoice.rb +2 -2
  15. data/lib/orb/models/invoice_edited_webhook_event.rb +2 -2
  16. data/lib/orb/models/invoice_fetch_upcoming_response.rb +2 -2
  17. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  18. data/lib/orb/models/per_price_cost.rb +2 -2
  19. data/lib/orb/models/plan.rb +2 -2
  20. data/lib/orb/models/plan_create_params.rb +246 -3
  21. data/lib/orb/models/plan_version.rb +2 -2
  22. data/lib/orb/models/price.rb +416 -1
  23. data/lib/orb/models/price_create_params.rb +231 -3
  24. data/lib/orb/models/price_edited_webhook_event.rb +2 -2
  25. data/lib/orb/models/price_evaluate_multiple_params.rb +238 -3
  26. data/lib/orb/models/price_evaluate_preview_events_params.rb +238 -3
  27. data/lib/orb/models/price_interval.rb +2 -2
  28. data/lib/orb/models/subscription_create_params.rb +495 -6
  29. data/lib/orb/models/subscription_price_intervals_params.rb +238 -3
  30. data/lib/orb/models/subscription_schedule_plan_change_params.rb +496 -6
  31. data/lib/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rb +4 -4
  32. data/lib/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rb +4 -4
  33. data/lib/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rb +4 -4
  34. data/lib/orb/models/webhooks/invoice_edited_standard_webhook_event.rb +2 -2
  35. data/lib/orb/models/webhooks/price_edited_standard_webhook_event.rb +2 -2
  36. data/lib/orb/resources/credit_blocks.rb +1 -1
  37. data/lib/orb/resources/dimensional_price_groups/prices.rb +1 -1
  38. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  39. data/lib/orb/resources/prices.rb +5 -5
  40. data/lib/orb/version.rb +1 -1
  41. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2939 -2129
  42. data/rbi/orb/models/beta_create_plan_version_params.rbi +2937 -2127
  43. data/rbi/orb/models/changed_subscription_resources.rbi +2 -1
  44. data/rbi/orb/models/credit_block_accounting_sync_failed_webhook_event.rbi +5 -5
  45. data/rbi/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbi +5 -5
  46. data/rbi/orb/models/credit_block_list_invoices_response.rbi +5 -5
  47. data/rbi/orb/models/credit_block_retrieve_response.rbi +5 -5
  48. data/rbi/orb/models/credit_block_update_response.rbi +5 -5
  49. data/rbi/orb/models/customer_credit_ledger_incremented_webhook_event.rbi +5 -5
  50. data/rbi/orb/models/dimensional_price_groups/price_create_response.rbi +2 -1
  51. data/rbi/orb/models/invoice.rbi +2 -1
  52. data/rbi/orb/models/invoice_edited_webhook_event.rbi +2 -1
  53. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +2 -1
  54. data/rbi/orb/models/invoice_line_item_create_response.rbi +2 -1
  55. data/rbi/orb/models/per_price_cost.rbi +2 -1
  56. data/rbi/orb/models/plan.rbi +2 -1
  57. data/rbi/orb/models/plan_create_params.rbi +409 -4
  58. data/rbi/orb/models/plan_version.rbi +2 -1
  59. data/rbi/orb/models/price.rbi +716 -1
  60. data/rbi/orb/models/price_create_params.rbi +397 -4
  61. data/rbi/orb/models/price_edited_webhook_event.rbi +2 -1
  62. data/rbi/orb/models/price_evaluate_multiple_params.rbi +397 -4
  63. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +397 -4
  64. data/rbi/orb/models/price_interval.rbi +2 -1
  65. data/rbi/orb/models/subscription_create_params.rbi +2676 -1866
  66. data/rbi/orb/models/subscription_price_intervals_params.rbi +397 -4
  67. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2686 -1876
  68. data/rbi/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rbi +5 -5
  69. data/rbi/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rbi +5 -5
  70. data/rbi/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rbi +5 -5
  71. data/rbi/orb/models/webhooks/invoice_edited_standard_webhook_event.rbi +2 -1
  72. data/rbi/orb/models/webhooks/price_edited_standard_webhook_event.rbi +2 -1
  73. data/rbi/orb/resources/credit_blocks.rbi +1 -1
  74. data/rbi/orb/resources/prices.rbi +2 -1
  75. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +322 -0
  76. data/sig/orb/models/beta_create_plan_version_params.rbs +322 -0
  77. data/sig/orb/models/credit_block_accounting_sync_failed_webhook_event.rbs +2 -2
  78. data/sig/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbs +2 -2
  79. data/sig/orb/models/credit_block_list_invoices_response.rbs +2 -2
  80. data/sig/orb/models/credit_block_retrieve_response.rbs +2 -2
  81. data/sig/orb/models/credit_block_update_response.rbs +2 -2
  82. data/sig/orb/models/customer_credit_ledger_incremented_webhook_event.rbs +2 -2
  83. data/sig/orb/models/plan_create_params.rbs +161 -0
  84. data/sig/orb/models/price.rbs +305 -0
  85. data/sig/orb/models/price_create_params.rbs +151 -0
  86. data/sig/orb/models/price_evaluate_multiple_params.rbs +156 -0
  87. data/sig/orb/models/price_evaluate_preview_events_params.rbs +156 -0
  88. data/sig/orb/models/subscription_create_params.rbs +322 -0
  89. data/sig/orb/models/subscription_price_intervals_params.rbs +156 -0
  90. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +322 -0
  91. data/sig/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rbs +2 -2
  92. data/sig/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rbs +2 -2
  93. data/sig/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rbs +2 -2
  94. metadata +1 -1
@@ -344,7 +344,7 @@ module Orb
344
344
  sig { returns(T.nilable(String)) }
345
345
  attr_accessor :per_unit_cost_basis
346
346
 
347
- # `void` means the credit block was deleted. A voided block's `balance` is
347
+ # A deleted credit block keeps its historical fields, and its `balance` is
348
348
  # always 0.
349
349
  sig do
350
350
  returns(
@@ -442,7 +442,7 @@ module Orb
442
442
  # `null`.
443
443
  metadata:,
444
444
  per_unit_cost_basis:,
445
- # `void` means the credit block was deleted. A voided block's `balance` is
445
+ # A deleted credit block keeps its historical fields, and its `balance` is
446
446
  # always 0.
447
447
  status:,
448
448
  # The credit allocation that funded a block. Extends the allocation resource
@@ -683,7 +683,7 @@ module Orb
683
683
  end
684
684
  end
685
685
 
686
- # `void` means the credit block was deleted. A voided block's `balance` is
686
+ # A deleted credit block keeps its historical fields, and its `balance` is
687
687
  # always 0.
688
688
  module Status
689
689
  extend Orb::Internal::Type::Enum
@@ -707,9 +707,9 @@ module Orb
707
707
  :pending_payment,
708
708
  Orb::Webhooks::CreditBlockAccountingSyncFailedStandardWebhookEvent::Block::Status::TaggedSymbol
709
709
  )
710
- VOID =
710
+ DELETED =
711
711
  T.let(
712
- :void,
712
+ :deleted,
713
713
  Orb::Webhooks::CreditBlockAccountingSyncFailedStandardWebhookEvent::Block::Status::TaggedSymbol
714
714
  )
715
715
 
@@ -344,7 +344,7 @@ module Orb
344
344
  sig { returns(T.nilable(String)) }
345
345
  attr_accessor :per_unit_cost_basis
346
346
 
347
- # `void` means the credit block was deleted. A voided block's `balance` is
347
+ # A deleted credit block keeps its historical fields, and its `balance` is
348
348
  # always 0.
349
349
  sig do
350
350
  returns(
@@ -442,7 +442,7 @@ module Orb
442
442
  # `null`.
443
443
  metadata:,
444
444
  per_unit_cost_basis:,
445
- # `void` means the credit block was deleted. A voided block's `balance` is
445
+ # A deleted credit block keeps its historical fields, and its `balance` is
446
446
  # always 0.
447
447
  status:,
448
448
  # The credit allocation that funded a block. Extends the allocation resource
@@ -683,7 +683,7 @@ module Orb
683
683
  end
684
684
  end
685
685
 
686
- # `void` means the credit block was deleted. A voided block's `balance` is
686
+ # A deleted credit block keeps its historical fields, and its `balance` is
687
687
  # always 0.
688
688
  module Status
689
689
  extend Orb::Internal::Type::Enum
@@ -707,9 +707,9 @@ module Orb
707
707
  :pending_payment,
708
708
  Orb::Webhooks::CreditBlockAccountingSyncSucceededStandardWebhookEvent::Block::Status::TaggedSymbol
709
709
  )
710
- VOID =
710
+ DELETED =
711
711
  T.let(
712
- :void,
712
+ :deleted,
713
713
  Orb::Webhooks::CreditBlockAccountingSyncSucceededStandardWebhookEvent::Block::Status::TaggedSymbol
714
714
  )
715
715
 
@@ -302,7 +302,7 @@ module Orb
302
302
  sig { returns(T.nilable(String)) }
303
303
  attr_accessor :per_unit_cost_basis
304
304
 
305
- # `void` means the credit block was deleted. A voided block's `balance` is
305
+ # A deleted credit block keeps its historical fields, and its `balance` is
306
306
  # always 0.
307
307
  sig do
308
308
  returns(
@@ -400,7 +400,7 @@ module Orb
400
400
  # `null`.
401
401
  metadata:,
402
402
  per_unit_cost_basis:,
403
- # `void` means the credit block was deleted. A voided block's `balance` is
403
+ # A deleted credit block keeps its historical fields, and its `balance` is
404
404
  # always 0.
405
405
  status:,
406
406
  # The credit allocation that funded a block. Extends the allocation resource
@@ -641,7 +641,7 @@ module Orb
641
641
  end
642
642
  end
643
643
 
644
- # `void` means the credit block was deleted. A voided block's `balance` is
644
+ # A deleted credit block keeps its historical fields, and its `balance` is
645
645
  # always 0.
646
646
  module Status
647
647
  extend Orb::Internal::Type::Enum
@@ -665,9 +665,9 @@ module Orb
665
665
  :pending_payment,
666
666
  Orb::Webhooks::CustomerCreditLedgerIncrementedStandardWebhookEvent::Properties::Block::Status::TaggedSymbol
667
667
  )
668
- VOID =
668
+ DELETED =
669
669
  T.let(
670
- :void,
670
+ :deleted,
671
671
  Orb::Webhooks::CustomerCreditLedgerIncrementedStandardWebhookEvent::Properties::Block::Status::TaggedSymbol
672
672
  )
673
673
 
@@ -1839,7 +1839,8 @@ module Orb
1839
1839
  Orb::Price::MeteredAllowance::OrHash,
1840
1840
  Orb::Price::MinimumComposite::OrHash,
1841
1841
  Orb::Price::Percent::OrHash,
1842
- Orb::Price::EventOutput::OrHash
1842
+ Orb::Price::EventOutput::OrHash,
1843
+ Orb::Price::UnitWithMultiplier::OrHash
1843
1844
  ),
1844
1845
  quantity: Float,
1845
1846
  start_date: Time,
@@ -107,7 +107,8 @@ module Orb
107
107
  Orb::Price::MeteredAllowance::OrHash,
108
108
  Orb::Price::MinimumComposite::OrHash,
109
109
  Orb::Price::Percent::OrHash,
110
- Orb::Price::EventOutput::OrHash
110
+ Orb::Price::EventOutput::OrHash,
111
+ Orb::Price::UnitWithMultiplier::OrHash
111
112
  ),
112
113
  properties:
113
114
  Orb::Webhooks::PriceEditedStandardWebhookEvent::Properties::OrHash,
@@ -6,7 +6,7 @@ module Orb
6
6
  # credits within Orb.
7
7
  class CreditBlocks
8
8
  # This endpoint returns a credit block identified by its block_id. A deleted
9
- # credit block is returned with a `status` of `void` and a `balance` of 0.
9
+ # credit block is returned with a `status` of `deleted` and a `balance` of 0.
10
10
  sig do
11
11
  params(
12
12
  block_id: String,
@@ -75,7 +75,8 @@ module Orb
75
75
  Orb::PriceCreateParams::Body::MeteredAllowance::OrHash,
76
76
  Orb::NewFloatingMinimumCompositePrice::OrHash,
77
77
  Orb::PriceCreateParams::Body::Percent::OrHash,
78
- Orb::PriceCreateParams::Body::EventOutput::OrHash
78
+ Orb::PriceCreateParams::Body::EventOutput::OrHash,
79
+ Orb::PriceCreateParams::Body::UnitWithMultiplier::OrHash
79
80
  ),
80
81
  request_options: Orb::RequestOptions::OrHash
81
82
  ).returns(Orb::Price::Variants)
@@ -501,6 +501,7 @@ module Orb
501
501
  | Orb::NewPlanMinimumCompositePrice
502
502
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::Percent
503
503
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::EventOutput
504
+ | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier
504
505
 
505
506
  module Price
506
507
  extend Orb::Internal::Type::Union
@@ -2451,6 +2452,166 @@ module Orb
2451
2452
  end
2452
2453
  end
2453
2454
 
2455
+ type unit_with_multiplier =
2456
+ {
2457
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::cadence,
2458
+ item_id: String,
2459
+ model_type: :unit_with_multiplier,
2460
+ name: String,
2461
+ unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
2462
+ billable_metric_id: String?,
2463
+ billed_in_advance: bool?,
2464
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2465
+ conversion_rate: Float?,
2466
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
2467
+ currency: String?,
2468
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
2469
+ external_price_id: String?,
2470
+ fixed_price_quantity: Float?,
2471
+ invoice_grouping_key: String?,
2472
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2473
+ license_type_id: String?,
2474
+ metadata: ::Hash[Symbol, String?]?,
2475
+ reference_id: String?
2476
+ }
2477
+
2478
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
2479
+ attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::cadence
2480
+
2481
+ attr_accessor item_id: String
2482
+
2483
+ attr_accessor model_type: :unit_with_multiplier
2484
+
2485
+ attr_accessor name: String
2486
+
2487
+ attr_accessor unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig
2488
+
2489
+ attr_accessor billable_metric_id: String?
2490
+
2491
+ attr_accessor billed_in_advance: bool?
2492
+
2493
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
2494
+
2495
+ attr_accessor conversion_rate: Float?
2496
+
2497
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
2498
+
2499
+ attr_accessor currency: String?
2500
+
2501
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
2502
+
2503
+ attr_accessor external_price_id: String?
2504
+
2505
+ attr_accessor fixed_price_quantity: Float?
2506
+
2507
+ attr_accessor invoice_grouping_key: String?
2508
+
2509
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
2510
+
2511
+ attr_accessor license_type_id: String?
2512
+
2513
+ attr_accessor metadata: ::Hash[Symbol, String?]?
2514
+
2515
+ attr_accessor reference_id: String?
2516
+
2517
+ def initialize: (
2518
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::cadence,
2519
+ item_id: String,
2520
+ name: String,
2521
+ unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
2522
+ ?billable_metric_id: String?,
2523
+ ?billed_in_advance: bool?,
2524
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2525
+ ?conversion_rate: Float?,
2526
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
2527
+ ?currency: String?,
2528
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
2529
+ ?external_price_id: String?,
2530
+ ?fixed_price_quantity: Float?,
2531
+ ?invoice_grouping_key: String?,
2532
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2533
+ ?license_type_id: String?,
2534
+ ?metadata: ::Hash[Symbol, String?]?,
2535
+ ?reference_id: String?,
2536
+ ?model_type: :unit_with_multiplier
2537
+ ) -> void
2538
+
2539
+ def to_hash: -> {
2540
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::cadence,
2541
+ item_id: String,
2542
+ model_type: :unit_with_multiplier,
2543
+ name: String,
2544
+ unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
2545
+ billable_metric_id: String?,
2546
+ billed_in_advance: bool?,
2547
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2548
+ conversion_rate: Float?,
2549
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
2550
+ currency: String?,
2551
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
2552
+ external_price_id: String?,
2553
+ fixed_price_quantity: Float?,
2554
+ invoice_grouping_key: String?,
2555
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
2556
+ license_type_id: String?,
2557
+ metadata: ::Hash[Symbol, String?]?,
2558
+ reference_id: String?
2559
+ }
2560
+
2561
+ type cadence =
2562
+ :one_time
2563
+ | :monthly
2564
+ | :quarterly
2565
+ | :semi_annual
2566
+ | :annual
2567
+ | :custom
2568
+
2569
+ module Cadence
2570
+ extend Orb::Internal::Type::Enum
2571
+
2572
+ ONE_TIME: :one_time
2573
+ MONTHLY: :monthly
2574
+ QUARTERLY: :quarterly
2575
+ SEMI_ANNUAL: :semi_annual
2576
+ ANNUAL: :annual
2577
+ CUSTOM: :custom
2578
+
2579
+ def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::Price::UnitWithMultiplier::cadence]
2580
+ end
2581
+
2582
+ type unit_with_multiplier_config =
2583
+ {
2584
+ default_display_name: String,
2585
+ display_name_key: String,
2586
+ multiplier_key: String,
2587
+ unit_amount: String
2588
+ }
2589
+
2590
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
2591
+ attr_accessor default_display_name: String
2592
+
2593
+ attr_accessor display_name_key: String
2594
+
2595
+ attr_accessor multiplier_key: String
2596
+
2597
+ attr_accessor unit_amount: String
2598
+
2599
+ def initialize: (
2600
+ default_display_name: String,
2601
+ display_name_key: String,
2602
+ multiplier_key: String,
2603
+ unit_amount: String
2604
+ ) -> void
2605
+
2606
+ def to_hash: -> {
2607
+ default_display_name: String,
2608
+ display_name_key: String,
2609
+ multiplier_key: String,
2610
+ unit_amount: String
2611
+ }
2612
+ end
2613
+ end
2614
+
2454
2615
  def self?.variants: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::AddPrice::price]
2455
2616
  end
2456
2617
  end
@@ -2934,6 +3095,7 @@ module Orb
2934
3095
  | Orb::NewPlanMinimumCompositePrice
2935
3096
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::Percent
2936
3097
  | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::EventOutput
3098
+ | Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier
2937
3099
 
2938
3100
  module Price
2939
3101
  extend Orb::Internal::Type::Union
@@ -4884,6 +5046,166 @@ module Orb
4884
5046
  end
4885
5047
  end
4886
5048
 
5049
+ type unit_with_multiplier =
5050
+ {
5051
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::cadence,
5052
+ item_id: String,
5053
+ model_type: :unit_with_multiplier,
5054
+ name: String,
5055
+ unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
5056
+ billable_metric_id: String?,
5057
+ billed_in_advance: bool?,
5058
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
5059
+ conversion_rate: Float?,
5060
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
5061
+ currency: String?,
5062
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
5063
+ external_price_id: String?,
5064
+ fixed_price_quantity: Float?,
5065
+ invoice_grouping_key: String?,
5066
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
5067
+ license_type_id: String?,
5068
+ metadata: ::Hash[Symbol, String?]?,
5069
+ reference_id: String?
5070
+ }
5071
+
5072
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
5073
+ attr_accessor cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::cadence
5074
+
5075
+ attr_accessor item_id: String
5076
+
5077
+ attr_accessor model_type: :unit_with_multiplier
5078
+
5079
+ attr_accessor name: String
5080
+
5081
+ attr_accessor unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig
5082
+
5083
+ attr_accessor billable_metric_id: String?
5084
+
5085
+ attr_accessor billed_in_advance: bool?
5086
+
5087
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
5088
+
5089
+ attr_accessor conversion_rate: Float?
5090
+
5091
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
5092
+
5093
+ attr_accessor currency: String?
5094
+
5095
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
5096
+
5097
+ attr_accessor external_price_id: String?
5098
+
5099
+ attr_accessor fixed_price_quantity: Float?
5100
+
5101
+ attr_accessor invoice_grouping_key: String?
5102
+
5103
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
5104
+
5105
+ attr_accessor license_type_id: String?
5106
+
5107
+ attr_accessor metadata: ::Hash[Symbol, String?]?
5108
+
5109
+ attr_accessor reference_id: String?
5110
+
5111
+ def initialize: (
5112
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::cadence,
5113
+ item_id: String,
5114
+ name: String,
5115
+ unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
5116
+ ?billable_metric_id: String?,
5117
+ ?billed_in_advance: bool?,
5118
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
5119
+ ?conversion_rate: Float?,
5120
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
5121
+ ?currency: String?,
5122
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
5123
+ ?external_price_id: String?,
5124
+ ?fixed_price_quantity: Float?,
5125
+ ?invoice_grouping_key: String?,
5126
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
5127
+ ?license_type_id: String?,
5128
+ ?metadata: ::Hash[Symbol, String?]?,
5129
+ ?reference_id: String?,
5130
+ ?model_type: :unit_with_multiplier
5131
+ ) -> void
5132
+
5133
+ def to_hash: -> {
5134
+ cadence: Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::cadence,
5135
+ item_id: String,
5136
+ model_type: :unit_with_multiplier,
5137
+ name: String,
5138
+ unit_with_multiplier_config: Orb::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
5139
+ billable_metric_id: String?,
5140
+ billed_in_advance: bool?,
5141
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
5142
+ conversion_rate: Float?,
5143
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
5144
+ currency: String?,
5145
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
5146
+ external_price_id: String?,
5147
+ fixed_price_quantity: Float?,
5148
+ invoice_grouping_key: String?,
5149
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
5150
+ license_type_id: String?,
5151
+ metadata: ::Hash[Symbol, String?]?,
5152
+ reference_id: String?
5153
+ }
5154
+
5155
+ type cadence =
5156
+ :one_time
5157
+ | :monthly
5158
+ | :quarterly
5159
+ | :semi_annual
5160
+ | :annual
5161
+ | :custom
5162
+
5163
+ module Cadence
5164
+ extend Orb::Internal::Type::Enum
5165
+
5166
+ ONE_TIME: :one_time
5167
+ MONTHLY: :monthly
5168
+ QUARTERLY: :quarterly
5169
+ SEMI_ANNUAL: :semi_annual
5170
+ ANNUAL: :annual
5171
+ CUSTOM: :custom
5172
+
5173
+ def self?.values: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::Price::UnitWithMultiplier::cadence]
5174
+ end
5175
+
5176
+ type unit_with_multiplier_config =
5177
+ {
5178
+ default_display_name: String,
5179
+ display_name_key: String,
5180
+ multiplier_key: String,
5181
+ unit_amount: String
5182
+ }
5183
+
5184
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
5185
+ attr_accessor default_display_name: String
5186
+
5187
+ attr_accessor display_name_key: String
5188
+
5189
+ attr_accessor multiplier_key: String
5190
+
5191
+ attr_accessor unit_amount: String
5192
+
5193
+ def initialize: (
5194
+ default_display_name: String,
5195
+ display_name_key: String,
5196
+ multiplier_key: String,
5197
+ unit_amount: String
5198
+ ) -> void
5199
+
5200
+ def to_hash: -> {
5201
+ default_display_name: String,
5202
+ display_name_key: String,
5203
+ multiplier_key: String,
5204
+ unit_amount: String
5205
+ }
5206
+ end
5207
+ end
5208
+
4887
5209
  def self?.variants: -> ::Array[Orb::Models::Beta::ExternalPlanIDCreatePlanVersionParams::ReplacePrice::price]
4888
5210
  end
4889
5211
  end