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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a44d5d1875ab2a3f6799d850de8e858790cf3b1effe78faf11aaf66cb63108bb
4
- data.tar.gz: e8a0924693987951798904c088ba86857560fbf85a32948f1dde31a04cb2c1eb
3
+ metadata.gz: 8f4ff0f17b280b8084d27b79a761e6ab88ffe486ef89d0e6eb293ed03bd30c1a
4
+ data.tar.gz: a9dc39b1d257fc714c2a2cc523098fb84533ac07cfcddfc9b02d0ba28651e368
5
5
  SHA512:
6
- metadata.gz: 041527374ecc4da3c21f5b5971ac35962814ac7fbe8f80791b168b9daaff0cf2ab6360d6a0c98f5b63e41c4eecfa3edbbc29c5dda5cfdbd830a073a72b383dd3
7
- data.tar.gz: 4f1c4fabe61b612eee4e20203a62c5c3cebe1df469d59cc9d6d299495f51fc9d5b489f82ed339b0008347ed6d04ee00d4026888410ee1bdc1565942fcf8869b5
6
+ metadata.gz: 406759335a7c9a236c5743e7f3127de60773ea9e7984444d3e19fa2640f20355d6f82cffb86588ab691d0a66b537acb3ee003176c8d3400e0d8fc9a8b1a1b17b
7
+ data.tar.gz: f030ece1727f3e6742106c2d49c748ffe33285307ee54049f32eaab33d0926c7b3574b45487ecdf48ab4216070e1bfb36e0a774b9388c72ab8ac0a46411b0c2c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0 (2025-07-24)
4
+
5
+ Full Changelog: [v0.1.0-alpha.4...v0.1.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v0.1.0-alpha.4...v0.1.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** Allow for Pagination past empty pages ([b608e5e](https://github.com/Metronome-Industries/metronome-ruby/commit/b608e5e7b9109f7859371c4816d07b4ccd25e976))
10
+ * **api:** api update ([44cce30](https://github.com/Metronome-Industries/metronome-ruby/commit/44cce30fe4d15233fe4bb0b42cd46ceda2faa0a7))
11
+ * **api:** api update ([d205568](https://github.com/Metronome-Industries/metronome-ruby/commit/d2055689feba86efebd0e926cf2c18a8f6682080))
12
+ * **api:** api update ([ead65db](https://github.com/Metronome-Industries/metronome-ruby/commit/ead65db988e30be27317d6e0dfc57fc8a58f8aad))
13
+
14
+
15
+ ### Chores
16
+
17
+ * **internal:** version bump ([eabd459](https://github.com/Metronome-Industries/metronome-ruby/commit/eabd459fc04f484ee853a336b2f0d30f6b2382b1))
18
+
3
19
  ## 0.1.0-alpha.4 (2025-07-18)
4
20
 
5
21
  Full Changelog: [v0.1.0-alpha.3...v0.1.0-alpha.4](https://github.com/Metronome-Industries/metronome-ruby/compare/v0.1.0-alpha.3...v0.1.0-alpha.4)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "metronome-sdk", "~> 0.1.0.pre.alpha.4"
20
+ gem "metronome-sdk", "~> 0.1.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -24,7 +24,7 @@ module MetronomeSDK
24
24
 
25
25
  # @return [Boolean]
26
26
  def next_page?
27
- !data.to_a.empty? && !next_page_.to_s.empty?
27
+ !next_page_.to_s.empty?
28
28
  end
29
29
 
30
30
  # @raise [MetronomeSDK::HTTP::Error]
@@ -103,7 +103,7 @@ module MetronomeSDK
103
103
  # A list of ordered events that impact the balance of a commit. For example, an
104
104
  # invoice deduction or a rollover.
105
105
  #
106
- # @return [Array<MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
106
+ # @return [Array<MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
107
107
  optional :ledger, -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Commit::Ledger] }
108
108
 
109
109
  # @!attribute name
@@ -198,7 +198,7 @@ module MetronomeSDK
198
198
  #
199
199
  # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
200
200
  #
201
- # @param ledger [Array<MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
201
+ # @param ledger [Array<MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
202
202
  #
203
203
  # @param name [String]
204
204
  #
@@ -393,6 +393,8 @@ module MetronomeSDK
393
393
 
394
394
  variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
395
395
 
396
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry }
397
+
396
398
  variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
397
399
 
398
400
  variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
@@ -665,6 +667,47 @@ module MetronomeSDK
665
667
  end
666
668
  end
667
669
 
670
+ class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
671
+ # @!attribute amount
672
+ #
673
+ # @return [Float]
674
+ required :amount, Float
675
+
676
+ # @!attribute segment_id
677
+ #
678
+ # @return [String]
679
+ required :segment_id, String
680
+
681
+ # @!attribute timestamp
682
+ #
683
+ # @return [Time]
684
+ required :timestamp, Time
685
+
686
+ # @!attribute type
687
+ #
688
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
689
+ required :type,
690
+ enum: -> {
691
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type
692
+ }
693
+
694
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
695
+ # @param amount [Float]
696
+ # @param segment_id [String]
697
+ # @param timestamp [Time]
698
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
699
+
700
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry#type
701
+ module Type
702
+ extend MetronomeSDK::Internal::Type::Enum
703
+
704
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT = :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
705
+
706
+ # @!method self.values
707
+ # @return [Array<Symbol>]
708
+ end
709
+ end
710
+
668
711
  class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
669
712
  # @!attribute amount
670
713
  #
@@ -938,7 +981,7 @@ module MetronomeSDK
938
981
  end
939
982
 
940
983
  # @!method self.variants
941
- # @return [Array(MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
984
+ # @return [Array(MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
942
985
  end
943
986
 
944
987
  # @see MetronomeSDK::Models::Commit#rate_type
@@ -771,6 +771,13 @@ module MetronomeSDK
771
771
  # @return [Time, nil]
772
772
  optional :ending_before, Time
773
773
 
774
+ # @!attribute hierarchy_configuration
775
+ # Optional configuration for recurring commit/credit hierarchy access control
776
+ #
777
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration, nil]
778
+ optional :hierarchy_configuration,
779
+ -> { MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration }
780
+
774
781
  # @!attribute invoice_amount
775
782
  # The amount the customer should be billed for the commit. Not required.
776
783
  #
@@ -829,7 +836,7 @@ module MetronomeSDK
829
836
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
830
837
  }
831
838
 
832
- # @!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, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
839
+ # @!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)
833
840
  # Some parameter documentations has been truncated, see
834
841
  # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit} for more
835
842
  # details.
@@ -858,6 +865,8 @@ module MetronomeSDK
858
865
  #
859
866
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
860
867
  #
868
+ # @param hierarchy_configuration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
869
+ #
861
870
  # @param invoice_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
862
871
  #
863
872
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
@@ -968,6 +977,117 @@ module MetronomeSDK
968
977
  # @param id [String]
969
978
  end
970
979
 
980
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#hierarchy_configuration
981
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
982
+ # @!attribute child_access
983
+ #
984
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
985
+ required :child_access,
986
+ union: -> {
987
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess
988
+ }
989
+
990
+ # @!method initialize(child_access:)
991
+ # Optional configuration for recurring commit/credit hierarchy access control
992
+ #
993
+ # @param child_access [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
994
+
995
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration#child_access
996
+ module ChildAccess
997
+ extend MetronomeSDK::Internal::Type::Union
998
+
999
+ variant -> {
1000
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1001
+ }
1002
+
1003
+ variant -> {
1004
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1005
+ }
1006
+
1007
+ variant -> {
1008
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1009
+ }
1010
+
1011
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1012
+ # @!attribute type
1013
+ #
1014
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1015
+ required :type,
1016
+ enum: -> {
1017
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
1018
+ }
1019
+
1020
+ # @!method initialize(type:)
1021
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1022
+
1023
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1024
+ module Type
1025
+ extend MetronomeSDK::Internal::Type::Enum
1026
+
1027
+ ALL = :ALL
1028
+
1029
+ # @!method self.values
1030
+ # @return [Array<Symbol>]
1031
+ end
1032
+ end
1033
+
1034
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1035
+ # @!attribute type
1036
+ #
1037
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1038
+ required :type,
1039
+ enum: -> {
1040
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
1041
+ }
1042
+
1043
+ # @!method initialize(type:)
1044
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1045
+
1046
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1047
+ module Type
1048
+ extend MetronomeSDK::Internal::Type::Enum
1049
+
1050
+ NONE = :NONE
1051
+
1052
+ # @!method self.values
1053
+ # @return [Array<Symbol>]
1054
+ end
1055
+ end
1056
+
1057
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1058
+ # @!attribute contract_ids
1059
+ #
1060
+ # @return [Array<String>]
1061
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1062
+
1063
+ # @!attribute type
1064
+ #
1065
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1066
+ required :type,
1067
+ enum: -> {
1068
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
1069
+ }
1070
+
1071
+ # @!method initialize(contract_ids:, type:)
1072
+ # @param contract_ids [Array<String>]
1073
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1074
+
1075
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1076
+ module Type
1077
+ extend MetronomeSDK::Internal::Type::Enum
1078
+
1079
+ CONTRACT_IDS = :CONTRACT_IDS
1080
+
1081
+ # @!method self.values
1082
+ # @return [Array<Symbol>]
1083
+ end
1084
+ end
1085
+
1086
+ # @!method self.variants
1087
+ # @return [Array(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1088
+ end
1089
+ end
1090
+
971
1091
  # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#invoice_amount
972
1092
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
973
1093
  # @!attribute credit_type_id
@@ -1140,6 +1260,13 @@ module MetronomeSDK
1140
1260
  # @return [Time, nil]
1141
1261
  optional :ending_before, Time
1142
1262
 
1263
+ # @!attribute hierarchy_configuration
1264
+ # Optional configuration for recurring commit/credit hierarchy access control
1265
+ #
1266
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration, nil]
1267
+ optional :hierarchy_configuration,
1268
+ -> { MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration }
1269
+
1143
1270
  # @!attribute name
1144
1271
  # Displayed on invoices. Will be passed through to the individual commits
1145
1272
  #
@@ -1189,7 +1316,7 @@ module MetronomeSDK
1189
1316
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1190
1317
  }
1191
1318
 
1192
- # @!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, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
1319
+ # @!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)
1193
1320
  # Some parameter documentations has been truncated, see
1194
1321
  # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit} for more
1195
1322
  # details.
@@ -1218,6 +1345,8 @@ module MetronomeSDK
1218
1345
  #
1219
1346
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1220
1347
  #
1348
+ # @param hierarchy_configuration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
1349
+ #
1221
1350
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
1222
1351
  #
1223
1352
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -1326,6 +1455,117 @@ module MetronomeSDK
1326
1455
  # @param id [String]
1327
1456
  end
1328
1457
 
1458
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#hierarchy_configuration
1459
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1460
+ # @!attribute child_access
1461
+ #
1462
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1463
+ required :child_access,
1464
+ union: -> {
1465
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess
1466
+ }
1467
+
1468
+ # @!method initialize(child_access:)
1469
+ # Optional configuration for recurring commit/credit hierarchy access control
1470
+ #
1471
+ # @param child_access [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1472
+
1473
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration#child_access
1474
+ module ChildAccess
1475
+ extend MetronomeSDK::Internal::Type::Union
1476
+
1477
+ variant -> {
1478
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1479
+ }
1480
+
1481
+ variant -> {
1482
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1483
+ }
1484
+
1485
+ variant -> {
1486
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1487
+ }
1488
+
1489
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1490
+ # @!attribute type
1491
+ #
1492
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1493
+ required :type,
1494
+ enum: -> {
1495
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
1496
+ }
1497
+
1498
+ # @!method initialize(type:)
1499
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1500
+
1501
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1502
+ module Type
1503
+ extend MetronomeSDK::Internal::Type::Enum
1504
+
1505
+ ALL = :ALL
1506
+
1507
+ # @!method self.values
1508
+ # @return [Array<Symbol>]
1509
+ end
1510
+ end
1511
+
1512
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1513
+ # @!attribute type
1514
+ #
1515
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1516
+ required :type,
1517
+ enum: -> {
1518
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
1519
+ }
1520
+
1521
+ # @!method initialize(type:)
1522
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
1523
+
1524
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
1525
+ module Type
1526
+ extend MetronomeSDK::Internal::Type::Enum
1527
+
1528
+ NONE = :NONE
1529
+
1530
+ # @!method self.values
1531
+ # @return [Array<Symbol>]
1532
+ end
1533
+ end
1534
+
1535
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1536
+ # @!attribute contract_ids
1537
+ #
1538
+ # @return [Array<String>]
1539
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1540
+
1541
+ # @!attribute type
1542
+ #
1543
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1544
+ required :type,
1545
+ enum: -> {
1546
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
1547
+ }
1548
+
1549
+ # @!method initialize(contract_ids:, type:)
1550
+ # @param contract_ids [Array<String>]
1551
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
1552
+
1553
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
1554
+ module Type
1555
+ extend MetronomeSDK::Internal::Type::Enum
1556
+
1557
+ CONTRACT_IDS = :CONTRACT_IDS
1558
+
1559
+ # @!method self.values
1560
+ # @return [Array<Symbol>]
1561
+ end
1562
+ end
1563
+
1564
+ # @!method self.variants
1565
+ # @return [Array(MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
1566
+ end
1567
+ end
1568
+
1329
1569
  # Determines whether the first and last commit will be prorated. If not provided,
1330
1570
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1331
1571
  #
@@ -77,7 +77,7 @@ module MetronomeSDK
77
77
  # A list of ordered events that impact the balance of a credit. For example, an
78
78
  # invoice deduction or an expiration.
79
79
  #
80
- # @return [Array<MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry>, nil]
80
+ # @return [Array<MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>, nil]
81
81
  optional :ledger, -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Credit::Ledger] }
82
82
 
83
83
  # @!attribute name
@@ -154,7 +154,7 @@ module MetronomeSDK
154
154
  #
155
155
  # @param hierarchy_configuration [MetronomeSDK::Models::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
156
156
  #
157
- # @param ledger [Array<MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
157
+ # @param ledger [Array<MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
158
158
  #
159
159
  # @param name [String]
160
160
  #
@@ -331,6 +331,8 @@ module MetronomeSDK
331
331
 
332
332
  variant -> { MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry }
333
333
 
334
+ variant -> { MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry }
335
+
334
336
  class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
335
337
  # @!attribute amount
336
338
  #
@@ -578,8 +580,49 @@ module MetronomeSDK
578
580
  end
579
581
  end
580
582
 
583
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
584
+ # @!attribute amount
585
+ #
586
+ # @return [Float]
587
+ required :amount, Float
588
+
589
+ # @!attribute segment_id
590
+ #
591
+ # @return [String]
592
+ required :segment_id, String
593
+
594
+ # @!attribute timestamp
595
+ #
596
+ # @return [Time]
597
+ required :timestamp, Time
598
+
599
+ # @!attribute type
600
+ #
601
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
602
+ required :type,
603
+ enum: -> {
604
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type
605
+ }
606
+
607
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
608
+ # @param amount [Float]
609
+ # @param segment_id [String]
610
+ # @param timestamp [Time]
611
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
612
+
613
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry#type
614
+ module Type
615
+ extend MetronomeSDK::Internal::Type::Enum
616
+
617
+ CREDIT_SEAT_BASED_ADJUSTMENT = :CREDIT_SEAT_BASED_ADJUSTMENT
618
+
619
+ # @!method self.values
620
+ # @return [Array<Symbol>]
621
+ end
622
+ end
623
+
581
624
  # @!method self.variants
582
- # @return [Array(MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry)]
625
+ # @return [Array(MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry)]
583
626
  end
584
627
 
585
628
  # @see MetronomeSDK::Models::Credit#rate_type