orb-billing 1.24.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/alert.rb +4 -2
  5. data/lib/orb/models/alert_update_params.rb +5 -3
  6. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +530 -6
  7. data/lib/orb/models/beta_create_plan_version_params.rb +526 -6
  8. data/lib/orb/models/changed_subscription_resources.rb +5 -5
  9. data/lib/orb/models/invoice.rb +5 -5
  10. data/lib/orb/models/invoice_fetch_upcoming_response.rb +5 -5
  11. data/lib/orb/models/invoice_issue_summary_response.rb +3 -3
  12. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  13. data/lib/orb/models/invoice_list_summary_response.rb +3 -3
  14. data/lib/orb/models/per_price_cost.rb +2 -2
  15. data/lib/orb/models/plan.rb +2 -2
  16. data/lib/orb/models/plan_create_params.rb +259 -3
  17. data/lib/orb/models/plan_version.rb +2 -2
  18. data/lib/orb/models/price.rb +433 -1
  19. data/lib/orb/models/price_create_params.rb +244 -3
  20. data/lib/orb/models/price_evaluate_multiple_params.rb +255 -3
  21. data/lib/orb/models/price_evaluate_preview_events_params.rb +255 -3
  22. data/lib/orb/models/price_interval.rb +2 -2
  23. data/lib/orb/models/subscription_create_params.rb +521 -6
  24. data/lib/orb/models/subscription_price_intervals_params.rb +251 -3
  25. data/lib/orb/models/subscription_schedule_plan_change_params.rb +530 -6
  26. data/lib/orb/resources/alerts.rb +5 -2
  27. data/lib/orb/resources/customers/costs.rb +20 -0
  28. data/lib/orb/resources/licenses/external_licenses.rb +7 -0
  29. data/lib/orb/resources/licenses/usage.rb +3 -0
  30. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  31. data/lib/orb/resources/prices.rb +5 -5
  32. data/lib/orb/resources/subscriptions.rb +39 -6
  33. data/lib/orb/version.rb +1 -1
  34. data/rbi/orb/models/alert.rbi +6 -2
  35. data/rbi/orb/models/alert_update_params.rbi +8 -4
  36. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2789 -1903
  37. data/rbi/orb/models/beta_create_plan_version_params.rbi +2788 -1902
  38. data/rbi/orb/models/changed_subscription_resources.rbi +7 -6
  39. data/rbi/orb/models/invoice.rbi +7 -6
  40. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +7 -6
  41. data/rbi/orb/models/invoice_issue_summary_response.rbi +6 -6
  42. data/rbi/orb/models/invoice_line_item_create_response.rbi +1 -0
  43. data/rbi/orb/models/invoice_list_summary_response.rbi +6 -6
  44. data/rbi/orb/models/per_price_cost.rbi +1 -0
  45. data/rbi/orb/models/plan.rbi +1 -0
  46. data/rbi/orb/models/plan_create_params.rbi +443 -0
  47. data/rbi/orb/models/plan_version.rbi +1 -0
  48. data/rbi/orb/models/price.rbi +766 -0
  49. data/rbi/orb/models/price_create_params.rbi +431 -0
  50. data/rbi/orb/models/price_evaluate_multiple_params.rbi +431 -0
  51. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +431 -0
  52. data/rbi/orb/models/price_interval.rbi +1 -0
  53. data/rbi/orb/models/subscription_create_params.rbi +2489 -1603
  54. data/rbi/orb/models/subscription_price_intervals_params.rbi +431 -0
  55. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2483 -1597
  56. data/rbi/orb/resources/alerts.rbi +8 -3
  57. data/rbi/orb/resources/customers/costs.rbi +20 -0
  58. data/rbi/orb/resources/licenses/external_licenses.rbi +7 -0
  59. data/rbi/orb/resources/licenses/usage.rbi +3 -0
  60. data/rbi/orb/resources/prices.rbi +1 -0
  61. data/rbi/orb/resources/subscriptions.rbi +39 -6
  62. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +366 -0
  63. data/sig/orb/models/beta_create_plan_version_params.rbs +366 -0
  64. data/sig/orb/models/plan_create_params.rbs +183 -0
  65. data/sig/orb/models/price.rbs +327 -0
  66. data/sig/orb/models/price_create_params.rbs +173 -0
  67. data/sig/orb/models/price_evaluate_multiple_params.rbs +178 -0
  68. data/sig/orb/models/price_evaluate_preview_events_params.rbs +178 -0
  69. data/sig/orb/models/subscription_create_params.rbs +366 -0
  70. data/sig/orb/models/subscription_price_intervals_params.rbs +178 -0
  71. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +366 -0
  72. metadata +2 -2
@@ -100,6 +100,7 @@ module Orb
100
100
  | Orb::NewFloatingTieredPackagePrice
101
101
  | Orb::NewFloatingTieredWithMinimumPrice
102
102
  | Orb::NewFloatingGroupedTieredPrice
103
+ | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix
103
104
  | Orb::NewFloatingTieredPackageWithMinimumPrice
104
105
  | Orb::NewFloatingPackageWithAllocationPrice
105
106
  | Orb::NewFloatingUnitWithPercentPrice
@@ -306,6 +307,183 @@ module Orb
306
307
  end
307
308
  end
308
309
 
310
+ type grouped_tiered_matrix =
311
+ {
312
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence,
313
+ currency: String,
314
+ grouped_tiered_matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
315
+ item_id: String,
316
+ model_type: :grouped_tiered_matrix,
317
+ name: String,
318
+ billable_metric_id: String?,
319
+ billed_in_advance: bool?,
320
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
321
+ conversion_rate: Float?,
322
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
323
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
324
+ external_price_id: String?,
325
+ fixed_price_quantity: Float?,
326
+ invoice_grouping_key: String?,
327
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
328
+ license_type_id: String?,
329
+ metadata: ::Hash[Symbol, String?]?
330
+ }
331
+
332
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
333
+ attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence
334
+
335
+ attr_accessor currency: String
336
+
337
+ attr_accessor grouped_tiered_matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig
338
+
339
+ attr_accessor item_id: String
340
+
341
+ attr_accessor model_type: :grouped_tiered_matrix
342
+
343
+ attr_accessor name: String
344
+
345
+ attr_accessor billable_metric_id: String?
346
+
347
+ attr_accessor billed_in_advance: bool?
348
+
349
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
350
+
351
+ attr_accessor conversion_rate: Float?
352
+
353
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
354
+
355
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
356
+
357
+ attr_accessor external_price_id: String?
358
+
359
+ attr_accessor fixed_price_quantity: Float?
360
+
361
+ attr_accessor invoice_grouping_key: String?
362
+
363
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
364
+
365
+ attr_accessor license_type_id: String?
366
+
367
+ attr_accessor metadata: ::Hash[Symbol, String?]?
368
+
369
+ def initialize: (
370
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence,
371
+ currency: String,
372
+ grouped_tiered_matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
373
+ item_id: String,
374
+ name: String,
375
+ ?billable_metric_id: String?,
376
+ ?billed_in_advance: bool?,
377
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
378
+ ?conversion_rate: Float?,
379
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
380
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
381
+ ?external_price_id: String?,
382
+ ?fixed_price_quantity: Float?,
383
+ ?invoice_grouping_key: String?,
384
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
385
+ ?license_type_id: String?,
386
+ ?metadata: ::Hash[Symbol, String?]?,
387
+ ?model_type: :grouped_tiered_matrix
388
+ ) -> void
389
+
390
+ def to_hash: -> {
391
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence,
392
+ currency: String,
393
+ grouped_tiered_matrix_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
394
+ item_id: String,
395
+ model_type: :grouped_tiered_matrix,
396
+ name: String,
397
+ billable_metric_id: String?,
398
+ billed_in_advance: bool?,
399
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
400
+ conversion_rate: Float?,
401
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
402
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
403
+ external_price_id: String?,
404
+ fixed_price_quantity: Float?,
405
+ invoice_grouping_key: String?,
406
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
407
+ license_type_id: String?,
408
+ metadata: ::Hash[Symbol, String?]?
409
+ }
410
+
411
+ type cadence =
412
+ :annual
413
+ | :semi_annual
414
+ | :monthly
415
+ | :quarterly
416
+ | :one_time
417
+ | :custom
418
+
419
+ module Cadence
420
+ extend Orb::Internal::Type::Enum
421
+
422
+ ANNUAL: :annual
423
+ SEMI_ANNUAL: :semi_annual
424
+ MONTHLY: :monthly
425
+ QUARTERLY: :quarterly
426
+ ONE_TIME: :one_time
427
+ CUSTOM: :custom
428
+
429
+ def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence]
430
+ end
431
+
432
+ type grouped_tiered_matrix_config =
433
+ {
434
+ default_unit_amount: String,
435
+ dimension: String,
436
+ tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
437
+ }
438
+
439
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
440
+ attr_accessor default_unit_amount: String
441
+
442
+ attr_accessor dimension: String
443
+
444
+ attr_accessor tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
445
+
446
+ def initialize: (
447
+ default_unit_amount: String,
448
+ dimension: String,
449
+ tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
450
+ ) -> void
451
+
452
+ def to_hash: -> {
453
+ default_unit_amount: String,
454
+ dimension: String,
455
+ tiers: ::Array[Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
456
+ }
457
+
458
+ type tier =
459
+ {
460
+ dimension_value: String,
461
+ tier_lower_bound: String,
462
+ unit_amount: String
463
+ }
464
+
465
+ class Tier < Orb::Internal::Type::BaseModel
466
+ attr_accessor dimension_value: String
467
+
468
+ attr_accessor tier_lower_bound: String
469
+
470
+ attr_accessor unit_amount: String
471
+
472
+ def initialize: (
473
+ dimension_value: String,
474
+ tier_lower_bound: String,
475
+ unit_amount: String
476
+ ) -> void
477
+
478
+ def to_hash: -> {
479
+ dimension_value: String,
480
+ tier_lower_bound: String,
481
+ unit_amount: String
482
+ }
483
+ end
484
+ end
485
+ end
486
+
309
487
  type matrix_with_threshold_discounts =
310
488
  {
311
489
  cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts::cadence,
@@ -146,6 +146,7 @@ module Orb
146
146
  | Orb::NewFloatingTieredPackagePrice
147
147
  | Orb::NewFloatingTieredWithMinimumPrice
148
148
  | Orb::NewFloatingGroupedTieredPrice
149
+ | Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix
149
150
  | Orb::NewFloatingTieredPackageWithMinimumPrice
150
151
  | Orb::NewFloatingPackageWithAllocationPrice
151
152
  | Orb::NewFloatingUnitWithPercentPrice
@@ -352,6 +353,183 @@ module Orb
352
353
  end
353
354
  end
354
355
 
356
+ type grouped_tiered_matrix =
357
+ {
358
+ cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence,
359
+ currency: String,
360
+ grouped_tiered_matrix_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
361
+ item_id: String,
362
+ model_type: :grouped_tiered_matrix,
363
+ name: String,
364
+ billable_metric_id: String?,
365
+ billed_in_advance: bool?,
366
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
367
+ conversion_rate: Float?,
368
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
369
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
370
+ external_price_id: String?,
371
+ fixed_price_quantity: Float?,
372
+ invoice_grouping_key: String?,
373
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
374
+ license_type_id: String?,
375
+ metadata: ::Hash[Symbol, String?]?
376
+ }
377
+
378
+ class GroupedTieredMatrix < Orb::Internal::Type::BaseModel
379
+ attr_accessor cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence
380
+
381
+ attr_accessor currency: String
382
+
383
+ attr_accessor grouped_tiered_matrix_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig
384
+
385
+ attr_accessor item_id: String
386
+
387
+ attr_accessor model_type: :grouped_tiered_matrix
388
+
389
+ attr_accessor name: String
390
+
391
+ attr_accessor billable_metric_id: String?
392
+
393
+ attr_accessor billed_in_advance: bool?
394
+
395
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
396
+
397
+ attr_accessor conversion_rate: Float?
398
+
399
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
400
+
401
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
402
+
403
+ attr_accessor external_price_id: String?
404
+
405
+ attr_accessor fixed_price_quantity: Float?
406
+
407
+ attr_accessor invoice_grouping_key: String?
408
+
409
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
410
+
411
+ attr_accessor license_type_id: String?
412
+
413
+ attr_accessor metadata: ::Hash[Symbol, String?]?
414
+
415
+ def initialize: (
416
+ cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence,
417
+ currency: String,
418
+ grouped_tiered_matrix_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
419
+ item_id: String,
420
+ name: String,
421
+ ?billable_metric_id: String?,
422
+ ?billed_in_advance: bool?,
423
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
424
+ ?conversion_rate: Float?,
425
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
426
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
427
+ ?external_price_id: String?,
428
+ ?fixed_price_quantity: Float?,
429
+ ?invoice_grouping_key: String?,
430
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
431
+ ?license_type_id: String?,
432
+ ?metadata: ::Hash[Symbol, String?]?,
433
+ ?model_type: :grouped_tiered_matrix
434
+ ) -> void
435
+
436
+ def to_hash: -> {
437
+ cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence,
438
+ currency: String,
439
+ grouped_tiered_matrix_config: Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig,
440
+ item_id: String,
441
+ model_type: :grouped_tiered_matrix,
442
+ name: String,
443
+ billable_metric_id: String?,
444
+ billed_in_advance: bool?,
445
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
446
+ conversion_rate: Float?,
447
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
448
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
449
+ external_price_id: String?,
450
+ fixed_price_quantity: Float?,
451
+ invoice_grouping_key: String?,
452
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
453
+ license_type_id: String?,
454
+ metadata: ::Hash[Symbol, String?]?
455
+ }
456
+
457
+ type cadence =
458
+ :annual
459
+ | :semi_annual
460
+ | :monthly
461
+ | :quarterly
462
+ | :one_time
463
+ | :custom
464
+
465
+ module Cadence
466
+ extend Orb::Internal::Type::Enum
467
+
468
+ ANNUAL: :annual
469
+ SEMI_ANNUAL: :semi_annual
470
+ MONTHLY: :monthly
471
+ QUARTERLY: :quarterly
472
+ ONE_TIME: :one_time
473
+ CUSTOM: :custom
474
+
475
+ def self?.values: -> ::Array[Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::cadence]
476
+ end
477
+
478
+ type grouped_tiered_matrix_config =
479
+ {
480
+ default_unit_amount: String,
481
+ dimension: String,
482
+ tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
483
+ }
484
+
485
+ class GroupedTieredMatrixConfig < Orb::Internal::Type::BaseModel
486
+ attr_accessor default_unit_amount: String
487
+
488
+ attr_accessor dimension: String
489
+
490
+ attr_accessor tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
491
+
492
+ def initialize: (
493
+ default_unit_amount: String,
494
+ dimension: String,
495
+ tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
496
+ ) -> void
497
+
498
+ def to_hash: -> {
499
+ default_unit_amount: String,
500
+ dimension: String,
501
+ tiers: ::Array[Orb::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig::Tier]
502
+ }
503
+
504
+ type tier =
505
+ {
506
+ dimension_value: String,
507
+ tier_lower_bound: String,
508
+ unit_amount: String
509
+ }
510
+
511
+ class Tier < Orb::Internal::Type::BaseModel
512
+ attr_accessor dimension_value: String
513
+
514
+ attr_accessor tier_lower_bound: String
515
+
516
+ attr_accessor unit_amount: String
517
+
518
+ def initialize: (
519
+ dimension_value: String,
520
+ tier_lower_bound: String,
521
+ unit_amount: String
522
+ ) -> void
523
+
524
+ def to_hash: -> {
525
+ dimension_value: String,
526
+ tier_lower_bound: String,
527
+ unit_amount: String
528
+ }
529
+ end
530
+ end
531
+ end
532
+
355
533
  type matrix_with_threshold_discounts =
356
534
  {
357
535
  cadence: Orb::Models::PriceEvaluatePreviewEventsParams::PriceEvaluation::Price::MatrixWithThresholdDiscounts::cadence,