metronome-sdk 0.1.0 → 0.3.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  5. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  6. data/lib/metronome_sdk/internal/type/base_model.rb +3 -1
  7. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  8. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/union.rb +9 -7
  10. data/lib/metronome_sdk/models/commit.rb +35 -5
  11. data/lib/metronome_sdk/models/contract_without_amendments.rb +128 -2
  12. data/lib/metronome_sdk/models/credit.rb +21 -3
  13. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  14. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  15. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +54 -5
  16. data/lib/metronome_sdk/models/v1/contract_create_params.rb +219 -23
  17. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +8 -1
  18. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -1
  19. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  20. data/lib/metronome_sdk/models/v1/customers/invoice.rb +13 -1
  21. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  22. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +12 -1
  23. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +12 -1
  24. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +259 -37
  25. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +602 -15
  26. data/lib/metronome_sdk/models/v2/contract_list_response.rb +194 -17
  27. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +194 -17
  28. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  29. data/lib/metronome_sdk/resources/v1/contracts/products.rb +3 -1
  30. data/lib/metronome_sdk/resources/v2/contracts.rb +6 -2
  31. data/lib/metronome_sdk/version.rb +1 -1
  32. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  33. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  34. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  35. data/rbi/metronome_sdk/models/commit.rbi +89 -15
  36. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +304 -6
  37. data/rbi/metronome_sdk/models/credit.rbi +54 -9
  38. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  39. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  40. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +76 -3
  41. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +433 -26
  42. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +9 -0
  43. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +13 -0
  44. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  45. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +16 -0
  46. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  47. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +14 -0
  48. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +14 -0
  49. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +481 -38
  50. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1565 -42
  51. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +431 -37
  52. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +431 -37
  53. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  54. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +2 -0
  55. data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
  56. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  57. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  58. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  59. data/sig/metronome_sdk/models/commit.rbs +50 -15
  60. data/sig/metronome_sdk/models/contract_without_amendments.rbs +120 -6
  61. data/sig/metronome_sdk/models/credit.rbs +30 -9
  62. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  63. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  64. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +38 -3
  65. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -6
  66. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  67. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +7 -0
  68. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  69. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  70. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  71. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +5 -0
  72. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +5 -0
  73. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +178 -6
  74. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +629 -6
  75. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +205 -30
  76. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +205 -30
  77. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  78. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  79. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  80. metadata +2 -2
@@ -306,6 +306,13 @@ module MetronomeSDK
306
306
  # @return [String, nil]
307
307
  optional :description, String
308
308
 
309
+ # @!attribute hierarchy_configuration
310
+ # Optional configuration for commit hierarchy access control
311
+ #
312
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration, nil]
313
+ optional :hierarchy_configuration,
314
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration }
315
+
309
316
  # @!attribute invoice_schedule
310
317
  # The schedule that the customer will be invoiced for this commit.
311
318
  #
@@ -352,12 +359,14 @@ module MetronomeSDK
352
359
  # or credit. A customer's usage needs to meet the condition of at least one of the
353
360
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
354
361
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
362
+ # Instead, to target usage by product or product tag, pass those values in the
363
+ # body of `specifiers`.
355
364
  #
356
365
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier>, nil]
357
366
  optional :specifiers,
358
367
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Specifier] }
359
368
 
360
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
369
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil)
361
370
  # Some parameter documentations has been truncated, see
362
371
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit} for
363
372
  # more details.
@@ -376,6 +385,8 @@ module MetronomeSDK
376
385
  #
377
386
  # @param description [String]
378
387
  #
388
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
389
+ #
379
390
  # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
380
391
  #
381
392
  # @param name [String]
@@ -420,6 +431,103 @@ module MetronomeSDK
420
431
  # @return [Array<Symbol>]
421
432
  end
422
433
 
434
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#hierarchy_configuration
435
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
436
+ # @!attribute child_access
437
+ #
438
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
439
+ required :child_access,
440
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess }
441
+
442
+ # @!method initialize(child_access:)
443
+ # Optional configuration for commit hierarchy access control
444
+ #
445
+ # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
446
+
447
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration#child_access
448
+ module ChildAccess
449
+ extend MetronomeSDK::Internal::Type::Union
450
+
451
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
452
+
453
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
454
+
455
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
456
+
457
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
458
+ # @!attribute type
459
+ #
460
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
461
+ required :type,
462
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
463
+
464
+ # @!method initialize(type:)
465
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
466
+
467
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
468
+ module Type
469
+ extend MetronomeSDK::Internal::Type::Enum
470
+
471
+ ALL = :ALL
472
+
473
+ # @!method self.values
474
+ # @return [Array<Symbol>]
475
+ end
476
+ end
477
+
478
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
479
+ # @!attribute type
480
+ #
481
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
482
+ required :type,
483
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
484
+
485
+ # @!method initialize(type:)
486
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
487
+
488
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
489
+ module Type
490
+ extend MetronomeSDK::Internal::Type::Enum
491
+
492
+ NONE = :NONE
493
+
494
+ # @!method self.values
495
+ # @return [Array<Symbol>]
496
+ end
497
+ end
498
+
499
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
500
+ # @!attribute contract_ids
501
+ #
502
+ # @return [Array<String>]
503
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
504
+
505
+ # @!attribute type
506
+ #
507
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
508
+ required :type,
509
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
510
+
511
+ # @!method initialize(contract_ids:, type:)
512
+ # @param contract_ids [Array<String>]
513
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
514
+
515
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
516
+ module Type
517
+ extend MetronomeSDK::Internal::Type::Enum
518
+
519
+ CONTRACT_IDS = :CONTRACT_IDS
520
+
521
+ # @!method self.values
522
+ # @return [Array<Symbol>]
523
+ end
524
+ end
525
+
526
+ # @!method self.variants
527
+ # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
528
+ end
529
+ end
530
+
423
531
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#rate_type
424
532
  module RateType
425
533
  extend MetronomeSDK::Internal::Type::Enum
@@ -509,6 +617,13 @@ module MetronomeSDK
509
617
  # @return [String, nil]
510
618
  optional :description, String
511
619
 
620
+ # @!attribute hierarchy_configuration
621
+ # Optional configuration for recurring credit hierarchy access control
622
+ #
623
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration, nil]
624
+ optional :hierarchy_configuration,
625
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration }
626
+
512
627
  # @!attribute name
513
628
  #
514
629
  # @return [String, nil]
@@ -538,12 +653,14 @@ module MetronomeSDK
538
653
  # or credit. A customer's usage needs to meet the condition of at least one of the
539
654
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
540
655
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
656
+ # Instead, to target usage by product or product tag, pass those values in the
657
+ # body of `specifiers`.
541
658
  #
542
659
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier>, nil]
543
660
  optional :specifiers,
544
661
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Specifier] }
545
662
 
546
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
663
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
547
664
  # Some parameter documentations has been truncated, see
548
665
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit} for
549
666
  # more details.
@@ -562,6 +679,8 @@ module MetronomeSDK
562
679
  #
563
680
  # @param description [String]
564
681
  #
682
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
683
+ #
565
684
  # @param name [String]
566
685
  #
567
686
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
@@ -599,6 +718,103 @@ module MetronomeSDK
599
718
  # @return [Array<Symbol>]
600
719
  end
601
720
 
721
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit#hierarchy_configuration
722
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
723
+ # @!attribute child_access
724
+ #
725
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
726
+ required :child_access,
727
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess }
728
+
729
+ # @!method initialize(child_access:)
730
+ # Optional configuration for recurring credit hierarchy access control
731
+ #
732
+ # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
733
+
734
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration#child_access
735
+ module ChildAccess
736
+ extend MetronomeSDK::Internal::Type::Union
737
+
738
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
739
+
740
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
741
+
742
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
743
+
744
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
745
+ # @!attribute type
746
+ #
747
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
748
+ required :type,
749
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
750
+
751
+ # @!method initialize(type:)
752
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
753
+
754
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
755
+ module Type
756
+ extend MetronomeSDK::Internal::Type::Enum
757
+
758
+ ALL = :ALL
759
+
760
+ # @!method self.values
761
+ # @return [Array<Symbol>]
762
+ end
763
+ end
764
+
765
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
766
+ # @!attribute type
767
+ #
768
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
769
+ required :type,
770
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
771
+
772
+ # @!method initialize(type:)
773
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
774
+
775
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
776
+ module Type
777
+ extend MetronomeSDK::Internal::Type::Enum
778
+
779
+ NONE = :NONE
780
+
781
+ # @!method self.values
782
+ # @return [Array<Symbol>]
783
+ end
784
+ end
785
+
786
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
787
+ # @!attribute contract_ids
788
+ #
789
+ # @return [Array<String>]
790
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
791
+
792
+ # @!attribute type
793
+ #
794
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
795
+ required :type,
796
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
797
+
798
+ # @!method initialize(contract_ids:, type:)
799
+ # @param contract_ids [Array<String>]
800
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
801
+
802
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
803
+ module Type
804
+ extend MetronomeSDK::Internal::Type::Enum
805
+
806
+ CONTRACT_IDS = :CONTRACT_IDS
807
+
808
+ # @!method self.values
809
+ # @return [Array<Symbol>]
810
+ end
811
+ end
812
+
813
+ # @!method self.variants
814
+ # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
815
+ end
816
+ end
817
+
602
818
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
603
819
  # @!attribute presentation_group_values
604
820
  #
@@ -1036,6 +1252,8 @@ module MetronomeSDK
1036
1252
  # or credit. A customer's usage needs to meet the condition of at least one of the
1037
1253
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
1038
1254
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
1255
+ # Instead, to target usage by product or product tag, pass those values in the
1256
+ # body of `specifiers`.
1039
1257
  #
1040
1258
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddPrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
1041
1259
  optional :specifiers,
@@ -1330,7 +1548,7 @@ module MetronomeSDK
1330
1548
  optional :ending_before, Time
1331
1549
 
1332
1550
  # @!attribute hierarchy_configuration
1333
- # Optional configuration for recurring commit/credit hierarchy access control
1551
+ # Optional configuration for recurring credit hierarchy access control
1334
1552
  #
1335
1553
  # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration, nil]
1336
1554
  optional :hierarchy_configuration,
@@ -1391,7 +1609,14 @@ module MetronomeSDK
1391
1609
  optional :specifiers,
1392
1610
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier] }
1393
1611
 
1394
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
1612
+ # @!attribute subscription_config
1613
+ # Attach a subscription to the recurring commit/credit.
1614
+ #
1615
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig, nil]
1616
+ optional :subscription_config,
1617
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig }
1618
+
1619
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1395
1620
  # Some parameter documentations has been truncated, see
1396
1621
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit}
1397
1622
  # for more details.
@@ -1420,7 +1645,7 @@ module MetronomeSDK
1420
1645
  #
1421
1646
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1422
1647
  #
1423
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
1648
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
1424
1649
  #
1425
1650
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
1426
1651
  #
@@ -1435,6 +1660,8 @@ module MetronomeSDK
1435
1660
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1436
1661
  #
1437
1662
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1663
+ #
1664
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
1438
1665
 
1439
1666
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#access_amount
1440
1667
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -1541,7 +1768,7 @@ module MetronomeSDK
1541
1768
  union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess }
1542
1769
 
1543
1770
  # @!method initialize(child_access:)
1544
- # Optional configuration for recurring commit/credit hierarchy access control
1771
+ # Optional configuration for recurring credit hierarchy access control
1545
1772
  #
1546
1773
  # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1547
1774
 
@@ -1726,6 +1953,56 @@ module MetronomeSDK
1726
1953
  #
1727
1954
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1728
1955
  end
1956
+
1957
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#subscription_config
1958
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
1959
+ # @!attribute allocation
1960
+ #
1961
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::Allocation]
1962
+ required :allocation,
1963
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::Allocation }
1964
+
1965
+ # @!attribute apply_seat_increase_config
1966
+ #
1967
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
1968
+ required :apply_seat_increase_config,
1969
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig }
1970
+
1971
+ # @!attribute subscription_id
1972
+ #
1973
+ # @return [String]
1974
+ required :subscription_id, String
1975
+
1976
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
1977
+ # Attach a subscription to the recurring commit/credit.
1978
+ #
1979
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::Allocation]
1980
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
1981
+ # @param subscription_id [String]
1982
+
1983
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig#allocation
1984
+ module Allocation
1985
+ extend MetronomeSDK::Internal::Type::Enum
1986
+
1987
+ INDIVIDUAL = :INDIVIDUAL
1988
+ POOLED = :POOLED
1989
+
1990
+ # @!method self.values
1991
+ # @return [Array<Symbol>]
1992
+ end
1993
+
1994
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::SubscriptionConfig#apply_seat_increase_config
1995
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
1996
+ # @!attribute is_prorated
1997
+ # Indicates whether a mid-period seat increase should be prorated.
1998
+ #
1999
+ # @return [Boolean]
2000
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2001
+
2002
+ # @!method initialize(is_prorated:)
2003
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
2004
+ end
2005
+ end
1729
2006
  end
1730
2007
 
1731
2008
  class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -1804,7 +2081,7 @@ module MetronomeSDK
1804
2081
  optional :ending_before, Time
1805
2082
 
1806
2083
  # @!attribute hierarchy_configuration
1807
- # Optional configuration for recurring commit/credit hierarchy access control
2084
+ # Optional configuration for recurring credit hierarchy access control
1808
2085
  #
1809
2086
  # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration, nil]
1810
2087
  optional :hierarchy_configuration,
@@ -1858,7 +2135,14 @@ module MetronomeSDK
1858
2135
  optional :specifiers,
1859
2136
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier] }
1860
2137
 
1861
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
2138
+ # @!attribute subscription_config
2139
+ # Attach a subscription to the recurring commit/credit.
2140
+ #
2141
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig, nil]
2142
+ optional :subscription_config,
2143
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig }
2144
+
2145
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
1862
2146
  # Some parameter documentations has been truncated, see
1863
2147
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit}
1864
2148
  # for more details.
@@ -1887,7 +2171,7 @@ module MetronomeSDK
1887
2171
  #
1888
2172
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1889
2173
  #
1890
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
2174
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
1891
2175
  #
1892
2176
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
1893
2177
  #
@@ -1900,6 +2184,8 @@ module MetronomeSDK
1900
2184
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1901
2185
  #
1902
2186
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2187
+ #
2188
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
1903
2189
 
1904
2190
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#access_amount
1905
2191
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -2006,7 +2292,7 @@ module MetronomeSDK
2006
2292
  union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess }
2007
2293
 
2008
2294
  # @!method initialize(child_access:)
2009
- # Optional configuration for recurring commit/credit hierarchy access control
2295
+ # Optional configuration for recurring credit hierarchy access control
2010
2296
  #
2011
2297
  # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
2012
2298
 
@@ -2166,6 +2452,56 @@ module MetronomeSDK
2166
2452
  #
2167
2453
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2168
2454
  end
2455
+
2456
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#subscription_config
2457
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
2458
+ # @!attribute allocation
2459
+ #
2460
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::Allocation]
2461
+ required :allocation,
2462
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::Allocation }
2463
+
2464
+ # @!attribute apply_seat_increase_config
2465
+ #
2466
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
2467
+ required :apply_seat_increase_config,
2468
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig }
2469
+
2470
+ # @!attribute subscription_id
2471
+ #
2472
+ # @return [String]
2473
+ required :subscription_id, String
2474
+
2475
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
2476
+ # Attach a subscription to the recurring commit/credit.
2477
+ #
2478
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::Allocation]
2479
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
2480
+ # @param subscription_id [String]
2481
+
2482
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig#allocation
2483
+ module Allocation
2484
+ extend MetronomeSDK::Internal::Type::Enum
2485
+
2486
+ INDIVIDUAL = :INDIVIDUAL
2487
+ POOLED = :POOLED
2488
+
2489
+ # @!method self.values
2490
+ # @return [Array<Symbol>]
2491
+ end
2492
+
2493
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::SubscriptionConfig#apply_seat_increase_config
2494
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
2495
+ # @!attribute is_prorated
2496
+ # Indicates whether a mid-period seat increase should be prorated.
2497
+ #
2498
+ # @return [Boolean]
2499
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
2500
+
2501
+ # @!method initialize(is_prorated:)
2502
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
2503
+ end
2504
+ end
2169
2505
  end
2170
2506
 
2171
2507
  class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
@@ -2858,6 +3194,13 @@ module MetronomeSDK
2858
3194
  # @return [Array<String>, nil]
2859
3195
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
2860
3196
 
3197
+ # @!attribute hierarchy_configuration
3198
+ # Optional configuration for commit hierarchy access control
3199
+ #
3200
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration, nil]
3201
+ optional :hierarchy_configuration,
3202
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration }
3203
+
2861
3204
  # @!attribute invoice_schedule
2862
3205
  #
2863
3206
  # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule, nil]
@@ -2874,6 +3217,13 @@ module MetronomeSDK
2874
3217
  # @return [String, nil]
2875
3218
  optional :netsuite_sales_order_id, String, nil?: true
2876
3219
 
3220
+ # @!attribute priority
3221
+ # If multiple commits are applicable, the one with the lower priority will apply
3222
+ # first.
3223
+ #
3224
+ # @return [Float, nil]
3225
+ optional :priority, Float, nil?: true
3226
+
2877
3227
  # @!attribute product_id
2878
3228
  #
2879
3229
  # @return [String, nil]
@@ -2889,13 +3239,15 @@ module MetronomeSDK
2889
3239
  # or credit. A customer's usage needs to meet the condition of at least one of the
2890
3240
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2891
3241
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
3242
+ # Instead, to target usage by product or product tag, pass those values in the
3243
+ # body of `specifiers`.
2892
3244
  #
2893
3245
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier>, nil]
2894
3246
  optional :specifiers,
2895
3247
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier] },
2896
3248
  nil?: true
2897
3249
 
2898
- # @!method initialize(id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil, specifiers: nil)
3250
+ # @!method initialize(id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, hierarchy_configuration: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, product_id: nil, rollover_fraction: nil, specifiers: nil)
2899
3251
  # Some parameter documentations has been truncated, see
2900
3252
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit}
2901
3253
  # for more details.
@@ -2908,12 +3260,16 @@ module MetronomeSDK
2908
3260
  #
2909
3261
  # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
2910
3262
  #
3263
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
3264
+ #
2911
3265
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule]
2912
3266
  #
2913
3267
  # @param name [String]
2914
3268
  #
2915
3269
  # @param netsuite_sales_order_id [String, nil]
2916
3270
  #
3271
+ # @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
3272
+ #
2917
3273
  # @param product_id [String]
2918
3274
  #
2919
3275
  # @param rollover_fraction [Float, nil]
@@ -3027,6 +3383,103 @@ module MetronomeSDK
3027
3383
  end
3028
3384
  end
3029
3385
 
3386
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#hierarchy_configuration
3387
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3388
+ # @!attribute child_access
3389
+ #
3390
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3391
+ required :child_access,
3392
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess }
3393
+
3394
+ # @!method initialize(child_access:)
3395
+ # Optional configuration for commit hierarchy access control
3396
+ #
3397
+ # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3398
+
3399
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration#child_access
3400
+ module ChildAccess
3401
+ extend MetronomeSDK::Internal::Type::Union
3402
+
3403
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3404
+
3405
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3406
+
3407
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3408
+
3409
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3410
+ # @!attribute type
3411
+ #
3412
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3413
+ required :type,
3414
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3415
+
3416
+ # @!method initialize(type:)
3417
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3418
+
3419
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3420
+ module Type
3421
+ extend MetronomeSDK::Internal::Type::Enum
3422
+
3423
+ ALL = :ALL
3424
+
3425
+ # @!method self.values
3426
+ # @return [Array<Symbol>]
3427
+ end
3428
+ end
3429
+
3430
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3431
+ # @!attribute type
3432
+ #
3433
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3434
+ required :type,
3435
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3436
+
3437
+ # @!method initialize(type:)
3438
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3439
+
3440
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3441
+ module Type
3442
+ extend MetronomeSDK::Internal::Type::Enum
3443
+
3444
+ NONE = :NONE
3445
+
3446
+ # @!method self.values
3447
+ # @return [Array<Symbol>]
3448
+ end
3449
+ end
3450
+
3451
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3452
+ # @!attribute contract_ids
3453
+ #
3454
+ # @return [Array<String>]
3455
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3456
+
3457
+ # @!attribute type
3458
+ #
3459
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3460
+ required :type,
3461
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3462
+
3463
+ # @!method initialize(contract_ids:, type:)
3464
+ # @param contract_ids [Array<String>]
3465
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3466
+
3467
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3468
+ module Type
3469
+ extend MetronomeSDK::Internal::Type::Enum
3470
+
3471
+ CONTRACT_IDS = :CONTRACT_IDS
3472
+
3473
+ # @!method self.values
3474
+ # @return [Array<Symbol>]
3475
+ end
3476
+ end
3477
+
3478
+ # @!method self.variants
3479
+ # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3480
+ end
3481
+ end
3482
+
3030
3483
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#invoice_schedule
3031
3484
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3032
3485
  # @!attribute add_schedule_items
@@ -3188,6 +3641,13 @@ module MetronomeSDK
3188
3641
  optional :access_schedule,
3189
3642
  -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule }
3190
3643
 
3644
+ # @!attribute hierarchy_configuration
3645
+ # Optional configuration for credit hierarchy access control
3646
+ #
3647
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration, nil]
3648
+ optional :hierarchy_configuration,
3649
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration }
3650
+
3191
3651
  # @!attribute name
3192
3652
  #
3193
3653
  # @return [String, nil]
@@ -3198,16 +3658,35 @@ module MetronomeSDK
3198
3658
  # @return [String, nil]
3199
3659
  optional :netsuite_sales_order_id, String, nil?: true
3200
3660
 
3661
+ # @!attribute priority
3662
+ # If multiple credits are applicable, the one with the lower priority will apply
3663
+ # first.
3664
+ #
3665
+ # @return [Float, nil]
3666
+ optional :priority, Float, nil?: true
3667
+
3201
3668
  # @!attribute rollover_fraction
3202
3669
  #
3203
3670
  # @return [Float, nil]
3204
3671
  optional :rollover_fraction, Float, nil?: true
3205
3672
 
3206
- # @!method initialize(id:, access_schedule: nil, name: nil, netsuite_sales_order_id: nil, rollover_fraction: nil)
3673
+ # @!method initialize(id:, access_schedule: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rollover_fraction: nil)
3674
+ # Some parameter documentations has been truncated, see
3675
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit}
3676
+ # for more details.
3677
+ #
3207
3678
  # @param id [String]
3679
+ #
3208
3680
  # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule]
3681
+ #
3682
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
3683
+ #
3209
3684
  # @param name [String]
3685
+ #
3210
3686
  # @param netsuite_sales_order_id [String, nil]
3687
+ #
3688
+ # @param priority [Float, nil] If multiple credits are applicable, the one with the lower priority will apply f
3689
+ #
3211
3690
  # @param rollover_fraction [Float, nil]
3212
3691
 
3213
3692
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#access_schedule
@@ -3316,6 +3795,103 @@ module MetronomeSDK
3316
3795
  # @param starting_at [Time] RFC 3339 timestamp (inclusive)
3317
3796
  end
3318
3797
  end
3798
+
3799
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#hierarchy_configuration
3800
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3801
+ # @!attribute child_access
3802
+ #
3803
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3804
+ required :child_access,
3805
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess }
3806
+
3807
+ # @!method initialize(child_access:)
3808
+ # Optional configuration for credit hierarchy access control
3809
+ #
3810
+ # @param child_access [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3811
+
3812
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration#child_access
3813
+ module ChildAccess
3814
+ extend MetronomeSDK::Internal::Type::Union
3815
+
3816
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3817
+
3818
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3819
+
3820
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3821
+
3822
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3823
+ # @!attribute type
3824
+ #
3825
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3826
+ required :type,
3827
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3828
+
3829
+ # @!method initialize(type:)
3830
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3831
+
3832
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3833
+ module Type
3834
+ extend MetronomeSDK::Internal::Type::Enum
3835
+
3836
+ ALL = :ALL
3837
+
3838
+ # @!method self.values
3839
+ # @return [Array<Symbol>]
3840
+ end
3841
+ end
3842
+
3843
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3844
+ # @!attribute type
3845
+ #
3846
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3847
+ required :type,
3848
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3849
+
3850
+ # @!method initialize(type:)
3851
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3852
+
3853
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3854
+ module Type
3855
+ extend MetronomeSDK::Internal::Type::Enum
3856
+
3857
+ NONE = :NONE
3858
+
3859
+ # @!method self.values
3860
+ # @return [Array<Symbol>]
3861
+ end
3862
+ end
3863
+
3864
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3865
+ # @!attribute contract_ids
3866
+ #
3867
+ # @return [Array<String>]
3868
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3869
+
3870
+ # @!attribute type
3871
+ #
3872
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3873
+ required :type,
3874
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3875
+
3876
+ # @!method initialize(contract_ids:, type:)
3877
+ # @param contract_ids [Array<String>]
3878
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3879
+
3880
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3881
+ module Type
3882
+ extend MetronomeSDK::Internal::Type::Enum
3883
+
3884
+ CONTRACT_IDS = :CONTRACT_IDS
3885
+
3886
+ # @!method self.values
3887
+ # @return [Array<Symbol>]
3888
+ end
3889
+ end
3890
+
3891
+ # @!method self.variants
3892
+ # @return [Array(MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3893
+ end
3894
+ end
3319
3895
  end
3320
3896
 
3321
3897
  class UpdateDiscount < MetronomeSDK::Internal::Type::BaseModel
@@ -3360,11 +3936,18 @@ module MetronomeSDK
3360
3936
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount#schedule
3361
3937
  class Schedule < MetronomeSDK::Internal::Type::BaseModel
3362
3938
  # @!attribute credit_type_id
3363
- # Defaults to USD if not passed. Only USD is supported at this time.
3939
+ # Defaults to USD (cents) if not passed.
3364
3940
  #
3365
3941
  # @return [String, nil]
3366
3942
  optional :credit_type_id, String
3367
3943
 
3944
+ # @!attribute do_not_invoice
3945
+ # This field is only applicable to commit invoice schedules. If true, this
3946
+ # schedule will not generate an invoice.
3947
+ #
3948
+ # @return [Boolean, nil]
3949
+ optional :do_not_invoice, MetronomeSDK::Internal::Type::Boolean
3950
+
3368
3951
  # @!attribute recurring_schedule
3369
3952
  # Enter the unit price and quantity for the charge or instead only send the
3370
3953
  # amount. If amount is sent, the unit price is assumed to be the amount and
@@ -3381,14 +3964,16 @@ module MetronomeSDK
3381
3964
  optional :schedule_items,
3382
3965
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem] }
3383
3966
 
3384
- # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
3967
+ # @!method initialize(credit_type_id: nil, do_not_invoice: nil, recurring_schedule: nil, schedule_items: nil)
3385
3968
  # Some parameter documentations has been truncated, see
3386
3969
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule}
3387
3970
  # for more details.
3388
3971
  #
3389
3972
  # Must provide either schedule_items or recurring_schedule.
3390
3973
  #
3391
- # @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
3974
+ # @param credit_type_id [String] Defaults to USD (cents) if not passed.
3975
+ #
3976
+ # @param do_not_invoice [Boolean] This field is only applicable to commit invoice schedules. If true, this schedul
3392
3977
  #
3393
3978
  # @param recurring_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
3394
3979
  #
@@ -3641,6 +4226,8 @@ module MetronomeSDK
3641
4226
  # or credit. A customer's usage needs to meet the condition of at least one of the
3642
4227
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3643
4228
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
4229
+ # Instead, to target usage by product or product tag, pass those values in the
4230
+ # body of `specifiers`.
3644
4231
  #
3645
4232
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
3646
4233
  optional :specifiers,