metronome-sdk 3.6.0 → 3.7.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 (94) 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/type/enum.rb +0 -25
  5. data/lib/metronome_sdk/models/commit.rb +27 -1
  6. data/lib/metronome_sdk/models/contract.rb +140 -1
  7. data/lib/metronome_sdk/models/contract_v2.rb +168 -2
  8. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  9. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  10. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  11. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  12. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  13. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -1
  14. data/lib/metronome_sdk/models/v1/contract_create_params.rb +146 -2
  15. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  16. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -1
  17. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  18. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  19. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  20. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  21. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +145 -3
  22. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  23. data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
  24. data/lib/metronome_sdk/resources/v1.rb +0 -4
  25. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  26. data/lib/metronome_sdk/version.rb +1 -1
  27. data/lib/metronome_sdk.rb +0 -8
  28. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  29. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  30. data/rbi/metronome_sdk/models/contract_v2.rbi +409 -0
  31. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  32. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  33. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  34. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  35. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  36. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -0
  37. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +368 -0
  38. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  39. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -0
  40. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  41. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  42. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  43. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  44. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +359 -11
  45. data/rbi/metronome_sdk/resources/v1/contracts.rbi +7 -0
  46. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
  47. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  48. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  49. data/sig/metronome_sdk/models/commit.rbs +19 -0
  50. data/sig/metronome_sdk/models/contract.rbs +151 -0
  51. data/sig/metronome_sdk/models/contract_v2.rbs +170 -0
  52. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  53. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  54. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  55. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  56. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  57. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -0
  58. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -0
  59. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  60. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -0
  61. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  62. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  63. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  64. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  65. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +142 -9
  66. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  67. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
  68. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  69. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  70. metadata +2 -26
  71. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  72. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  73. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  74. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  75. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  76. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  77. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  78. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  79. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  80. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  81. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  82. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  83. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  84. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  85. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  86. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  87. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  88. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  89. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  90. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  91. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  92. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  93. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  94. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -119,6 +119,17 @@ module MetronomeSDK
119
119
  end
120
120
  attr_writer :spend_threshold_configuration
121
121
 
122
+ # Spend trackers attached to this contract.
123
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Contract::SpendTracker])) }
124
+ attr_reader :spend_trackers
125
+
126
+ sig do
127
+ params(
128
+ spend_trackers: T::Array[MetronomeSDK::Contract::SpendTracker::OrHash]
129
+ ).void
130
+ end
131
+ attr_writer :spend_trackers
132
+
122
133
  # List of subscriptions on the contract.
123
134
  sig { returns(T.nilable(T::Array[MetronomeSDK::Subscription])) }
124
135
  attr_reader :subscriptions
@@ -155,6 +166,8 @@ module MetronomeSDK
155
166
  MetronomeSDK::Contract::ScheduledChargesOnUsageInvoices::OrSymbol,
156
167
  spend_threshold_configuration:
157
168
  MetronomeSDK::SpendThresholdConfiguration::OrHash,
169
+ spend_trackers:
170
+ T::Array[MetronomeSDK::Contract::SpendTracker::OrHash],
158
171
  subscriptions: T::Array[MetronomeSDK::Subscription::OrHash],
159
172
  uniqueness_key: String
160
173
  ).returns(T.attached_class)
@@ -182,6 +195,8 @@ module MetronomeSDK
182
195
  # on a separate invoice from usage charges.
183
196
  scheduled_charges_on_usage_invoices: nil,
184
197
  spend_threshold_configuration: nil,
198
+ # Spend trackers attached to this contract.
199
+ spend_trackers: nil,
185
200
  # List of subscriptions on the contract.
186
201
  subscriptions: nil,
187
202
  # Prevents the creation of duplicates. If a request to create a record is made
@@ -210,6 +225,7 @@ module MetronomeSDK
210
225
  MetronomeSDK::Contract::ScheduledChargesOnUsageInvoices::TaggedSymbol,
211
226
  spend_threshold_configuration:
212
227
  MetronomeSDK::SpendThresholdConfiguration,
228
+ spend_trackers: T::Array[MetronomeSDK::Contract::SpendTracker],
213
229
  subscriptions: T::Array[MetronomeSDK::Subscription],
214
230
  uniqueness_key: String
215
231
  }
@@ -768,6 +784,344 @@ module MetronomeSDK
768
784
  def self.values
769
785
  end
770
786
  end
787
+
788
+ class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
789
+ OrHash =
790
+ T.type_alias do
791
+ T.any(
792
+ MetronomeSDK::Contract::SpendTracker,
793
+ MetronomeSDK::Internal::AnyHash
794
+ )
795
+ end
796
+
797
+ # Human-readable identifier, unique per contract.
798
+ sig { returns(String) }
799
+ attr_accessor :alias_
800
+
801
+ sig do
802
+ returns(
803
+ T::Array[
804
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier
805
+ ]
806
+ )
807
+ end
808
+ attr_accessor :applicable_spend_specifiers
809
+
810
+ sig { returns(String) }
811
+ attr_accessor :credit_type_id
812
+
813
+ sig do
814
+ returns(
815
+ MetronomeSDK::Contract::SpendTracker::ResetFrequency::TaggedSymbol
816
+ )
817
+ end
818
+ attr_accessor :reset_frequency
819
+
820
+ sig do
821
+ returns(
822
+ T.nilable(MetronomeSDK::Contract::SpendTracker::AccumulatedSpend)
823
+ )
824
+ end
825
+ attr_reader :accumulated_spend
826
+
827
+ sig do
828
+ params(
829
+ accumulated_spend:
830
+ MetronomeSDK::Contract::SpendTracker::AccumulatedSpend::OrHash
831
+ ).void
832
+ end
833
+ attr_writer :accumulated_spend
834
+
835
+ sig do
836
+ params(
837
+ alias_: String,
838
+ applicable_spend_specifiers:
839
+ T::Array[
840
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::OrHash
841
+ ],
842
+ credit_type_id: String,
843
+ reset_frequency:
844
+ MetronomeSDK::Contract::SpendTracker::ResetFrequency::OrSymbol,
845
+ accumulated_spend:
846
+ MetronomeSDK::Contract::SpendTracker::AccumulatedSpend::OrHash
847
+ ).returns(T.attached_class)
848
+ end
849
+ def self.new(
850
+ # Human-readable identifier, unique per contract.
851
+ alias_:,
852
+ applicable_spend_specifiers:,
853
+ credit_type_id:,
854
+ reset_frequency:,
855
+ accumulated_spend: nil
856
+ )
857
+ end
858
+
859
+ sig do
860
+ override.returns(
861
+ {
862
+ alias_: String,
863
+ applicable_spend_specifiers:
864
+ T::Array[
865
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier
866
+ ],
867
+ credit_type_id: String,
868
+ reset_frequency:
869
+ MetronomeSDK::Contract::SpendTracker::ResetFrequency::TaggedSymbol,
870
+ accumulated_spend:
871
+ MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
872
+ }
873
+ )
874
+ end
875
+ def to_hash
876
+ end
877
+
878
+ class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
879
+ OrHash =
880
+ T.type_alias do
881
+ T.any(
882
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier,
883
+ MetronomeSDK::Internal::AnyHash
884
+ )
885
+ end
886
+
887
+ sig do
888
+ returns(
889
+ T::Array[
890
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
891
+ ]
892
+ )
893
+ end
894
+ attr_accessor :sources
895
+
896
+ sig do
897
+ returns(
898
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
899
+ )
900
+ end
901
+ attr_accessor :spend_type
902
+
903
+ sig do
904
+ returns(
905
+ T.nilable(
906
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
907
+ )
908
+ )
909
+ end
910
+ attr_reader :discounted
911
+
912
+ sig do
913
+ params(
914
+ discounted:
915
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
916
+ ).void
917
+ end
918
+ attr_writer :discounted
919
+
920
+ sig do
921
+ params(
922
+ sources:
923
+ T::Array[
924
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source::OrSymbol
925
+ ],
926
+ spend_type:
927
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType::OrSymbol,
928
+ discounted:
929
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
930
+ ).returns(T.attached_class)
931
+ end
932
+ def self.new(sources:, spend_type:, discounted: nil)
933
+ end
934
+
935
+ sig do
936
+ override.returns(
937
+ {
938
+ sources:
939
+ T::Array[
940
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
941
+ ],
942
+ spend_type:
943
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol,
944
+ discounted:
945
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
946
+ }
947
+ )
948
+ end
949
+ def to_hash
950
+ end
951
+
952
+ module Source
953
+ extend MetronomeSDK::Internal::Type::Enum
954
+
955
+ TaggedSymbol =
956
+ T.type_alias do
957
+ T.all(
958
+ Symbol,
959
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source
960
+ )
961
+ end
962
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
963
+
964
+ THRESHOLD_RECHARGE =
965
+ T.let(
966
+ :THRESHOLD_RECHARGE,
967
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
968
+ )
969
+ MANUAL =
970
+ T.let(
971
+ :MANUAL,
972
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
973
+ )
974
+
975
+ sig do
976
+ override.returns(
977
+ T::Array[
978
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
979
+ ]
980
+ )
981
+ end
982
+ def self.values
983
+ end
984
+ end
985
+
986
+ module SpendType
987
+ extend MetronomeSDK::Internal::Type::Enum
988
+
989
+ TaggedSymbol =
990
+ T.type_alias do
991
+ T.all(
992
+ Symbol,
993
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType
994
+ )
995
+ end
996
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
997
+
998
+ COMMIT_PURCHASE =
999
+ T.let(
1000
+ :COMMIT_PURCHASE,
1001
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
1002
+ )
1003
+
1004
+ sig do
1005
+ override.returns(
1006
+ T::Array[
1007
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
1008
+ ]
1009
+ )
1010
+ end
1011
+ def self.values
1012
+ end
1013
+ end
1014
+
1015
+ module Discounted
1016
+ extend MetronomeSDK::Internal::Type::Enum
1017
+
1018
+ TaggedSymbol =
1019
+ T.type_alias do
1020
+ T.all(
1021
+ Symbol,
1022
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted
1023
+ )
1024
+ end
1025
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1026
+
1027
+ ANY =
1028
+ T.let(
1029
+ :ANY,
1030
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
1031
+ )
1032
+ DISCOUNTED_ONLY =
1033
+ T.let(
1034
+ :DISCOUNTED_ONLY,
1035
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
1036
+ )
1037
+ UNDISCOUNTED_ONLY =
1038
+ T.let(
1039
+ :UNDISCOUNTED_ONLY,
1040
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
1041
+ )
1042
+
1043
+ sig do
1044
+ override.returns(
1045
+ T::Array[
1046
+ MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
1047
+ ]
1048
+ )
1049
+ end
1050
+ def self.values
1051
+ end
1052
+ end
1053
+ end
1054
+
1055
+ module ResetFrequency
1056
+ extend MetronomeSDK::Internal::Type::Enum
1057
+
1058
+ TaggedSymbol =
1059
+ T.type_alias do
1060
+ T.all(
1061
+ Symbol,
1062
+ MetronomeSDK::Contract::SpendTracker::ResetFrequency
1063
+ )
1064
+ end
1065
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1066
+
1067
+ BILLING_PERIOD =
1068
+ T.let(
1069
+ :BILLING_PERIOD,
1070
+ MetronomeSDK::Contract::SpendTracker::ResetFrequency::TaggedSymbol
1071
+ )
1072
+
1073
+ sig do
1074
+ override.returns(
1075
+ T::Array[
1076
+ MetronomeSDK::Contract::SpendTracker::ResetFrequency::TaggedSymbol
1077
+ ]
1078
+ )
1079
+ end
1080
+ def self.values
1081
+ end
1082
+ end
1083
+
1084
+ class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
1085
+ OrHash =
1086
+ T.type_alias do
1087
+ T.any(
1088
+ MetronomeSDK::Contract::SpendTracker::AccumulatedSpend,
1089
+ MetronomeSDK::Internal::AnyHash
1090
+ )
1091
+ end
1092
+
1093
+ sig { returns(Float) }
1094
+ attr_accessor :amount
1095
+
1096
+ sig { returns(Time) }
1097
+ attr_accessor :period_ending_before
1098
+
1099
+ sig { returns(Time) }
1100
+ attr_accessor :period_starting_at
1101
+
1102
+ sig do
1103
+ params(
1104
+ amount: Float,
1105
+ period_ending_before: Time,
1106
+ period_starting_at: Time
1107
+ ).returns(T.attached_class)
1108
+ end
1109
+ def self.new(amount:, period_ending_before:, period_starting_at:)
1110
+ end
1111
+
1112
+ sig do
1113
+ override.returns(
1114
+ {
1115
+ amount: Float,
1116
+ period_ending_before: Time,
1117
+ period_starting_at: Time
1118
+ }
1119
+ )
1120
+ end
1121
+ def to_hash
1122
+ end
1123
+ end
1124
+ end
771
1125
  end
772
1126
  end
773
1127
  end