metronome-sdk 3.5.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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +15 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
  6. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  7. data/lib/metronome_sdk/models/commit.rb +27 -1
  8. data/lib/metronome_sdk/models/contract.rb +140 -1
  9. data/lib/metronome_sdk/models/contract_v2.rb +530 -6
  10. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  13. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  14. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  15. data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
  16. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -177
  17. data/lib/metronome_sdk/models/v1/contract_create_params.rb +147 -180
  18. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
  21. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
  22. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
  23. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
  25. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
  26. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -18
  27. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  28. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  30. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  31. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +507 -6
  32. data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
  33. data/lib/metronome_sdk/resources/v1/contracts.rb +72 -3
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
  35. data/lib/metronome_sdk/resources/v1/packages.rb +6 -7
  36. data/lib/metronome_sdk/resources/v1.rb +0 -4
  37. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  38. data/lib/metronome_sdk/version.rb +1 -1
  39. data/lib/metronome_sdk.rb +2 -8
  40. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  41. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  42. data/rbi/metronome_sdk/models/contract_v2.rbi +1172 -4
  43. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  45. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  46. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  47. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  48. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
  49. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -396
  50. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +370 -398
  51. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
  53. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
  54. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
  55. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
  56. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
  57. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
  58. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
  59. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -56
  60. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  61. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  62. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  63. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  64. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1355 -219
  65. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
  66. data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
  68. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -7
  69. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  70. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  71. data/sig/metronome_sdk/models/commit.rbs +19 -0
  72. data/sig/metronome_sdk/models/contract.rbs +151 -0
  73. data/sig/metronome_sdk/models/contract_v2.rbs +494 -6
  74. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  75. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  76. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  77. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  78. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  79. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
  80. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -137
  81. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -137
  82. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  83. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
  84. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
  85. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
  86. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
  87. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
  88. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  89. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
  90. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -20
  91. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  92. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  93. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  94. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  95. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +461 -15
  96. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
  97. data/sig/metronome_sdk/resources/v1/contracts.rbs +16 -0
  98. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
  99. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -1
  100. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  101. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  102. metadata +8 -26
  103. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  104. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  105. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  106. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  107. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  108. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  109. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  110. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  111. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  112. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  113. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  114. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  115. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  116. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  117. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  118. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  119. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  120. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  121. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  122. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  123. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  124. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  125. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  126. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
@@ -0,0 +1,179 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class ContractListSeatBalancesParams < MetronomeSDK::Internal::Type::BaseModel
7
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
8
+ include MetronomeSDK::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ MetronomeSDK::V1::ContractListSeatBalancesParams,
14
+ MetronomeSDK::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The contract ID to retrieve seat balances for
19
+ sig { returns(String) }
20
+ attr_accessor :contract_id
21
+
22
+ # The customer ID to retrieve seat balances for
23
+ sig { returns(String) }
24
+ attr_accessor :customer_id
25
+
26
+ # Include only commits or credits with access that cover this specific date
27
+ # (cannot be used with starting_at or ending_before).
28
+ sig { returns(T.nilable(Time)) }
29
+ attr_reader :covering_date
30
+
31
+ sig { params(covering_date: Time).void }
32
+ attr_writer :covering_date
33
+
34
+ # Page token from a previous response to retrieve the next page
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :cursor
37
+
38
+ sig { params(cursor: String).void }
39
+ attr_writer :cursor
40
+
41
+ # Include only commits or credits with access effective on or before this date
42
+ # (cannot be used with covering_date).
43
+ sig { returns(T.nilable(Time)) }
44
+ attr_reader :effective_before
45
+
46
+ sig { params(effective_before: Time).void }
47
+ attr_writer :effective_before
48
+
49
+ # Include credits and commits in the response
50
+ sig { returns(T.nilable(T::Boolean)) }
51
+ attr_reader :include_credits_and_commits
52
+
53
+ sig { params(include_credits_and_commits: T::Boolean).void }
54
+ attr_writer :include_credits_and_commits
55
+
56
+ # Include ledger entries for each commit and commit. `include_credits_and_commits`
57
+ # must be set to `true` for `include_ledgers=true` to apply.
58
+ sig { returns(T.nilable(T::Boolean)) }
59
+ attr_reader :include_ledgers
60
+
61
+ sig { params(include_ledgers: T::Boolean).void }
62
+ attr_writer :include_ledgers
63
+
64
+ # Maximum number of seats to return. Range: 1-100. Default: 25. When
65
+ # `include_credits_and_commits = true`, if the total commits/credits across all
66
+ # seats exceeds 100, a limit of 100 applies to the total credits and commits.
67
+ # Seats are included greedily to maximize the number of seats returned. Example:
68
+ # if seat 1 has 98 commits and seat 2 has 10 commits, both seats will be returned
69
+ # (total: 108 commits). Each returned seat includes all of its associated credits
70
+ # and commits.
71
+ sig { returns(T.nilable(Integer)) }
72
+ attr_reader :limit
73
+
74
+ sig { params(limit: Integer).void }
75
+ attr_writer :limit
76
+
77
+ # Optional filter to only include specific seats.
78
+ sig { returns(T.nilable(T::Array[String])) }
79
+ attr_reader :seat_ids
80
+
81
+ sig { params(seat_ids: T::Array[String]).void }
82
+ attr_writer :seat_ids
83
+
84
+ # Include only commits or credits with access effective on or after this date
85
+ # (cannot be used with covering_date).
86
+ sig { returns(T.nilable(Time)) }
87
+ attr_reader :starting_at
88
+
89
+ sig { params(starting_at: Time).void }
90
+ attr_writer :starting_at
91
+
92
+ # Optional filter to only include seats from specific subscriptions. If
93
+ # subscriptions ids are not mapped to SEAT_BASED subscriptions, error will be
94
+ # returned.
95
+ sig { returns(T.nilable(T::Array[String])) }
96
+ attr_reader :subscription_ids
97
+
98
+ sig { params(subscription_ids: T::Array[String]).void }
99
+ attr_writer :subscription_ids
100
+
101
+ sig do
102
+ params(
103
+ contract_id: String,
104
+ customer_id: String,
105
+ covering_date: Time,
106
+ cursor: String,
107
+ effective_before: Time,
108
+ include_credits_and_commits: T::Boolean,
109
+ include_ledgers: T::Boolean,
110
+ limit: Integer,
111
+ seat_ids: T::Array[String],
112
+ starting_at: Time,
113
+ subscription_ids: T::Array[String],
114
+ request_options: MetronomeSDK::RequestOptions::OrHash
115
+ ).returns(T.attached_class)
116
+ end
117
+ def self.new(
118
+ # The contract ID to retrieve seat balances for
119
+ contract_id:,
120
+ # The customer ID to retrieve seat balances for
121
+ customer_id:,
122
+ # Include only commits or credits with access that cover this specific date
123
+ # (cannot be used with starting_at or ending_before).
124
+ covering_date: nil,
125
+ # Page token from a previous response to retrieve the next page
126
+ cursor: nil,
127
+ # Include only commits or credits with access effective on or before this date
128
+ # (cannot be used with covering_date).
129
+ effective_before: nil,
130
+ # Include credits and commits in the response
131
+ include_credits_and_commits: nil,
132
+ # Include ledger entries for each commit and commit. `include_credits_and_commits`
133
+ # must be set to `true` for `include_ledgers=true` to apply.
134
+ include_ledgers: nil,
135
+ # Maximum number of seats to return. Range: 1-100. Default: 25. When
136
+ # `include_credits_and_commits = true`, if the total commits/credits across all
137
+ # seats exceeds 100, a limit of 100 applies to the total credits and commits.
138
+ # Seats are included greedily to maximize the number of seats returned. Example:
139
+ # if seat 1 has 98 commits and seat 2 has 10 commits, both seats will be returned
140
+ # (total: 108 commits). Each returned seat includes all of its associated credits
141
+ # and commits.
142
+ limit: nil,
143
+ # Optional filter to only include specific seats.
144
+ seat_ids: nil,
145
+ # Include only commits or credits with access effective on or after this date
146
+ # (cannot be used with covering_date).
147
+ starting_at: nil,
148
+ # Optional filter to only include seats from specific subscriptions. If
149
+ # subscriptions ids are not mapped to SEAT_BASED subscriptions, error will be
150
+ # returned.
151
+ subscription_ids: nil,
152
+ request_options: {}
153
+ )
154
+ end
155
+
156
+ sig do
157
+ override.returns(
158
+ {
159
+ contract_id: String,
160
+ customer_id: String,
161
+ covering_date: Time,
162
+ cursor: String,
163
+ effective_before: Time,
164
+ include_credits_and_commits: T::Boolean,
165
+ include_ledgers: T::Boolean,
166
+ limit: Integer,
167
+ seat_ids: T::Array[String],
168
+ starting_at: Time,
169
+ subscription_ids: T::Array[String],
170
+ request_options: MetronomeSDK::RequestOptions
171
+ }
172
+ )
173
+ end
174
+ def to_hash
175
+ end
176
+ end
177
+ end
178
+ end
179
+ end