smplkit 1.0.20 → 1.0.21

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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/api/forwarders_api.rb +640 -0
  3. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/event.rb +13 -1
  4. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder.rb +353 -0
  5. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery.rb +329 -0
  6. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_list_response.rb +202 -0
  7. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_resource.rb +201 -0
  8. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_delivery_response.rb +164 -0
  9. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_http.rb +239 -0
  10. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_links.rb +148 -0
  11. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_meta.rb +164 -0
  12. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_list_response.rb +202 -0
  13. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_resource.rb +201 -0
  14. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/forwarder_response.rb +164 -0
  15. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/http_header.rb +218 -0
  16. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/retry_failed_deliveries_summary.rb +216 -0
  17. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/success_status.rb +103 -0
  18. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/test_forwarder_request.rb +273 -0
  19. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client/models/test_forwarder_response.rb +220 -0
  20. data/lib/smplkit/_generated/audit/lib/smplkit_audit_client.rb +17 -0
  21. data/lib/smplkit/_generated/audit/spec/api/forwarders_api_spec.rb +152 -0
  22. data/lib/smplkit/_generated/audit/spec/models/event_spec.rb +6 -0
  23. data/lib/smplkit/_generated/audit/spec/models/forwarder_delivery_list_response_spec.rb +48 -0
  24. data/lib/smplkit/_generated/audit/spec/models/forwarder_delivery_resource_spec.rb +48 -0
  25. data/lib/smplkit/_generated/audit/spec/models/forwarder_delivery_response_spec.rb +36 -0
  26. data/lib/smplkit/_generated/audit/spec/models/forwarder_delivery_spec.rb +94 -0
  27. data/lib/smplkit/_generated/audit/spec/models/forwarder_http_spec.rb +60 -0
  28. data/lib/smplkit/_generated/audit/spec/models/forwarder_list_links_spec.rb +36 -0
  29. data/lib/smplkit/_generated/audit/spec/models/forwarder_list_meta_spec.rb +36 -0
  30. data/lib/smplkit/_generated/audit/spec/models/forwarder_list_response_spec.rb +48 -0
  31. data/lib/smplkit/_generated/audit/spec/models/forwarder_resource_spec.rb +48 -0
  32. data/lib/smplkit/_generated/audit/spec/models/forwarder_response_spec.rb +36 -0
  33. data/lib/smplkit/_generated/audit/spec/models/forwarder_spec.rb +102 -0
  34. data/lib/smplkit/_generated/audit/spec/models/http_header_spec.rb +42 -0
  35. data/lib/smplkit/_generated/audit/spec/models/retry_failed_deliveries_summary_spec.rb +48 -0
  36. data/lib/smplkit/_generated/audit/spec/models/success_status_spec.rb +21 -0
  37. data/lib/smplkit/_generated/audit/spec/models/test_forwarder_request_spec.rb +66 -0
  38. data/lib/smplkit/_generated/audit/spec/models/test_forwarder_response_spec.rb +66 -0
  39. metadata +35 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d69e237a8de7cca75190f3b21d08309a0cf54cab21131f9d8d576a56700155f0
4
- data.tar.gz: fc2b7cf8d52d92adcccca9454d402cb5d7622cead3007a82d941e1c9d3d2b8eb
3
+ metadata.gz: '09472000aa23d59da092d7214369d34558afe36e915393ae32d994644ee22ad6'
4
+ data.tar.gz: 670e9bf39bee0cc405eafa17a9b7038567b576cba2f6d78220fd69fd4efac5d6
5
5
  SHA512:
6
- metadata.gz: a4e173231e776348149477ea584001905fcfa826bcdcbf2f5f220103af5afc9a80f6a1dc4398a1bac761771daf613145c977865e3f6442f39c91e393e5503c63
7
- data.tar.gz: e3d413229b945a4c4feaf6eadb7c6a13735fe3fd7e9a96e939d422ce6c7fa96ec34491eaa4554e3fdefcb6feb3f781607bbf3577628cfb19c58425c094e815e3
6
+ metadata.gz: 3690a00b577e1768e767bd19c89cf02fa89a823a044fc7608048dbc5f75d422aca8dd32d3cf707cdec6351507e44b10004a50dd312262bac0d74942866cecee7
7
+ data.tar.gz: 650441de42d6538952b36e67ac7f6fc918c7fd4e6337274ee25acc6ce76d25151916e7b47fe729ddd61441b0fc0c4c2dc81d043ef22440c2312127cbab05ba90
@@ -0,0 +1,640 @@
1
+ =begin
2
+ #smplkit Audit API
3
+
4
+ #Append-only change-history substrate for smpl.* resources and customer-application events. ADR-047.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module SmplkitGeneratedClient::Audit
16
+ class ForwardersApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create Forwarder
23
+ # Create a forwarder. Requires the ``audit.siem_streaming`` entitlement on the account; lower-tier accounts get 402.
24
+ # @param forwarder_response [ForwarderResponse]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [ForwarderResponse]
27
+ def create_forwarder(forwarder_response, opts = {})
28
+ data, _status_code, _headers = create_forwarder_with_http_info(forwarder_response, opts)
29
+ data
30
+ end
31
+
32
+ # Create Forwarder
33
+ # Create a forwarder. Requires the ``audit.siem_streaming`` entitlement on the account; lower-tier accounts get 402.
34
+ # @param forwarder_response [ForwarderResponse]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(ForwarderResponse, Integer, Hash)>] ForwarderResponse data, response status code and response headers
37
+ def create_forwarder_with_http_info(forwarder_response, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.create_forwarder ...'
40
+ end
41
+ # verify the required parameter 'forwarder_response' is set
42
+ if @api_client.config.client_side_validation && forwarder_response.nil?
43
+ fail ArgumentError, "Missing the required parameter 'forwarder_response' when calling ForwardersApi.create_forwarder"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/forwarders'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(forwarder_response)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'ForwarderResponse'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"ForwardersApi.create_forwarder",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: ForwardersApi#create_forwarder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Delete Forwarder
91
+ # Soft-delete a forwarder. Delivery rows are retained per the normal forwarder_delivery retention; a future create with the same slug is allowed (the unique index is partial on deleted_at IS NULL).
92
+ # @param forwarder_id [String]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [nil]
95
+ def delete_forwarder(forwarder_id, opts = {})
96
+ delete_forwarder_with_http_info(forwarder_id, opts)
97
+ nil
98
+ end
99
+
100
+ # Delete Forwarder
101
+ # Soft-delete a forwarder. Delivery rows are retained per the normal forwarder_delivery retention; a future create with the same slug is allowed (the unique index is partial on deleted_at IS NULL).
102
+ # @param forwarder_id [String]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
105
+ def delete_forwarder_with_http_info(forwarder_id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.delete_forwarder ...'
108
+ end
109
+ # verify the required parameter 'forwarder_id' is set
110
+ if @api_client.config.client_side_validation && forwarder_id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'forwarder_id' when calling ForwardersApi.delete_forwarder"
112
+ end
113
+ # resource path
114
+ local_var_path = '/api/v1/forwarders/{forwarder_id}'.sub('{forwarder_id}', CGI.escape(forwarder_id.to_s))
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+
122
+ # form parameters
123
+ form_params = opts[:form_params] || {}
124
+
125
+ # http body (model)
126
+ post_body = opts[:debug_body]
127
+
128
+ # return_type
129
+ return_type = opts[:debug_return_type]
130
+
131
+ # auth_names
132
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
133
+
134
+ new_options = opts.merge(
135
+ :operation => :"ForwardersApi.delete_forwarder",
136
+ :header_params => header_params,
137
+ :query_params => query_params,
138
+ :form_params => form_params,
139
+ :body => post_body,
140
+ :auth_names => auth_names,
141
+ :return_type => return_type
142
+ )
143
+
144
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
145
+ if @api_client.config.debugging
146
+ @api_client.config.logger.debug "API called: ForwardersApi#delete_forwarder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
147
+ end
148
+ return data, status_code, headers
149
+ end
150
+
151
+ # Execute Test Forwarder
152
+ # Execute a prepared HTTP request server-side and return the response. The same SSRF guard that gates the in-line forwarder loop is applied here — internal/private addresses, link-local IPs (including the EC2 metadata service at 169.254.169.254), unique-local IPv6, and ports outside the configured allowlist are all rejected.
153
+ # @param test_forwarder_request [TestForwarderRequest]
154
+ # @param [Hash] opts the optional parameters
155
+ # @return [TestForwarderResponse]
156
+ def execute_test_forwarder(test_forwarder_request, opts = {})
157
+ data, _status_code, _headers = execute_test_forwarder_with_http_info(test_forwarder_request, opts)
158
+ data
159
+ end
160
+
161
+ # Execute Test Forwarder
162
+ # Execute a prepared HTTP request server-side and return the response. The same SSRF guard that gates the in-line forwarder loop is applied here — internal/private addresses, link-local IPs (including the EC2 metadata service at 169.254.169.254), unique-local IPv6, and ports outside the configured allowlist are all rejected.
163
+ # @param test_forwarder_request [TestForwarderRequest]
164
+ # @param [Hash] opts the optional parameters
165
+ # @return [Array<(TestForwarderResponse, Integer, Hash)>] TestForwarderResponse data, response status code and response headers
166
+ def execute_test_forwarder_with_http_info(test_forwarder_request, opts = {})
167
+ if @api_client.config.debugging
168
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.execute_test_forwarder ...'
169
+ end
170
+ # verify the required parameter 'test_forwarder_request' is set
171
+ if @api_client.config.client_side_validation && test_forwarder_request.nil?
172
+ fail ArgumentError, "Missing the required parameter 'test_forwarder_request' when calling ForwardersApi.execute_test_forwarder"
173
+ end
174
+ # resource path
175
+ local_var_path = '/api/v1/functions/test_forwarder/actions/execute'
176
+
177
+ # query parameters
178
+ query_params = opts[:query_params] || {}
179
+
180
+ # header parameters
181
+ header_params = opts[:header_params] || {}
182
+ # HTTP header 'Accept' (if needed)
183
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
184
+ # HTTP header 'Content-Type'
185
+ content_type = @api_client.select_header_content_type(['application/json'])
186
+ if !content_type.nil?
187
+ header_params['Content-Type'] = content_type
188
+ end
189
+
190
+ # form parameters
191
+ form_params = opts[:form_params] || {}
192
+
193
+ # http body (model)
194
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(test_forwarder_request)
195
+
196
+ # return_type
197
+ return_type = opts[:debug_return_type] || 'TestForwarderResponse'
198
+
199
+ # auth_names
200
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
201
+
202
+ new_options = opts.merge(
203
+ :operation => :"ForwardersApi.execute_test_forwarder",
204
+ :header_params => header_params,
205
+ :query_params => query_params,
206
+ :form_params => form_params,
207
+ :body => post_body,
208
+ :auth_names => auth_names,
209
+ :return_type => return_type
210
+ )
211
+
212
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
213
+ if @api_client.config.debugging
214
+ @api_client.config.logger.debug "API called: ForwardersApi#execute_test_forwarder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
215
+ end
216
+ return data, status_code, headers
217
+ end
218
+
219
+ # Get Forwarder
220
+ # Retrieve a single forwarder by id. Returns 404 if no forwarder with that id exists in the caller's account, including if the forwarder is soft-deleted. Header values in the response are always redacted regardless of caller permission.
221
+ # @param forwarder_id [String]
222
+ # @param [Hash] opts the optional parameters
223
+ # @return [ForwarderResponse]
224
+ def get_forwarder(forwarder_id, opts = {})
225
+ data, _status_code, _headers = get_forwarder_with_http_info(forwarder_id, opts)
226
+ data
227
+ end
228
+
229
+ # Get Forwarder
230
+ # Retrieve a single forwarder by id. Returns 404 if no forwarder with that id exists in the caller&#39;s account, including if the forwarder is soft-deleted. Header values in the response are always redacted regardless of caller permission.
231
+ # @param forwarder_id [String]
232
+ # @param [Hash] opts the optional parameters
233
+ # @return [Array<(ForwarderResponse, Integer, Hash)>] ForwarderResponse data, response status code and response headers
234
+ def get_forwarder_with_http_info(forwarder_id, opts = {})
235
+ if @api_client.config.debugging
236
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.get_forwarder ...'
237
+ end
238
+ # verify the required parameter 'forwarder_id' is set
239
+ if @api_client.config.client_side_validation && forwarder_id.nil?
240
+ fail ArgumentError, "Missing the required parameter 'forwarder_id' when calling ForwardersApi.get_forwarder"
241
+ end
242
+ # resource path
243
+ local_var_path = '/api/v1/forwarders/{forwarder_id}'.sub('{forwarder_id}', CGI.escape(forwarder_id.to_s))
244
+
245
+ # query parameters
246
+ query_params = opts[:query_params] || {}
247
+
248
+ # header parameters
249
+ header_params = opts[:header_params] || {}
250
+ # HTTP header 'Accept' (if needed)
251
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
252
+
253
+ # form parameters
254
+ form_params = opts[:form_params] || {}
255
+
256
+ # http body (model)
257
+ post_body = opts[:debug_body]
258
+
259
+ # return_type
260
+ return_type = opts[:debug_return_type] || 'ForwarderResponse'
261
+
262
+ # auth_names
263
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
264
+
265
+ new_options = opts.merge(
266
+ :operation => :"ForwardersApi.get_forwarder",
267
+ :header_params => header_params,
268
+ :query_params => query_params,
269
+ :form_params => form_params,
270
+ :body => post_body,
271
+ :auth_names => auth_names,
272
+ :return_type => return_type
273
+ )
274
+
275
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
276
+ if @api_client.config.debugging
277
+ @api_client.config.logger.debug "API called: ForwardersApi#get_forwarder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
278
+ end
279
+ return data, status_code, headers
280
+ end
281
+
282
+ # List Forwarder Deliveries
283
+ # List delivery rows for a forwarder. Default sort is ``-created_at``. Cursor pagination via ``page[after]``. Filter by status (``succeeded`` / ``failed`` / ``filtered_out`` / ``skipped_do_not_forward``) or by a ``created_at`` range using the platform's interval notation (``[2026-01-01T00:00:00Z,*)``). Reads do not require the entitlement — a downgraded account can still inspect historical deliveries from when the forwarder was active.
284
+ # @param forwarder_id [String]
285
+ # @param [Hash] opts the optional parameters
286
+ # @option opts [String] :filter_status
287
+ # @option opts [String] :filter_created_at
288
+ # @option opts [Integer] :page_size
289
+ # @option opts [String] :page_after
290
+ # @return [ForwarderDeliveryListResponse]
291
+ def list_forwarder_deliveries(forwarder_id, opts = {})
292
+ data, _status_code, _headers = list_forwarder_deliveries_with_http_info(forwarder_id, opts)
293
+ data
294
+ end
295
+
296
+ # List Forwarder Deliveries
297
+ # List delivery rows for a forwarder. Default sort is &#x60;&#x60;-created_at&#x60;&#x60;. Cursor pagination via &#x60;&#x60;page[after]&#x60;&#x60;. Filter by status (&#x60;&#x60;succeeded&#x60;&#x60; / &#x60;&#x60;failed&#x60;&#x60; / &#x60;&#x60;filtered_out&#x60;&#x60; / &#x60;&#x60;skipped_do_not_forward&#x60;&#x60;) or by a &#x60;&#x60;created_at&#x60;&#x60; range using the platform&#39;s interval notation (&#x60;&#x60;[2026-01-01T00:00:00Z,*)&#x60;&#x60;). Reads do not require the entitlement — a downgraded account can still inspect historical deliveries from when the forwarder was active.
298
+ # @param forwarder_id [String]
299
+ # @param [Hash] opts the optional parameters
300
+ # @option opts [String] :filter_status
301
+ # @option opts [String] :filter_created_at
302
+ # @option opts [Integer] :page_size
303
+ # @option opts [String] :page_after
304
+ # @return [Array<(ForwarderDeliveryListResponse, Integer, Hash)>] ForwarderDeliveryListResponse data, response status code and response headers
305
+ def list_forwarder_deliveries_with_http_info(forwarder_id, opts = {})
306
+ if @api_client.config.debugging
307
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.list_forwarder_deliveries ...'
308
+ end
309
+ # verify the required parameter 'forwarder_id' is set
310
+ if @api_client.config.client_side_validation && forwarder_id.nil?
311
+ fail ArgumentError, "Missing the required parameter 'forwarder_id' when calling ForwardersApi.list_forwarder_deliveries"
312
+ end
313
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
314
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ForwardersApi.list_forwarder_deliveries, must be greater than or equal to 1.'
315
+ end
316
+
317
+ # resource path
318
+ local_var_path = '/api/v1/forwarders/{forwarder_id}/deliveries'.sub('{forwarder_id}', CGI.escape(forwarder_id.to_s))
319
+
320
+ # query parameters
321
+ query_params = opts[:query_params] || {}
322
+ query_params[:'filter[status]'] = opts[:'filter_status'] if !opts[:'filter_status'].nil?
323
+ query_params[:'filter[created_at]'] = opts[:'filter_created_at'] if !opts[:'filter_created_at'].nil?
324
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
325
+ query_params[:'page[after]'] = opts[:'page_after'] if !opts[:'page_after'].nil?
326
+
327
+ # header parameters
328
+ header_params = opts[:header_params] || {}
329
+ # HTTP header 'Accept' (if needed)
330
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
331
+
332
+ # form parameters
333
+ form_params = opts[:form_params] || {}
334
+
335
+ # http body (model)
336
+ post_body = opts[:debug_body]
337
+
338
+ # return_type
339
+ return_type = opts[:debug_return_type] || 'ForwarderDeliveryListResponse'
340
+
341
+ # auth_names
342
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
343
+
344
+ new_options = opts.merge(
345
+ :operation => :"ForwardersApi.list_forwarder_deliveries",
346
+ :header_params => header_params,
347
+ :query_params => query_params,
348
+ :form_params => form_params,
349
+ :body => post_body,
350
+ :auth_names => auth_names,
351
+ :return_type => return_type
352
+ )
353
+
354
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
355
+ if @api_client.config.debugging
356
+ @api_client.config.logger.debug "API called: ForwardersApi#list_forwarder_deliveries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
357
+ end
358
+ return data, status_code, headers
359
+ end
360
+
361
+ # List Forwarders
362
+ # List forwarders for the authenticated account. Reads do not require the entitlement — a downgraded account can still inspect what they configured, they just can't create new ones.
363
+ # @param [Hash] opts the optional parameters
364
+ # @option opts [String] :filter_forwarder_type
365
+ # @option opts [Boolean] :filter_enabled
366
+ # @option opts [Integer] :page_size
367
+ # @option opts [String] :page_after
368
+ # @return [ForwarderListResponse]
369
+ def list_forwarders(opts = {})
370
+ data, _status_code, _headers = list_forwarders_with_http_info(opts)
371
+ data
372
+ end
373
+
374
+ # List Forwarders
375
+ # List forwarders for the authenticated account. Reads do not require the entitlement — a downgraded account can still inspect what they configured, they just can&#39;t create new ones.
376
+ # @param [Hash] opts the optional parameters
377
+ # @option opts [String] :filter_forwarder_type
378
+ # @option opts [Boolean] :filter_enabled
379
+ # @option opts [Integer] :page_size
380
+ # @option opts [String] :page_after
381
+ # @return [Array<(ForwarderListResponse, Integer, Hash)>] ForwarderListResponse data, response status code and response headers
382
+ def list_forwarders_with_http_info(opts = {})
383
+ if @api_client.config.debugging
384
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.list_forwarders ...'
385
+ end
386
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
387
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ForwardersApi.list_forwarders, must be greater than or equal to 1.'
388
+ end
389
+
390
+ # resource path
391
+ local_var_path = '/api/v1/forwarders'
392
+
393
+ # query parameters
394
+ query_params = opts[:query_params] || {}
395
+ query_params[:'filter[forwarder_type]'] = opts[:'filter_forwarder_type'] if !opts[:'filter_forwarder_type'].nil?
396
+ query_params[:'filter[enabled]'] = opts[:'filter_enabled'] if !opts[:'filter_enabled'].nil?
397
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
398
+ query_params[:'page[after]'] = opts[:'page_after'] if !opts[:'page_after'].nil?
399
+
400
+ # header parameters
401
+ header_params = opts[:header_params] || {}
402
+ # HTTP header 'Accept' (if needed)
403
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
404
+
405
+ # form parameters
406
+ form_params = opts[:form_params] || {}
407
+
408
+ # http body (model)
409
+ post_body = opts[:debug_body]
410
+
411
+ # return_type
412
+ return_type = opts[:debug_return_type] || 'ForwarderListResponse'
413
+
414
+ # auth_names
415
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
416
+
417
+ new_options = opts.merge(
418
+ :operation => :"ForwardersApi.list_forwarders",
419
+ :header_params => header_params,
420
+ :query_params => query_params,
421
+ :form_params => form_params,
422
+ :body => post_body,
423
+ :auth_names => auth_names,
424
+ :return_type => return_type
425
+ )
426
+
427
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug "API called: ForwardersApi#list_forwarders\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
430
+ end
431
+ return data, status_code, headers
432
+ end
433
+
434
+ # Retry Failed Forwarder Deliveries
435
+ # Retry every failed delivery for the forwarder. For each failed delivery row, re-attempt with the latest forwarder configuration and the original event payload. Returns counts.
436
+ # @param forwarder_id [String]
437
+ # @param [Hash] opts the optional parameters
438
+ # @return [RetryFailedDeliveriesSummary]
439
+ def retry_failed_forwarder_deliveries(forwarder_id, opts = {})
440
+ data, _status_code, _headers = retry_failed_forwarder_deliveries_with_http_info(forwarder_id, opts)
441
+ data
442
+ end
443
+
444
+ # Retry Failed Forwarder Deliveries
445
+ # Retry every failed delivery for the forwarder. For each failed delivery row, re-attempt with the latest forwarder configuration and the original event payload. Returns counts.
446
+ # @param forwarder_id [String]
447
+ # @param [Hash] opts the optional parameters
448
+ # @return [Array<(RetryFailedDeliveriesSummary, Integer, Hash)>] RetryFailedDeliveriesSummary data, response status code and response headers
449
+ def retry_failed_forwarder_deliveries_with_http_info(forwarder_id, opts = {})
450
+ if @api_client.config.debugging
451
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.retry_failed_forwarder_deliveries ...'
452
+ end
453
+ # verify the required parameter 'forwarder_id' is set
454
+ if @api_client.config.client_side_validation && forwarder_id.nil?
455
+ fail ArgumentError, "Missing the required parameter 'forwarder_id' when calling ForwardersApi.retry_failed_forwarder_deliveries"
456
+ end
457
+ # resource path
458
+ local_var_path = '/api/v1/forwarders/{forwarder_id}/actions/retry_failed_deliveries'.sub('{forwarder_id}', CGI.escape(forwarder_id.to_s))
459
+
460
+ # query parameters
461
+ query_params = opts[:query_params] || {}
462
+
463
+ # header parameters
464
+ header_params = opts[:header_params] || {}
465
+ # HTTP header 'Accept' (if needed)
466
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
467
+
468
+ # form parameters
469
+ form_params = opts[:form_params] || {}
470
+
471
+ # http body (model)
472
+ post_body = opts[:debug_body]
473
+
474
+ # return_type
475
+ return_type = opts[:debug_return_type] || 'RetryFailedDeliveriesSummary'
476
+
477
+ # auth_names
478
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
479
+
480
+ new_options = opts.merge(
481
+ :operation => :"ForwardersApi.retry_failed_forwarder_deliveries",
482
+ :header_params => header_params,
483
+ :query_params => query_params,
484
+ :form_params => form_params,
485
+ :body => post_body,
486
+ :auth_names => auth_names,
487
+ :return_type => return_type
488
+ )
489
+
490
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
491
+ if @api_client.config.debugging
492
+ @api_client.config.logger.debug "API called: ForwardersApi#retry_failed_forwarder_deliveries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
493
+ end
494
+ return data, status_code, headers
495
+ end
496
+
497
+ # Retry Forwarder Delivery
498
+ # Retry a single failed delivery. Returns the new delivery row with its outcome. Prior delivery rows are not modified.
499
+ # @param forwarder_id [String]
500
+ # @param delivery_id [String]
501
+ # @param [Hash] opts the optional parameters
502
+ # @return [ForwarderDeliveryResponse]
503
+ def retry_forwarder_delivery(forwarder_id, delivery_id, opts = {})
504
+ data, _status_code, _headers = retry_forwarder_delivery_with_http_info(forwarder_id, delivery_id, opts)
505
+ data
506
+ end
507
+
508
+ # Retry Forwarder Delivery
509
+ # Retry a single failed delivery. Returns the new delivery row with its outcome. Prior delivery rows are not modified.
510
+ # @param forwarder_id [String]
511
+ # @param delivery_id [String]
512
+ # @param [Hash] opts the optional parameters
513
+ # @return [Array<(ForwarderDeliveryResponse, Integer, Hash)>] ForwarderDeliveryResponse data, response status code and response headers
514
+ def retry_forwarder_delivery_with_http_info(forwarder_id, delivery_id, opts = {})
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.retry_forwarder_delivery ...'
517
+ end
518
+ # verify the required parameter 'forwarder_id' is set
519
+ if @api_client.config.client_side_validation && forwarder_id.nil?
520
+ fail ArgumentError, "Missing the required parameter 'forwarder_id' when calling ForwardersApi.retry_forwarder_delivery"
521
+ end
522
+ # verify the required parameter 'delivery_id' is set
523
+ if @api_client.config.client_side_validation && delivery_id.nil?
524
+ fail ArgumentError, "Missing the required parameter 'delivery_id' when calling ForwardersApi.retry_forwarder_delivery"
525
+ end
526
+ # resource path
527
+ local_var_path = '/api/v1/forwarders/{forwarder_id}/deliveries/{delivery_id}/actions/retry'.sub('{forwarder_id}', CGI.escape(forwarder_id.to_s)).sub('{delivery_id}', CGI.escape(delivery_id.to_s))
528
+
529
+ # query parameters
530
+ query_params = opts[:query_params] || {}
531
+
532
+ # header parameters
533
+ header_params = opts[:header_params] || {}
534
+ # HTTP header 'Accept' (if needed)
535
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
536
+
537
+ # form parameters
538
+ form_params = opts[:form_params] || {}
539
+
540
+ # http body (model)
541
+ post_body = opts[:debug_body]
542
+
543
+ # return_type
544
+ return_type = opts[:debug_return_type] || 'ForwarderDeliveryResponse'
545
+
546
+ # auth_names
547
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
548
+
549
+ new_options = opts.merge(
550
+ :operation => :"ForwardersApi.retry_forwarder_delivery",
551
+ :header_params => header_params,
552
+ :query_params => query_params,
553
+ :form_params => form_params,
554
+ :body => post_body,
555
+ :auth_names => auth_names,
556
+ :return_type => return_type
557
+ )
558
+
559
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
560
+ if @api_client.config.debugging
561
+ @api_client.config.logger.debug "API called: ForwardersApi#retry_forwarder_delivery\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
562
+ end
563
+ return data, status_code, headers
564
+ end
565
+
566
+ # Update Forwarder
567
+ # Full-replace update. PUT semantics — every field is overwritten. The header values must be re-supplied; the GET path redacts them, but a PUT body that contains ``\"<redacted>\"`` would persist that literal. Customers must round-trip the actual secret back. This is the standard get-mutate-put pattern (see CLAUDE.md \"Updating Resources via the API\"); the SDK helpers track the un-redacted secret client-side so customers don't usually need to re-enter it.
568
+ # @param forwarder_id [String]
569
+ # @param forwarder_response [ForwarderResponse]
570
+ # @param [Hash] opts the optional parameters
571
+ # @return [ForwarderResponse]
572
+ def update_forwarder(forwarder_id, forwarder_response, opts = {})
573
+ data, _status_code, _headers = update_forwarder_with_http_info(forwarder_id, forwarder_response, opts)
574
+ data
575
+ end
576
+
577
+ # Update Forwarder
578
+ # Full-replace update. PUT semantics — every field is overwritten. The header values must be re-supplied; the GET path redacts them, but a PUT body that contains &#x60;&#x60;\&quot;&lt;redacted&gt;\&quot;&#x60;&#x60; would persist that literal. Customers must round-trip the actual secret back. This is the standard get-mutate-put pattern (see CLAUDE.md \&quot;Updating Resources via the API\&quot;); the SDK helpers track the un-redacted secret client-side so customers don&#39;t usually need to re-enter it.
579
+ # @param forwarder_id [String]
580
+ # @param forwarder_response [ForwarderResponse]
581
+ # @param [Hash] opts the optional parameters
582
+ # @return [Array<(ForwarderResponse, Integer, Hash)>] ForwarderResponse data, response status code and response headers
583
+ def update_forwarder_with_http_info(forwarder_id, forwarder_response, opts = {})
584
+ if @api_client.config.debugging
585
+ @api_client.config.logger.debug 'Calling API: ForwardersApi.update_forwarder ...'
586
+ end
587
+ # verify the required parameter 'forwarder_id' is set
588
+ if @api_client.config.client_side_validation && forwarder_id.nil?
589
+ fail ArgumentError, "Missing the required parameter 'forwarder_id' when calling ForwardersApi.update_forwarder"
590
+ end
591
+ # verify the required parameter 'forwarder_response' is set
592
+ if @api_client.config.client_side_validation && forwarder_response.nil?
593
+ fail ArgumentError, "Missing the required parameter 'forwarder_response' when calling ForwardersApi.update_forwarder"
594
+ end
595
+ # resource path
596
+ local_var_path = '/api/v1/forwarders/{forwarder_id}'.sub('{forwarder_id}', CGI.escape(forwarder_id.to_s))
597
+
598
+ # query parameters
599
+ query_params = opts[:query_params] || {}
600
+
601
+ # header parameters
602
+ header_params = opts[:header_params] || {}
603
+ # HTTP header 'Accept' (if needed)
604
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
605
+ # HTTP header 'Content-Type'
606
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
607
+ if !content_type.nil?
608
+ header_params['Content-Type'] = content_type
609
+ end
610
+
611
+ # form parameters
612
+ form_params = opts[:form_params] || {}
613
+
614
+ # http body (model)
615
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(forwarder_response)
616
+
617
+ # return_type
618
+ return_type = opts[:debug_return_type] || 'ForwarderResponse'
619
+
620
+ # auth_names
621
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
622
+
623
+ new_options = opts.merge(
624
+ :operation => :"ForwardersApi.update_forwarder",
625
+ :header_params => header_params,
626
+ :query_params => query_params,
627
+ :form_params => form_params,
628
+ :body => post_body,
629
+ :auth_names => auth_names,
630
+ :return_type => return_type
631
+ )
632
+
633
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
634
+ if @api_client.config.debugging
635
+ @api_client.config.logger.debug "API called: ForwardersApi#update_forwarder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
636
+ end
637
+ return data, status_code, headers
638
+ end
639
+ end
640
+ end