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
@@ -10,11 +10,11 @@ module Orb
10
10
  # @!attribute body
11
11
  # New floating price request body params.
12
12
  #
13
- # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceCreateParams::Body::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput]
13
+ # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceCreateParams::Body::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput, Orb::Models::PriceCreateParams::Body::UnitWithMultiplier]
14
14
  required :body, union: -> { Orb::PriceCreateParams::Body }
15
15
 
16
16
  # @!method initialize(body:, request_options: {})
17
- # @param body [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceCreateParams::Body::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput] New floating price request body params.
17
+ # @param body [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceCreateParams::Body::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput, Orb::Models::PriceCreateParams::Body::UnitWithMultiplier] New floating price request body params.
18
18
  #
19
19
  # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
20
20
 
@@ -97,6 +97,8 @@ module Orb
97
97
 
98
98
  variant :event_output, -> { Orb::PriceCreateParams::Body::EventOutput }
99
99
 
100
+ variant :unit_with_multiplier, -> { Orb::PriceCreateParams::Body::UnitWithMultiplier }
101
+
100
102
  class BulkWithFilters < Orb::Internal::Type::BaseModel
101
103
  # @!attribute bulk_with_filters_config
102
104
  # Configuration for bulk_with_filters pricing
@@ -2522,8 +2524,234 @@ module Orb
2522
2524
  end
2523
2525
  end
2524
2526
 
2527
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
2528
+ # @!attribute cadence
2529
+ # The cadence to bill for this price on.
2530
+ #
2531
+ # @return [Symbol, Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::Cadence]
2532
+ required :cadence, enum: -> { Orb::PriceCreateParams::Body::UnitWithMultiplier::Cadence }
2533
+
2534
+ # @!attribute currency
2535
+ # An ISO 4217 currency string for which this price is billed in.
2536
+ #
2537
+ # @return [String]
2538
+ required :currency, String
2539
+
2540
+ # @!attribute item_id
2541
+ # The id of the item the price will be associated with.
2542
+ #
2543
+ # @return [String]
2544
+ required :item_id, String
2545
+
2546
+ # @!attribute model_type
2547
+ # The pricing model type
2548
+ #
2549
+ # @return [Symbol, :unit_with_multiplier]
2550
+ required :model_type, const: :unit_with_multiplier
2551
+
2552
+ # @!attribute name
2553
+ # The name of the price.
2554
+ #
2555
+ # @return [String]
2556
+ required :name, String
2557
+
2558
+ # @!attribute unit_with_multiplier_config
2559
+ # Configuration for unit_with_multiplier pricing
2560
+ #
2561
+ # @return [Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig]
2562
+ required :unit_with_multiplier_config,
2563
+ -> { Orb::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig }
2564
+
2565
+ # @!attribute billable_metric_id
2566
+ # The id of the billable metric for the price. Only needed if the price is
2567
+ # usage-based.
2568
+ #
2569
+ # @return [String, nil]
2570
+ optional :billable_metric_id, String, nil?: true
2571
+
2572
+ # @!attribute billed_in_advance
2573
+ # If the Price represents a fixed cost, the price will be billed in-advance if
2574
+ # this is true, and in-arrears if this is false.
2575
+ #
2576
+ # @return [Boolean, nil]
2577
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
2578
+
2579
+ # @!attribute billing_cycle_configuration
2580
+ # For custom cadence: specifies the duration of the billing period in days or
2581
+ # months.
2582
+ #
2583
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2584
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2585
+
2586
+ # @!attribute conversion_rate
2587
+ # The per unit conversion rate of the price currency to the invoicing currency.
2588
+ #
2589
+ # @return [Float, nil]
2590
+ optional :conversion_rate, Float, nil?: true
2591
+
2592
+ # @!attribute conversion_rate_config
2593
+ # The configuration for the rate of the price currency to the invoicing currency.
2594
+ #
2595
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2596
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2597
+
2598
+ # @!attribute dimensional_price_configuration
2599
+ # For dimensional price: specifies a price group and dimension values
2600
+ #
2601
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
2602
+ optional :dimensional_price_configuration, -> { Orb::NewDimensionalPriceConfiguration }, nil?: true
2603
+
2604
+ # @!attribute external_price_id
2605
+ # An alias for the price.
2606
+ #
2607
+ # @return [String, nil]
2608
+ optional :external_price_id, String, nil?: true
2609
+
2610
+ # @!attribute fixed_price_quantity
2611
+ # If the Price represents a fixed cost, this represents the quantity of units
2612
+ # applied.
2613
+ #
2614
+ # @return [Float, nil]
2615
+ optional :fixed_price_quantity, Float, nil?: true
2616
+
2617
+ # @!attribute invoice_grouping_key
2618
+ # The property used to group this price on an invoice
2619
+ #
2620
+ # @return [String, nil]
2621
+ optional :invoice_grouping_key, String, nil?: true
2622
+
2623
+ # @!attribute invoicing_cycle_configuration
2624
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
2625
+ # If unspecified, a single invoice is produced per billing cycle.
2626
+ #
2627
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2628
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2629
+
2630
+ # @!attribute license_type_id
2631
+ # The ID of the license type to associate with this price. On a usage price this
2632
+ # also marks the price as eligible to draw down from that license type's
2633
+ # allocation; a usage price created without it is billed normally. Usage prices
2634
+ # with a license type must use the `unit` model, and only draw down when their
2635
+ # currency matches the allocation's.
2636
+ #
2637
+ # @return [String, nil]
2638
+ optional :license_type_id, String, nil?: true
2639
+
2640
+ # @!attribute metadata
2641
+ # User-specified key/value pairs for the resource. Individual keys can be removed
2642
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
2643
+ # by setting `metadata` to `null`.
2644
+ #
2645
+ # @return [Hash{Symbol=>String, nil}, nil]
2646
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
2647
+
2648
+ # @!method initialize(cadence:, currency:, item_id:, name:, unit_with_multiplier_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :unit_with_multiplier)
2649
+ # Some parameter documentations has been truncated, see
2650
+ # {Orb::Models::PriceCreateParams::Body::UnitWithMultiplier} for more details.
2651
+ #
2652
+ # @param cadence [Symbol, Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::Cadence] The cadence to bill for this price on.
2653
+ #
2654
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
2655
+ #
2656
+ # @param item_id [String] The id of the item the price will be associated with.
2657
+ #
2658
+ # @param name [String] The name of the price.
2659
+ #
2660
+ # @param unit_with_multiplier_config [Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig] Configuration for unit_with_multiplier pricing
2661
+ #
2662
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
2663
+ #
2664
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
2665
+ #
2666
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
2667
+ #
2668
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
2669
+ #
2670
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
2671
+ #
2672
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
2673
+ #
2674
+ # @param external_price_id [String, nil] An alias for the price.
2675
+ #
2676
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
2677
+ #
2678
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
2679
+ #
2680
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
2681
+ #
2682
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
2683
+ #
2684
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
2685
+ #
2686
+ # @param model_type [Symbol, :unit_with_multiplier] The pricing model type
2687
+
2688
+ # The cadence to bill for this price on.
2689
+ #
2690
+ # @see Orb::Models::PriceCreateParams::Body::UnitWithMultiplier#cadence
2691
+ module Cadence
2692
+ extend Orb::Internal::Type::Enum
2693
+
2694
+ ONE_TIME = :one_time
2695
+ MONTHLY = :monthly
2696
+ QUARTERLY = :quarterly
2697
+ SEMI_ANNUAL = :semi_annual
2698
+ ANNUAL = :annual
2699
+ CUSTOM = :custom
2700
+
2701
+ # @!method self.values
2702
+ # @return [Array<Symbol>]
2703
+ end
2704
+
2705
+ # @see Orb::Models::PriceCreateParams::Body::UnitWithMultiplier#unit_with_multiplier_config
2706
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
2707
+ # @!attribute default_display_name
2708
+ # Sub-line label for list-price events that don't set display_name_key. Unlabeled
2709
+ # events with another multiplier are labeled by their multiplier (e.g. '0.8×
2710
+ # rate').
2711
+ #
2712
+ # @return [String]
2713
+ required :default_display_name, String
2714
+
2715
+ # @!attribute display_name_key
2716
+ # Event property holding the sub-line label for the event's rate (e.g.
2717
+ # 'Off-peak').
2718
+ #
2719
+ # @return [String]
2720
+ required :display_name_key, String
2721
+
2722
+ # @!attribute multiplier_key
2723
+ # Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
2724
+ # discount). Events without a number between 0 and 1000 with at most 12 decimal
2725
+ # places are charged at unit_amount.
2726
+ #
2727
+ # @return [String]
2728
+ required :multiplier_key, String
2729
+
2730
+ # @!attribute unit_amount
2731
+ # List price per unit, before the event's multiplier is applied.
2732
+ #
2733
+ # @return [String]
2734
+ required :unit_amount, String
2735
+
2736
+ # @!method initialize(default_display_name:, display_name_key:, multiplier_key:, unit_amount:)
2737
+ # Some parameter documentations has been truncated, see
2738
+ # {Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig}
2739
+ # for more details.
2740
+ #
2741
+ # Configuration for unit_with_multiplier pricing
2742
+ #
2743
+ # @param default_display_name [String] Sub-line label for list-price events that don't set display_name_key. Unlabeled
2744
+ #
2745
+ # @param display_name_key [String] Event property holding the sub-line label for the event's rate (e.g. 'Off-peak')
2746
+ #
2747
+ # @param multiplier_key [String] Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
2748
+ #
2749
+ # @param unit_amount [String] List price per unit, before the event's multiplier is applied.
2750
+ end
2751
+ end
2752
+
2525
2753
  # @!method self.variants
2526
- # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceCreateParams::Body::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput)]
2754
+ # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceCreateParams::Body::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::TieredMatrixWithAllocation, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput, Orb::Models::PriceCreateParams::Body::UnitWithMultiplier)]
2527
2755
  end
2528
2756
  end
2529
2757
  end
@@ -34,7 +34,7 @@ module Orb
34
34
  # For more on the types of prices, see
35
35
  # [the core concepts documentation](/core-concepts#plan-and-price)
36
36
  #
37
- # @return [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::GroupedTieredMatrix, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredMatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput]
37
+ # @return [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::GroupedTieredMatrix, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredMatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput, Orb::Models::Price::UnitWithMultiplier]
38
38
  required :price, union: -> { Orb::Price }
39
39
 
40
40
  # @!attribute properties
@@ -60,7 +60,7 @@ module Orb
60
60
  #
61
61
  # @param payload_style [Symbol, Orb::Models::PriceEditedWebhookEvent::PayloadStyle] The serialization style this payload was rendered in, as configured on the endpo
62
62
  #
63
- # @param price [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::GroupedTieredMatrix, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredMatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput] The Price resource represents a price that can be billed on a subscription, resu
63
+ # @param price [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::GroupedTieredMatrix, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredMatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput, Orb::Models::Price::UnitWithMultiplier] The Price resource represents a price that can be billed on a subscription, resu
64
64
  #
65
65
  # @param properties [Orb::Models::PriceEditedWebhookEvent::Properties]
66
66
  #
@@ -86,7 +86,7 @@ module Orb
86
86
  # @!attribute price
87
87
  # New floating price request body params.
88
88
  #
89
- # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::DailyCreditAllowance, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Percent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput, nil]
89
+ # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::DailyCreditAllowance, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Percent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier, nil]
90
90
  optional :price, union: -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price }, nil?: true
91
91
 
92
92
  # @!attribute price_id
@@ -107,7 +107,7 @@ module Orb
107
107
  #
108
108
  # @param metric_parameter_overrides [Hash{Symbol=>Object}, nil] Optional overrides for parameterized billable metric parameters. If the metric h
109
109
  #
110
- # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::DailyCreditAllowance, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Percent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput, nil] New floating price request body params.
110
+ # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::DailyCreditAllowance, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Percent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier, nil] New floating price request body params.
111
111
  #
112
112
  # @param price_id [String, nil] The ID of a price to evaluate that exists in your Orb account.
113
113
 
@@ -199,6 +199,9 @@ module Orb
199
199
 
200
200
  variant :event_output, -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput }
201
201
 
202
+ variant :unit_with_multiplier,
203
+ -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier }
204
+
202
205
  class BulkWithFilters < Orb::Internal::Type::BaseModel
203
206
  # @!attribute bulk_with_filters_config
204
207
  # Configuration for bulk_with_filters pricing
@@ -2694,8 +2697,240 @@ module Orb
2694
2697
  end
2695
2698
  end
2696
2699
 
2700
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
2701
+ # @!attribute cadence
2702
+ # The cadence to bill for this price on.
2703
+ #
2704
+ # @return [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::Cadence]
2705
+ required :cadence,
2706
+ enum: -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::Cadence }
2707
+
2708
+ # @!attribute currency
2709
+ # An ISO 4217 currency string for which this price is billed in.
2710
+ #
2711
+ # @return [String]
2712
+ required :currency, String
2713
+
2714
+ # @!attribute item_id
2715
+ # The id of the item the price will be associated with.
2716
+ #
2717
+ # @return [String]
2718
+ required :item_id, String
2719
+
2720
+ # @!attribute model_type
2721
+ # The pricing model type
2722
+ #
2723
+ # @return [Symbol, :unit_with_multiplier]
2724
+ required :model_type, const: :unit_with_multiplier
2725
+
2726
+ # @!attribute name
2727
+ # The name of the price.
2728
+ #
2729
+ # @return [String]
2730
+ required :name, String
2731
+
2732
+ # @!attribute unit_with_multiplier_config
2733
+ # Configuration for unit_with_multiplier pricing
2734
+ #
2735
+ # @return [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig]
2736
+ required :unit_with_multiplier_config,
2737
+ -> { Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig }
2738
+
2739
+ # @!attribute billable_metric_id
2740
+ # The id of the billable metric for the price. Only needed if the price is
2741
+ # usage-based.
2742
+ #
2743
+ # @return [String, nil]
2744
+ optional :billable_metric_id, String, nil?: true
2745
+
2746
+ # @!attribute billed_in_advance
2747
+ # If the Price represents a fixed cost, the price will be billed in-advance if
2748
+ # this is true, and in-arrears if this is false.
2749
+ #
2750
+ # @return [Boolean, nil]
2751
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
2752
+
2753
+ # @!attribute billing_cycle_configuration
2754
+ # For custom cadence: specifies the duration of the billing period in days or
2755
+ # months.
2756
+ #
2757
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2758
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2759
+
2760
+ # @!attribute conversion_rate
2761
+ # The per unit conversion rate of the price currency to the invoicing currency.
2762
+ #
2763
+ # @return [Float, nil]
2764
+ optional :conversion_rate, Float, nil?: true
2765
+
2766
+ # @!attribute conversion_rate_config
2767
+ # The configuration for the rate of the price currency to the invoicing currency.
2768
+ #
2769
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2770
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2771
+
2772
+ # @!attribute dimensional_price_configuration
2773
+ # For dimensional price: specifies a price group and dimension values
2774
+ #
2775
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
2776
+ optional :dimensional_price_configuration,
2777
+ -> {
2778
+ Orb::NewDimensionalPriceConfiguration
2779
+ },
2780
+ nil?: true
2781
+
2782
+ # @!attribute external_price_id
2783
+ # An alias for the price.
2784
+ #
2785
+ # @return [String, nil]
2786
+ optional :external_price_id, String, nil?: true
2787
+
2788
+ # @!attribute fixed_price_quantity
2789
+ # If the Price represents a fixed cost, this represents the quantity of units
2790
+ # applied.
2791
+ #
2792
+ # @return [Float, nil]
2793
+ optional :fixed_price_quantity, Float, nil?: true
2794
+
2795
+ # @!attribute invoice_grouping_key
2796
+ # The property used to group this price on an invoice
2797
+ #
2798
+ # @return [String, nil]
2799
+ optional :invoice_grouping_key, String, nil?: true
2800
+
2801
+ # @!attribute invoicing_cycle_configuration
2802
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
2803
+ # If unspecified, a single invoice is produced per billing cycle.
2804
+ #
2805
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2806
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2807
+
2808
+ # @!attribute license_type_id
2809
+ # The ID of the license type to associate with this price. On a usage price this
2810
+ # also marks the price as eligible to draw down from that license type's
2811
+ # allocation; a usage price created without it is billed normally. Usage prices
2812
+ # with a license type must use the `unit` model, and only draw down when their
2813
+ # currency matches the allocation's.
2814
+ #
2815
+ # @return [String, nil]
2816
+ optional :license_type_id, String, nil?: true
2817
+
2818
+ # @!attribute metadata
2819
+ # User-specified key/value pairs for the resource. Individual keys can be removed
2820
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
2821
+ # by setting `metadata` to `null`.
2822
+ #
2823
+ # @return [Hash{Symbol=>String, nil}, nil]
2824
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
2825
+
2826
+ # @!method initialize(cadence:, currency:, item_id:, name:, unit_with_multiplier_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :unit_with_multiplier)
2827
+ # Some parameter documentations has been truncated, see
2828
+ # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier}
2829
+ # for more details.
2830
+ #
2831
+ # @param cadence [Symbol, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::Cadence] The cadence to bill for this price on.
2832
+ #
2833
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
2834
+ #
2835
+ # @param item_id [String] The id of the item the price will be associated with.
2836
+ #
2837
+ # @param name [String] The name of the price.
2838
+ #
2839
+ # @param unit_with_multiplier_config [Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig] Configuration for unit_with_multiplier pricing
2840
+ #
2841
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
2842
+ #
2843
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
2844
+ #
2845
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
2846
+ #
2847
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
2848
+ #
2849
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
2850
+ #
2851
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
2852
+ #
2853
+ # @param external_price_id [String, nil] An alias for the price.
2854
+ #
2855
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
2856
+ #
2857
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
2858
+ #
2859
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
2860
+ #
2861
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
2862
+ #
2863
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
2864
+ #
2865
+ # @param model_type [Symbol, :unit_with_multiplier] The pricing model type
2866
+
2867
+ # The cadence to bill for this price on.
2868
+ #
2869
+ # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier#cadence
2870
+ module Cadence
2871
+ extend Orb::Internal::Type::Enum
2872
+
2873
+ ONE_TIME = :one_time
2874
+ MONTHLY = :monthly
2875
+ QUARTERLY = :quarterly
2876
+ SEMI_ANNUAL = :semi_annual
2877
+ ANNUAL = :annual
2878
+ CUSTOM = :custom
2879
+
2880
+ # @!method self.values
2881
+ # @return [Array<Symbol>]
2882
+ end
2883
+
2884
+ # @see Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier#unit_with_multiplier_config
2885
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
2886
+ # @!attribute default_display_name
2887
+ # Sub-line label for list-price events that don't set display_name_key. Unlabeled
2888
+ # events with another multiplier are labeled by their multiplier (e.g. '0.8×
2889
+ # rate').
2890
+ #
2891
+ # @return [String]
2892
+ required :default_display_name, String
2893
+
2894
+ # @!attribute display_name_key
2895
+ # Event property holding the sub-line label for the event's rate (e.g.
2896
+ # 'Off-peak').
2897
+ #
2898
+ # @return [String]
2899
+ required :display_name_key, String
2900
+
2901
+ # @!attribute multiplier_key
2902
+ # Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
2903
+ # discount). Events without a number between 0 and 1000 with at most 12 decimal
2904
+ # places are charged at unit_amount.
2905
+ #
2906
+ # @return [String]
2907
+ required :multiplier_key, String
2908
+
2909
+ # @!attribute unit_amount
2910
+ # List price per unit, before the event's multiplier is applied.
2911
+ #
2912
+ # @return [String]
2913
+ required :unit_amount, String
2914
+
2915
+ # @!method initialize(default_display_name:, display_name_key:, multiplier_key:, unit_amount:)
2916
+ # Some parameter documentations has been truncated, see
2917
+ # {Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig}
2918
+ # for more details.
2919
+ #
2920
+ # Configuration for unit_with_multiplier pricing
2921
+ #
2922
+ # @param default_display_name [String] Sub-line label for list-price events that don't set display_name_key. Unlabeled
2923
+ #
2924
+ # @param display_name_key [String] Event property holding the sub-line label for the event's rate (e.g. 'Off-peak')
2925
+ #
2926
+ # @param multiplier_key [String] Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
2927
+ #
2928
+ # @param unit_amount [String] List price per unit, before the event's multiplier is applied.
2929
+ end
2930
+ end
2931
+
2697
2932
  # @!method self.variants
2698
- # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::DailyCreditAllowance, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Percent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput)]
2933
+ # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::TieredMatrixWithAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::CumulativeGroupedAllocation, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::DailyCreditAllowance, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::Percent, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput, Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier)]
2699
2934
  end
2700
2935
  end
2701
2936
  end