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
@@ -136,7 +136,7 @@ module Orb
136
136
  # @!attribute price
137
137
  # New plan price request body params.
138
138
  #
139
- # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation, Orb::Models::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts, Orb::Models::PlanCreateParams::Price::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::PlanCreateParams::Price::Price::CumulativeGroupedAllocation, Orb::Models::PlanCreateParams::Price::Price::DailyCreditAllowance, Orb::Models::PlanCreateParams::Price::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::PlanCreateParams::Price::Price::Percent, Orb::Models::PlanCreateParams::Price::Price::EventOutput, nil]
139
+ # @return [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation, Orb::Models::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts, Orb::Models::PlanCreateParams::Price::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::PlanCreateParams::Price::Price::CumulativeGroupedAllocation, Orb::Models::PlanCreateParams::Price::Price::DailyCreditAllowance, Orb::Models::PlanCreateParams::Price::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::PlanCreateParams::Price::Price::Percent, Orb::Models::PlanCreateParams::Price::Price::EventOutput, Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier, nil]
140
140
  optional :price, union: -> { Orb::PlanCreateParams::Price::Price }, nil?: true
141
141
 
142
142
  # @!method initialize(allocation_price: nil, license_allocation_price: nil, plan_phase_order: nil, price: nil)
@@ -146,7 +146,7 @@ module Orb
146
146
  #
147
147
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
148
148
  #
149
- # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation, Orb::Models::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts, Orb::Models::PlanCreateParams::Price::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::PlanCreateParams::Price::Price::CumulativeGroupedAllocation, Orb::Models::PlanCreateParams::Price::Price::DailyCreditAllowance, Orb::Models::PlanCreateParams::Price::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::PlanCreateParams::Price::Price::Percent, Orb::Models::PlanCreateParams::Price::Price::EventOutput, nil] New plan price request body params.
149
+ # @param price [Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation, Orb::Models::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts, Orb::Models::PlanCreateParams::Price::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::PlanCreateParams::Price::Price::CumulativeGroupedAllocation, Orb::Models::PlanCreateParams::Price::Price::DailyCreditAllowance, Orb::Models::PlanCreateParams::Price::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::PlanCreateParams::Price::Price::Percent, Orb::Models::PlanCreateParams::Price::Price::EventOutput, Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier, nil] New plan price request body params.
150
150
 
151
151
  # @see Orb::Models::PlanCreateParams::Price#license_allocation_price
152
152
  class LicenseAllocationPrice < Orb::Internal::Type::BaseModel
@@ -474,6 +474,8 @@ module Orb
474
474
 
475
475
  variant :event_output, -> { Orb::PlanCreateParams::Price::Price::EventOutput }
476
476
 
477
+ variant :unit_with_multiplier, -> { Orb::PlanCreateParams::Price::Price::UnitWithMultiplier }
478
+
477
479
  class BulkWithFilters < Orb::Internal::Type::BaseModel
478
480
  # @!attribute bulk_with_filters_config
479
481
  # Configuration for bulk_with_filters pricing
@@ -3278,8 +3280,249 @@ module Orb
3278
3280
  end
3279
3281
  end
3280
3282
 
3283
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
3284
+ # @!attribute cadence
3285
+ # The cadence to bill for this price on.
3286
+ #
3287
+ # @return [Symbol, Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier::Cadence]
3288
+ required :cadence, enum: -> { Orb::PlanCreateParams::Price::Price::UnitWithMultiplier::Cadence }
3289
+
3290
+ # @!attribute item_id
3291
+ # The id of the item the price will be associated with.
3292
+ #
3293
+ # @return [String]
3294
+ required :item_id, String
3295
+
3296
+ # @!attribute model_type
3297
+ # The pricing model type
3298
+ #
3299
+ # @return [Symbol, :unit_with_multiplier]
3300
+ required :model_type, const: :unit_with_multiplier
3301
+
3302
+ # @!attribute name
3303
+ # The name of the price.
3304
+ #
3305
+ # @return [String]
3306
+ required :name, String
3307
+
3308
+ # @!attribute unit_with_multiplier_config
3309
+ # Configuration for unit_with_multiplier pricing
3310
+ #
3311
+ # @return [Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier::UnitWithMultiplierConfig]
3312
+ required :unit_with_multiplier_config,
3313
+ -> { Orb::PlanCreateParams::Price::Price::UnitWithMultiplier::UnitWithMultiplierConfig }
3314
+
3315
+ # @!attribute billable_metric_id
3316
+ # The id of the billable metric for the price. Only needed if the price is
3317
+ # usage-based.
3318
+ #
3319
+ # @return [String, nil]
3320
+ optional :billable_metric_id, String, nil?: true
3321
+
3322
+ # @!attribute billed_in_advance
3323
+ # If the Price represents a fixed cost, the price will be billed in-advance if
3324
+ # this is true, and in-arrears if this is false.
3325
+ #
3326
+ # @return [Boolean, nil]
3327
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
3328
+
3329
+ # @!attribute billing_cycle_configuration
3330
+ # For custom cadence: specifies the duration of the billing period in days or
3331
+ # months.
3332
+ #
3333
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3334
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3335
+
3336
+ # @!attribute conversion_rate
3337
+ # The per unit conversion rate of the price currency to the invoicing currency.
3338
+ #
3339
+ # @return [Float, nil]
3340
+ optional :conversion_rate, Float, nil?: true
3341
+
3342
+ # @!attribute conversion_rate_config
3343
+ # The configuration for the rate of the price currency to the invoicing currency.
3344
+ #
3345
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
3346
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
3347
+
3348
+ # @!attribute currency
3349
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
3350
+ # price is billed.
3351
+ #
3352
+ # @return [String, nil]
3353
+ optional :currency, String, nil?: true
3354
+
3355
+ # @!attribute dimensional_price_configuration
3356
+ # For dimensional price: specifies a price group and dimension values
3357
+ #
3358
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
3359
+ optional :dimensional_price_configuration,
3360
+ -> {
3361
+ Orb::NewDimensionalPriceConfiguration
3362
+ },
3363
+ nil?: true
3364
+
3365
+ # @!attribute external_price_id
3366
+ # An alias for the price.
3367
+ #
3368
+ # @return [String, nil]
3369
+ optional :external_price_id, String, nil?: true
3370
+
3371
+ # @!attribute fixed_price_quantity
3372
+ # If the Price represents a fixed cost, this represents the quantity of units
3373
+ # applied.
3374
+ #
3375
+ # @return [Float, nil]
3376
+ optional :fixed_price_quantity, Float, nil?: true
3377
+
3378
+ # @!attribute invoice_grouping_key
3379
+ # The property used to group this price on an invoice
3380
+ #
3381
+ # @return [String, nil]
3382
+ optional :invoice_grouping_key, String, nil?: true
3383
+
3384
+ # @!attribute invoicing_cycle_configuration
3385
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
3386
+ # If unspecified, a single invoice is produced per billing cycle.
3387
+ #
3388
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3389
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3390
+
3391
+ # @!attribute license_type_id
3392
+ # The ID of the license type to associate with this price. On a usage price this
3393
+ # also marks the price as eligible to draw down from that license type's
3394
+ # allocation; a usage price created without it is billed normally. Usage prices
3395
+ # with a license type must use the `unit` model, and only draw down when their
3396
+ # currency matches the allocation's.
3397
+ #
3398
+ # @return [String, nil]
3399
+ optional :license_type_id, String, nil?: true
3400
+
3401
+ # @!attribute metadata
3402
+ # User-specified key/value pairs for the resource. Individual keys can be removed
3403
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
3404
+ # by setting `metadata` to `null`.
3405
+ #
3406
+ # @return [Hash{Symbol=>String, nil}, nil]
3407
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
3408
+
3409
+ # @!attribute reference_id
3410
+ # A transient ID that can be used to reference this price when adding adjustments
3411
+ # in the same API call.
3412
+ #
3413
+ # @return [String, nil]
3414
+ optional :reference_id, String, nil?: true
3415
+
3416
+ # @!method initialize(cadence:, 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, currency: 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, reference_id: nil, model_type: :unit_with_multiplier)
3417
+ # Some parameter documentations has been truncated, see
3418
+ # {Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier} for more
3419
+ # details.
3420
+ #
3421
+ # @param cadence [Symbol, Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier::Cadence] The cadence to bill for this price on.
3422
+ #
3423
+ # @param item_id [String] The id of the item the price will be associated with.
3424
+ #
3425
+ # @param name [String] The name of the price.
3426
+ #
3427
+ # @param unit_with_multiplier_config [Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier::UnitWithMultiplierConfig] Configuration for unit_with_multiplier pricing
3428
+ #
3429
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
3430
+ #
3431
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
3432
+ #
3433
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
3434
+ #
3435
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
3436
+ #
3437
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
3438
+ #
3439
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
3440
+ #
3441
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
3442
+ #
3443
+ # @param external_price_id [String, nil] An alias for the price.
3444
+ #
3445
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
3446
+ #
3447
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
3448
+ #
3449
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
3450
+ #
3451
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price. On a usage price this a
3452
+ #
3453
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
3454
+ #
3455
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
3456
+ #
3457
+ # @param model_type [Symbol, :unit_with_multiplier] The pricing model type
3458
+
3459
+ # The cadence to bill for this price on.
3460
+ #
3461
+ # @see Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier#cadence
3462
+ module Cadence
3463
+ extend Orb::Internal::Type::Enum
3464
+
3465
+ ONE_TIME = :one_time
3466
+ MONTHLY = :monthly
3467
+ QUARTERLY = :quarterly
3468
+ SEMI_ANNUAL = :semi_annual
3469
+ ANNUAL = :annual
3470
+ CUSTOM = :custom
3471
+
3472
+ # @!method self.values
3473
+ # @return [Array<Symbol>]
3474
+ end
3475
+
3476
+ # @see Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier#unit_with_multiplier_config
3477
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
3478
+ # @!attribute default_display_name
3479
+ # Sub-line label for list-price events that don't set display_name_key. Unlabeled
3480
+ # events with another multiplier are labeled by their multiplier (e.g. '0.8×
3481
+ # rate').
3482
+ #
3483
+ # @return [String]
3484
+ required :default_display_name, String
3485
+
3486
+ # @!attribute display_name_key
3487
+ # Event property holding the sub-line label for the event's rate (e.g.
3488
+ # 'Off-peak').
3489
+ #
3490
+ # @return [String]
3491
+ required :display_name_key, String
3492
+
3493
+ # @!attribute multiplier_key
3494
+ # Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
3495
+ # discount). Events without a number between 0 and 1000 with at most 12 decimal
3496
+ # places are charged at unit_amount.
3497
+ #
3498
+ # @return [String]
3499
+ required :multiplier_key, String
3500
+
3501
+ # @!attribute unit_amount
3502
+ # List price per unit, before the event's multiplier is applied.
3503
+ #
3504
+ # @return [String]
3505
+ required :unit_amount, String
3506
+
3507
+ # @!method initialize(default_display_name:, display_name_key:, multiplier_key:, unit_amount:)
3508
+ # Some parameter documentations has been truncated, see
3509
+ # {Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier::UnitWithMultiplierConfig}
3510
+ # for more details.
3511
+ #
3512
+ # Configuration for unit_with_multiplier pricing
3513
+ #
3514
+ # @param default_display_name [String] Sub-line label for list-price events that don't set display_name_key. Unlabeled
3515
+ #
3516
+ # @param display_name_key [String] Event property holding the sub-line label for the event's rate (e.g. 'Off-peak')
3517
+ #
3518
+ # @param multiplier_key [String] Event property holding the multiplier applied to unit_amount (e.g. 0.8 for a 20%
3519
+ #
3520
+ # @param unit_amount [String] List price per unit, before the event's multiplier is applied.
3521
+ end
3522
+ end
3523
+
3281
3524
  # @!method self.variants
3282
- # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation, Orb::Models::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts, Orb::Models::PlanCreateParams::Price::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::PlanCreateParams::Price::Price::CumulativeGroupedAllocation, Orb::Models::PlanCreateParams::Price::Price::DailyCreditAllowance, Orb::Models::PlanCreateParams::Price::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::PlanCreateParams::Price::Price::Percent, Orb::Models::PlanCreateParams::Price::Price::EventOutput)]
3525
+ # @return [Array(Orb::Models::NewPlanUnitPrice, Orb::Models::NewPlanTieredPrice, Orb::Models::NewPlanBulkPrice, Orb::Models::PlanCreateParams::Price::Price::BulkWithFilters, Orb::Models::NewPlanPackagePrice, Orb::Models::NewPlanMatrixPrice, Orb::Models::NewPlanThresholdTotalAmountPrice, Orb::Models::NewPlanTieredPackagePrice, Orb::Models::NewPlanTieredWithMinimumPrice, Orb::Models::NewPlanGroupedTieredPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedTieredMatrix, Orb::Models::NewPlanTieredPackageWithMinimumPrice, Orb::Models::NewPlanPackageWithAllocationPrice, Orb::Models::NewPlanUnitWithPercentPrice, Orb::Models::NewPlanMatrixWithAllocationPrice, Orb::Models::PlanCreateParams::Price::Price::TieredMatrixWithAllocation, Orb::Models::PlanCreateParams::Price::Price::MatrixWithThresholdDiscounts, Orb::Models::PlanCreateParams::Price::Price::TieredWithProration, Orb::Models::NewPlanUnitWithProrationPrice, Orb::Models::NewPlanGroupedAllocationPrice, Orb::Models::NewPlanBulkWithProrationPrice, Orb::Models::NewPlanGroupedWithProratedMinimumPrice, Orb::Models::NewPlanGroupedWithMeteredMinimumPrice, Orb::Models::PlanCreateParams::Price::Price::GroupedWithMinMaxThresholds, Orb::Models::NewPlanMatrixWithDisplayNamePrice, Orb::Models::NewPlanGroupedTieredPackagePrice, Orb::Models::NewPlanMaxGroupTieredPackagePrice, Orb::Models::NewPlanScalableMatrixWithUnitPricingPrice, Orb::Models::NewPlanScalableMatrixWithTieredPricingPrice, Orb::Models::NewPlanCumulativeGroupedBulkPrice, Orb::Models::PlanCreateParams::Price::Price::CumulativeGroupedAllocation, Orb::Models::PlanCreateParams::Price::Price::DailyCreditAllowance, Orb::Models::PlanCreateParams::Price::Price::MeteredAllowance, Orb::Models::NewPlanMinimumCompositePrice, Orb::Models::PlanCreateParams::Price::Price::Percent, Orb::Models::PlanCreateParams::Price::Price::EventOutput, Orb::Models::PlanCreateParams::Price::Price::UnitWithMultiplier)]
3283
3526
  end
3284
3527
  end
3285
3528
 
@@ -25,7 +25,7 @@ module Orb
25
25
  # Prices for this plan. If the plan has phases, this includes prices across all
26
26
  # phases of the plan.
27
27
  #
28
- # @return [Array<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>]
28
+ # @return [Array<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>]
29
29
  required :prices, -> { Orb::Internal::Type::ArrayOf[union: Orb::Price] }
30
30
 
31
31
  # @!attribute version
@@ -46,7 +46,7 @@ module Orb
46
46
  #
47
47
  # @param plan_phases [Array<Orb::Models::PlanVersionPhase>, nil]
48
48
  #
49
- # @param prices [Array<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>] Prices for this plan. If the plan has phases, this includes prices across all ph
49
+ # @param prices [Array<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>] Prices for this plan. If the plan has phases, this includes prices across all ph
50
50
  #
51
51
  # @param version [Integer]
52
52