metronome-sdk 0.1.0.pre.alpha.4 → 0.1.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  5. data/lib/metronome_sdk/models/commit.rb +46 -3
  6. data/lib/metronome_sdk/models/contract_without_amendments.rb +242 -2
  7. data/lib/metronome_sdk/models/credit.rb +46 -3
  8. data/lib/metronome_sdk/models/v1/contract_create_params.rb +242 -2
  9. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  10. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  11. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  12. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +242 -2
  13. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +214 -6
  14. data/lib/metronome_sdk/models/v2/contract_list_response.rb +343 -13
  15. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +343 -13
  16. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  17. data/lib/metronome_sdk/resources/v1/customers/commits.rb +3 -1
  18. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  19. data/lib/metronome_sdk/version.rb +1 -1
  20. data/rbi/metronome_sdk/models/commit.rbi +84 -0
  21. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +584 -0
  22. data/rbi/metronome_sdk/models/credit.rbi +87 -3
  23. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +747 -147
  24. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  25. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  26. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  27. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +747 -147
  28. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +584 -6
  29. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +867 -48
  30. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +867 -48
  31. data/rbi/metronome_sdk/resources/v1/contracts.rbi +3 -0
  32. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -0
  33. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  34. data/sig/metronome_sdk/models/commit.rbs +43 -0
  35. data/sig/metronome_sdk/models/contract_without_amendments.rbs +246 -0
  36. data/sig/metronome_sdk/models/credit.rbs +43 -0
  37. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +246 -0
  38. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  39. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  40. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  41. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +246 -0
  42. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +246 -0
  43. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +353 -0
  44. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +353 -0
  45. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  46. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  47. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  48. metadata +4 -4
@@ -3032,6 +3032,24 @@ module MetronomeSDK
3032
3032
  sig { params(ending_before: Time).void }
3033
3033
  attr_writer :ending_before
3034
3034
 
3035
+ # Optional configuration for recurring commit/credit hierarchy access control
3036
+ sig do
3037
+ returns(
3038
+ T.nilable(
3039
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration
3040
+ )
3041
+ )
3042
+ end
3043
+ attr_reader :hierarchy_configuration
3044
+
3045
+ sig do
3046
+ params(
3047
+ hierarchy_configuration:
3048
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::OrHash
3049
+ ).void
3050
+ end
3051
+ attr_writer :hierarchy_configuration
3052
+
3035
3053
  # The amount the customer should be billed for the commit. Not required.
3036
3054
  sig do
3037
3055
  returns(
@@ -3066,7 +3084,6 @@ module MetronomeSDK
3066
3084
 
3067
3085
  # Determines whether the first and last commit will be prorated. If not provided,
3068
3086
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3069
- # subscription_config:
3070
3087
  sig do
3071
3088
  returns(
3072
3089
  T.nilable(
@@ -3158,6 +3175,8 @@ module MetronomeSDK
3158
3175
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract::OrHash,
3159
3176
  description: String,
3160
3177
  ending_before: Time,
3178
+ hierarchy_configuration:
3179
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::OrHash,
3161
3180
  invoice_amount:
3162
3181
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount::OrHash,
3163
3182
  name: String,
@@ -3195,6 +3214,8 @@ module MetronomeSDK
3195
3214
  description: nil,
3196
3215
  # Determines when the contract will stop creating recurring commits. Optional
3197
3216
  ending_before: nil,
3217
+ # Optional configuration for recurring commit/credit hierarchy access control
3218
+ hierarchy_configuration: nil,
3198
3219
  # The amount the customer should be billed for the commit. Not required.
3199
3220
  invoice_amount: nil,
3200
3221
  # Displayed on invoices. Will be passed through to the individual commits
@@ -3203,7 +3224,6 @@ module MetronomeSDK
3203
3224
  netsuite_sales_order_id: nil,
3204
3225
  # Determines whether the first and last commit will be prorated. If not provided,
3205
3226
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3206
- # subscription_config:
3207
3227
  proration: nil,
3208
3228
  # The frequency at which the recurring commits will be created. If not provided: -
3209
3229
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -3242,6 +3262,8 @@ module MetronomeSDK
3242
3262
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract,
3243
3263
  description: String,
3244
3264
  ending_before: Time,
3265
+ hierarchy_configuration:
3266
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration,
3245
3267
  invoice_amount:
3246
3268
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount,
3247
3269
  name: String,
@@ -3464,6 +3486,274 @@ module MetronomeSDK
3464
3486
  end
3465
3487
  end
3466
3488
 
3489
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3490
+ OrHash =
3491
+ T.type_alias do
3492
+ T.any(
3493
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration,
3494
+ MetronomeSDK::Internal::AnyHash
3495
+ )
3496
+ end
3497
+
3498
+ sig do
3499
+ returns(
3500
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::Variants
3501
+ )
3502
+ end
3503
+ attr_accessor :child_access
3504
+
3505
+ # Optional configuration for recurring commit/credit hierarchy access control
3506
+ sig do
3507
+ params(
3508
+ child_access:
3509
+ T.any(
3510
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
3511
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
3512
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
3513
+ )
3514
+ ).returns(T.attached_class)
3515
+ end
3516
+ def self.new(child_access:)
3517
+ end
3518
+
3519
+ sig do
3520
+ override.returns(
3521
+ {
3522
+ child_access:
3523
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::Variants
3524
+ }
3525
+ )
3526
+ end
3527
+ def to_hash
3528
+ end
3529
+
3530
+ module ChildAccess
3531
+ extend MetronomeSDK::Internal::Type::Union
3532
+
3533
+ Variants =
3534
+ T.type_alias do
3535
+ T.any(
3536
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
3537
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
3538
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
3539
+ )
3540
+ end
3541
+
3542
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3543
+ OrHash =
3544
+ T.type_alias do
3545
+ T.any(
3546
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
3547
+ MetronomeSDK::Internal::AnyHash
3548
+ )
3549
+ end
3550
+
3551
+ sig do
3552
+ returns(
3553
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3554
+ )
3555
+ end
3556
+ attr_accessor :type
3557
+
3558
+ sig do
3559
+ params(
3560
+ type:
3561
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
3562
+ ).returns(T.attached_class)
3563
+ end
3564
+ def self.new(type:)
3565
+ end
3566
+
3567
+ sig do
3568
+ override.returns(
3569
+ {
3570
+ type:
3571
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3572
+ }
3573
+ )
3574
+ end
3575
+ def to_hash
3576
+ end
3577
+
3578
+ module Type
3579
+ extend MetronomeSDK::Internal::Type::Enum
3580
+
3581
+ TaggedSymbol =
3582
+ T.type_alias do
3583
+ T.all(
3584
+ Symbol,
3585
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
3586
+ )
3587
+ end
3588
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3589
+
3590
+ ALL =
3591
+ T.let(
3592
+ :ALL,
3593
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3594
+ )
3595
+
3596
+ sig do
3597
+ override.returns(
3598
+ T::Array[
3599
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3600
+ ]
3601
+ )
3602
+ end
3603
+ def self.values
3604
+ end
3605
+ end
3606
+ end
3607
+
3608
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3609
+ OrHash =
3610
+ T.type_alias do
3611
+ T.any(
3612
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
3613
+ MetronomeSDK::Internal::AnyHash
3614
+ )
3615
+ end
3616
+
3617
+ sig do
3618
+ returns(
3619
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3620
+ )
3621
+ end
3622
+ attr_accessor :type
3623
+
3624
+ sig do
3625
+ params(
3626
+ type:
3627
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
3628
+ ).returns(T.attached_class)
3629
+ end
3630
+ def self.new(type:)
3631
+ end
3632
+
3633
+ sig do
3634
+ override.returns(
3635
+ {
3636
+ type:
3637
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3638
+ }
3639
+ )
3640
+ end
3641
+ def to_hash
3642
+ end
3643
+
3644
+ module Type
3645
+ extend MetronomeSDK::Internal::Type::Enum
3646
+
3647
+ TaggedSymbol =
3648
+ T.type_alias do
3649
+ T.all(
3650
+ Symbol,
3651
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
3652
+ )
3653
+ end
3654
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3655
+
3656
+ NONE =
3657
+ T.let(
3658
+ :NONE,
3659
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3660
+ )
3661
+
3662
+ sig do
3663
+ override.returns(
3664
+ T::Array[
3665
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3666
+ ]
3667
+ )
3668
+ end
3669
+ def self.values
3670
+ end
3671
+ end
3672
+ end
3673
+
3674
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3675
+ OrHash =
3676
+ T.type_alias do
3677
+ T.any(
3678
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
3679
+ MetronomeSDK::Internal::AnyHash
3680
+ )
3681
+ end
3682
+
3683
+ sig { returns(T::Array[String]) }
3684
+ attr_accessor :contract_ids
3685
+
3686
+ sig do
3687
+ returns(
3688
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3689
+ )
3690
+ end
3691
+ attr_accessor :type
3692
+
3693
+ sig do
3694
+ params(
3695
+ contract_ids: T::Array[String],
3696
+ type:
3697
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
3698
+ ).returns(T.attached_class)
3699
+ end
3700
+ def self.new(contract_ids:, type:)
3701
+ end
3702
+
3703
+ sig do
3704
+ override.returns(
3705
+ {
3706
+ contract_ids: T::Array[String],
3707
+ type:
3708
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3709
+ }
3710
+ )
3711
+ end
3712
+ def to_hash
3713
+ end
3714
+
3715
+ module Type
3716
+ extend MetronomeSDK::Internal::Type::Enum
3717
+
3718
+ TaggedSymbol =
3719
+ T.type_alias do
3720
+ T.all(
3721
+ Symbol,
3722
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
3723
+ )
3724
+ end
3725
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3726
+
3727
+ CONTRACT_IDS =
3728
+ T.let(
3729
+ :CONTRACT_IDS,
3730
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3731
+ )
3732
+
3733
+ sig do
3734
+ override.returns(
3735
+ T::Array[
3736
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3737
+ ]
3738
+ )
3739
+ end
3740
+ def self.values
3741
+ end
3742
+ end
3743
+ end
3744
+
3745
+ sig do
3746
+ override.returns(
3747
+ T::Array[
3748
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::HierarchyConfiguration::ChildAccess::Variants
3749
+ ]
3750
+ )
3751
+ end
3752
+ def self.variants
3753
+ end
3754
+ end
3755
+ end
3756
+
3467
3757
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3468
3758
  OrHash =
3469
3759
  T.type_alias do
@@ -3504,7 +3794,6 @@ module MetronomeSDK
3504
3794
 
3505
3795
  # Determines whether the first and last commit will be prorated. If not provided,
3506
3796
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3507
- # subscription_config:
3508
3797
  module Proration
3509
3798
  extend MetronomeSDK::Internal::Type::Enum
3510
3799
 
@@ -3790,6 +4079,24 @@ module MetronomeSDK
3790
4079
  sig { params(ending_before: Time).void }
3791
4080
  attr_writer :ending_before
3792
4081
 
4082
+ # Optional configuration for recurring commit/credit hierarchy access control
4083
+ sig do
4084
+ returns(
4085
+ T.nilable(
4086
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration
4087
+ )
4088
+ )
4089
+ end
4090
+ attr_reader :hierarchy_configuration
4091
+
4092
+ sig do
4093
+ params(
4094
+ hierarchy_configuration:
4095
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::OrHash
4096
+ ).void
4097
+ end
4098
+ attr_writer :hierarchy_configuration
4099
+
3793
4100
  # Displayed on invoices. Will be passed through to the individual commits
3794
4101
  sig { returns(T.nilable(String)) }
3795
4102
  attr_reader :name
@@ -3806,7 +4113,6 @@ module MetronomeSDK
3806
4113
 
3807
4114
  # Determines whether the first and last commit will be prorated. If not provided,
3808
4115
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3809
- # subscription_config:
3810
4116
  sig do
3811
4117
  returns(
3812
4118
  T.nilable(
@@ -3898,6 +4204,8 @@ module MetronomeSDK
3898
4204
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Contract::OrHash,
3899
4205
  description: String,
3900
4206
  ending_before: Time,
4207
+ hierarchy_configuration:
4208
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::OrHash,
3901
4209
  name: String,
3902
4210
  netsuite_sales_order_id: String,
3903
4211
  proration:
@@ -3933,13 +4241,14 @@ module MetronomeSDK
3933
4241
  description: nil,
3934
4242
  # Determines when the contract will stop creating recurring commits. Optional
3935
4243
  ending_before: nil,
4244
+ # Optional configuration for recurring commit/credit hierarchy access control
4245
+ hierarchy_configuration: nil,
3936
4246
  # Displayed on invoices. Will be passed through to the individual commits
3937
4247
  name: nil,
3938
4248
  # Will be passed down to the individual commits
3939
4249
  netsuite_sales_order_id: nil,
3940
4250
  # Determines whether the first and last commit will be prorated. If not provided,
3941
4251
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3942
- # subscription_config:
3943
4252
  proration: nil,
3944
4253
  # The frequency at which the recurring commits will be created. If not provided: -
3945
4254
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -3978,6 +4287,8 @@ module MetronomeSDK
3978
4287
  MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Contract,
3979
4288
  description: String,
3980
4289
  ending_before: Time,
4290
+ hierarchy_configuration:
4291
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration,
3981
4292
  name: String,
3982
4293
  netsuite_sales_order_id: String,
3983
4294
  proration:
@@ -4198,9 +4509,276 @@ module MetronomeSDK
4198
4509
  end
4199
4510
  end
4200
4511
 
4512
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
4513
+ OrHash =
4514
+ T.type_alias do
4515
+ T.any(
4516
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration,
4517
+ MetronomeSDK::Internal::AnyHash
4518
+ )
4519
+ end
4520
+
4521
+ sig do
4522
+ returns(
4523
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::Variants
4524
+ )
4525
+ end
4526
+ attr_accessor :child_access
4527
+
4528
+ # Optional configuration for recurring commit/credit hierarchy access control
4529
+ sig do
4530
+ params(
4531
+ child_access:
4532
+ T.any(
4533
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
4534
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
4535
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
4536
+ )
4537
+ ).returns(T.attached_class)
4538
+ end
4539
+ def self.new(child_access:)
4540
+ end
4541
+
4542
+ sig do
4543
+ override.returns(
4544
+ {
4545
+ child_access:
4546
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::Variants
4547
+ }
4548
+ )
4549
+ end
4550
+ def to_hash
4551
+ end
4552
+
4553
+ module ChildAccess
4554
+ extend MetronomeSDK::Internal::Type::Union
4555
+
4556
+ Variants =
4557
+ T.type_alias do
4558
+ T.any(
4559
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
4560
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
4561
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
4562
+ )
4563
+ end
4564
+
4565
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
4566
+ OrHash =
4567
+ T.type_alias do
4568
+ T.any(
4569
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
4570
+ MetronomeSDK::Internal::AnyHash
4571
+ )
4572
+ end
4573
+
4574
+ sig do
4575
+ returns(
4576
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4577
+ )
4578
+ end
4579
+ attr_accessor :type
4580
+
4581
+ sig do
4582
+ params(
4583
+ type:
4584
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
4585
+ ).returns(T.attached_class)
4586
+ end
4587
+ def self.new(type:)
4588
+ end
4589
+
4590
+ sig do
4591
+ override.returns(
4592
+ {
4593
+ type:
4594
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4595
+ }
4596
+ )
4597
+ end
4598
+ def to_hash
4599
+ end
4600
+
4601
+ module Type
4602
+ extend MetronomeSDK::Internal::Type::Enum
4603
+
4604
+ TaggedSymbol =
4605
+ T.type_alias do
4606
+ T.all(
4607
+ Symbol,
4608
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
4609
+ )
4610
+ end
4611
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4612
+
4613
+ ALL =
4614
+ T.let(
4615
+ :ALL,
4616
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4617
+ )
4618
+
4619
+ sig do
4620
+ override.returns(
4621
+ T::Array[
4622
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4623
+ ]
4624
+ )
4625
+ end
4626
+ def self.values
4627
+ end
4628
+ end
4629
+ end
4630
+
4631
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
4632
+ OrHash =
4633
+ T.type_alias do
4634
+ T.any(
4635
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
4636
+ MetronomeSDK::Internal::AnyHash
4637
+ )
4638
+ end
4639
+
4640
+ sig do
4641
+ returns(
4642
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4643
+ )
4644
+ end
4645
+ attr_accessor :type
4646
+
4647
+ sig do
4648
+ params(
4649
+ type:
4650
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
4651
+ ).returns(T.attached_class)
4652
+ end
4653
+ def self.new(type:)
4654
+ end
4655
+
4656
+ sig do
4657
+ override.returns(
4658
+ {
4659
+ type:
4660
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4661
+ }
4662
+ )
4663
+ end
4664
+ def to_hash
4665
+ end
4666
+
4667
+ module Type
4668
+ extend MetronomeSDK::Internal::Type::Enum
4669
+
4670
+ TaggedSymbol =
4671
+ T.type_alias do
4672
+ T.all(
4673
+ Symbol,
4674
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
4675
+ )
4676
+ end
4677
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4678
+
4679
+ NONE =
4680
+ T.let(
4681
+ :NONE,
4682
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4683
+ )
4684
+
4685
+ sig do
4686
+ override.returns(
4687
+ T::Array[
4688
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4689
+ ]
4690
+ )
4691
+ end
4692
+ def self.values
4693
+ end
4694
+ end
4695
+ end
4696
+
4697
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
4698
+ OrHash =
4699
+ T.type_alias do
4700
+ T.any(
4701
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
4702
+ MetronomeSDK::Internal::AnyHash
4703
+ )
4704
+ end
4705
+
4706
+ sig { returns(T::Array[String]) }
4707
+ attr_accessor :contract_ids
4708
+
4709
+ sig do
4710
+ returns(
4711
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4712
+ )
4713
+ end
4714
+ attr_accessor :type
4715
+
4716
+ sig do
4717
+ params(
4718
+ contract_ids: T::Array[String],
4719
+ type:
4720
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
4721
+ ).returns(T.attached_class)
4722
+ end
4723
+ def self.new(contract_ids:, type:)
4724
+ end
4725
+
4726
+ sig do
4727
+ override.returns(
4728
+ {
4729
+ contract_ids: T::Array[String],
4730
+ type:
4731
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4732
+ }
4733
+ )
4734
+ end
4735
+ def to_hash
4736
+ end
4737
+
4738
+ module Type
4739
+ extend MetronomeSDK::Internal::Type::Enum
4740
+
4741
+ TaggedSymbol =
4742
+ T.type_alias do
4743
+ T.all(
4744
+ Symbol,
4745
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
4746
+ )
4747
+ end
4748
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4749
+
4750
+ CONTRACT_IDS =
4751
+ T.let(
4752
+ :CONTRACT_IDS,
4753
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4754
+ )
4755
+
4756
+ sig do
4757
+ override.returns(
4758
+ T::Array[
4759
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4760
+ ]
4761
+ )
4762
+ end
4763
+ def self.values
4764
+ end
4765
+ end
4766
+ end
4767
+
4768
+ sig do
4769
+ override.returns(
4770
+ T::Array[
4771
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::HierarchyConfiguration::ChildAccess::Variants
4772
+ ]
4773
+ )
4774
+ end
4775
+ def self.variants
4776
+ end
4777
+ end
4778
+ end
4779
+
4201
4780
  # Determines whether the first and last commit will be prorated. If not provided,
4202
4781
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
4203
- # subscription_config:
4204
4782
  module Proration
4205
4783
  extend MetronomeSDK::Internal::Type::Enum
4206
4784