metronome-sdk 0.1.0 → 0.2.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  5. data/lib/metronome_sdk/models/commit.rb +35 -5
  6. data/lib/metronome_sdk/models/contract_without_amendments.rb +128 -2
  7. data/lib/metronome_sdk/models/credit.rb +21 -3
  8. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  9. data/lib/metronome_sdk/models/v1/contract_create_params.rb +159 -12
  10. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  11. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  12. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +2 -0
  13. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +2 -0
  14. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +183 -24
  15. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +570 -14
  16. data/lib/metronome_sdk/models/v2/contract_list_response.rb +194 -17
  17. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +194 -17
  18. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  19. data/lib/metronome_sdk/version.rb +1 -1
  20. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  21. data/rbi/metronome_sdk/models/commit.rbi +89 -15
  22. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +304 -6
  23. data/rbi/metronome_sdk/models/credit.rbi +54 -9
  24. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  25. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +349 -15
  26. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  27. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  28. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +4 -0
  29. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +4 -0
  30. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +385 -27
  31. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1532 -42
  32. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +431 -37
  33. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +431 -37
  34. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  35. data/rbi/metronome_sdk/resources/v2/contracts.rbi +4 -0
  36. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  37. data/sig/metronome_sdk/models/commit.rbs +50 -15
  38. data/sig/metronome_sdk/models/contract_without_amendments.rbs +120 -6
  39. data/sig/metronome_sdk/models/credit.rbs +30 -9
  40. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  41. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +130 -3
  42. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  43. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  44. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +130 -3
  45. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +612 -6
  46. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +205 -30
  47. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +205 -30
  48. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  49. 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]
@@ -2889,13 +3232,15 @@ module MetronomeSDK
2889
3232
  # or credit. A customer's usage needs to meet the condition of at least one of the
2890
3233
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2891
3234
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
3235
+ # Instead, to target usage by product or product tag, pass those values in the
3236
+ # body of `specifiers`.
2892
3237
  #
2893
3238
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier>, nil]
2894
3239
  optional :specifiers,
2895
3240
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::Specifier] },
2896
3241
  nil?: true
2897
3242
 
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)
3243
+ # @!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, product_id: nil, rollover_fraction: nil, specifiers: nil)
2899
3244
  # Some parameter documentations has been truncated, see
2900
3245
  # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit}
2901
3246
  # for more details.
@@ -2908,6 +3253,8 @@ module MetronomeSDK
2908
3253
  #
2909
3254
  # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
2910
3255
  #
3256
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
3257
+ #
2911
3258
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule]
2912
3259
  #
2913
3260
  # @param name [String]
@@ -3027,6 +3374,103 @@ module MetronomeSDK
3027
3374
  end
3028
3375
  end
3029
3376
 
3377
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#hierarchy_configuration
3378
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3379
+ # @!attribute child_access
3380
+ #
3381
+ # @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]
3382
+ required :child_access,
3383
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess }
3384
+
3385
+ # @!method initialize(child_access:)
3386
+ # Optional configuration for commit hierarchy access control
3387
+ #
3388
+ # @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]
3389
+
3390
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration#child_access
3391
+ module ChildAccess
3392
+ extend MetronomeSDK::Internal::Type::Union
3393
+
3394
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3395
+
3396
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3397
+
3398
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3399
+
3400
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3401
+ # @!attribute type
3402
+ #
3403
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3404
+ required :type,
3405
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3406
+
3407
+ # @!method initialize(type:)
3408
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3409
+
3410
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3411
+ module Type
3412
+ extend MetronomeSDK::Internal::Type::Enum
3413
+
3414
+ ALL = :ALL
3415
+
3416
+ # @!method self.values
3417
+ # @return [Array<Symbol>]
3418
+ end
3419
+ end
3420
+
3421
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3422
+ # @!attribute type
3423
+ #
3424
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3425
+ required :type,
3426
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3427
+
3428
+ # @!method initialize(type:)
3429
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3430
+
3431
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3432
+ module Type
3433
+ extend MetronomeSDK::Internal::Type::Enum
3434
+
3435
+ NONE = :NONE
3436
+
3437
+ # @!method self.values
3438
+ # @return [Array<Symbol>]
3439
+ end
3440
+ end
3441
+
3442
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3443
+ # @!attribute contract_ids
3444
+ #
3445
+ # @return [Array<String>]
3446
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3447
+
3448
+ # @!attribute type
3449
+ #
3450
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3451
+ required :type,
3452
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3453
+
3454
+ # @!method initialize(contract_ids:, type:)
3455
+ # @param contract_ids [Array<String>]
3456
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3457
+
3458
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3459
+ module Type
3460
+ extend MetronomeSDK::Internal::Type::Enum
3461
+
3462
+ CONTRACT_IDS = :CONTRACT_IDS
3463
+
3464
+ # @!method self.values
3465
+ # @return [Array<Symbol>]
3466
+ end
3467
+ end
3468
+
3469
+ # @!method self.variants
3470
+ # @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)]
3471
+ end
3472
+ end
3473
+
3030
3474
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#invoice_schedule
3031
3475
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
3032
3476
  # @!attribute add_schedule_items
@@ -3188,6 +3632,13 @@ module MetronomeSDK
3188
3632
  optional :access_schedule,
3189
3633
  -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule }
3190
3634
 
3635
+ # @!attribute hierarchy_configuration
3636
+ # Optional configuration for credit hierarchy access control
3637
+ #
3638
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration, nil]
3639
+ optional :hierarchy_configuration,
3640
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration }
3641
+
3191
3642
  # @!attribute name
3192
3643
  #
3193
3644
  # @return [String, nil]
@@ -3203,11 +3654,17 @@ module MetronomeSDK
3203
3654
  # @return [Float, nil]
3204
3655
  optional :rollover_fraction, Float, nil?: true
3205
3656
 
3206
- # @!method initialize(id:, access_schedule: nil, name: nil, netsuite_sales_order_id: nil, rollover_fraction: nil)
3657
+ # @!method initialize(id:, access_schedule: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, rollover_fraction: nil)
3207
3658
  # @param id [String]
3659
+ #
3208
3660
  # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule]
3661
+ #
3662
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
3663
+ #
3209
3664
  # @param name [String]
3665
+ #
3210
3666
  # @param netsuite_sales_order_id [String, nil]
3667
+ #
3211
3668
  # @param rollover_fraction [Float, nil]
3212
3669
 
3213
3670
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#access_schedule
@@ -3316,6 +3773,103 @@ module MetronomeSDK
3316
3773
  # @param starting_at [Time] RFC 3339 timestamp (inclusive)
3317
3774
  end
3318
3775
  end
3776
+
3777
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#hierarchy_configuration
3778
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3779
+ # @!attribute child_access
3780
+ #
3781
+ # @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]
3782
+ required :child_access,
3783
+ union: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess }
3784
+
3785
+ # @!method initialize(child_access:)
3786
+ # Optional configuration for credit hierarchy access control
3787
+ #
3788
+ # @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]
3789
+
3790
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration#child_access
3791
+ module ChildAccess
3792
+ extend MetronomeSDK::Internal::Type::Union
3793
+
3794
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3795
+
3796
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3797
+
3798
+ variant -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3799
+
3800
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3801
+ # @!attribute type
3802
+ #
3803
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3804
+ required :type,
3805
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3806
+
3807
+ # @!method initialize(type:)
3808
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3809
+
3810
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3811
+ module Type
3812
+ extend MetronomeSDK::Internal::Type::Enum
3813
+
3814
+ ALL = :ALL
3815
+
3816
+ # @!method self.values
3817
+ # @return [Array<Symbol>]
3818
+ end
3819
+ end
3820
+
3821
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3822
+ # @!attribute type
3823
+ #
3824
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3825
+ required :type,
3826
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3827
+
3828
+ # @!method initialize(type:)
3829
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3830
+
3831
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3832
+ module Type
3833
+ extend MetronomeSDK::Internal::Type::Enum
3834
+
3835
+ NONE = :NONE
3836
+
3837
+ # @!method self.values
3838
+ # @return [Array<Symbol>]
3839
+ end
3840
+ end
3841
+
3842
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3843
+ # @!attribute contract_ids
3844
+ #
3845
+ # @return [Array<String>]
3846
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3847
+
3848
+ # @!attribute type
3849
+ #
3850
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3851
+ required :type,
3852
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3853
+
3854
+ # @!method initialize(contract_ids:, type:)
3855
+ # @param contract_ids [Array<String>]
3856
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3857
+
3858
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3859
+ module Type
3860
+ extend MetronomeSDK::Internal::Type::Enum
3861
+
3862
+ CONTRACT_IDS = :CONTRACT_IDS
3863
+
3864
+ # @!method self.values
3865
+ # @return [Array<Symbol>]
3866
+ end
3867
+ end
3868
+
3869
+ # @!method self.variants
3870
+ # @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)]
3871
+ end
3872
+ end
3319
3873
  end
3320
3874
 
3321
3875
  class UpdateDiscount < MetronomeSDK::Internal::Type::BaseModel
@@ -3360,7 +3914,7 @@ module MetronomeSDK
3360
3914
  # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount#schedule
3361
3915
  class Schedule < MetronomeSDK::Internal::Type::BaseModel
3362
3916
  # @!attribute credit_type_id
3363
- # Defaults to USD if not passed. Only USD is supported at this time.
3917
+ # Defaults to USD (cents) if not passed.
3364
3918
  #
3365
3919
  # @return [String, nil]
3366
3920
  optional :credit_type_id, String
@@ -3388,7 +3942,7 @@ module MetronomeSDK
3388
3942
  #
3389
3943
  # Must provide either schedule_items or recurring_schedule.
3390
3944
  #
3391
- # @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
3945
+ # @param credit_type_id [String] Defaults to USD (cents) if not passed.
3392
3946
  #
3393
3947
  # @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
3948
  #
@@ -3641,6 +4195,8 @@ module MetronomeSDK
3641
4195
  # or credit. A customer's usage needs to meet the condition of at least one of the
3642
4196
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
3643
4197
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
4198
+ # Instead, to target usage by product or product tag, pass those values in the
4199
+ # body of `specifiers`.
3644
4200
  #
3645
4201
  # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdatePrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
3646
4202
  optional :specifiers,