zyphr 0.1.0 → 0.1.2

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +59 -0
  3. data/docs/BatchPublishWaaSEvents201Response.md +18 -0
  4. data/docs/CreateWaaSApplication201Response.md +18 -0
  5. data/docs/CreateWaaSApplicationRequest.md +22 -0
  6. data/docs/CreateWaaSEndpoint201Response.md +18 -0
  7. data/docs/CreateWaaSEndpointRequest.md +22 -0
  8. data/docs/CreateWaaSEndpointResponse.md +30 -0
  9. data/docs/CreateWaaSEventType201Response.md +18 -0
  10. data/docs/CreateWaaSEventTypeRequest.md +26 -0
  11. data/docs/GenerateWaaSPortalToken201Response.md +18 -0
  12. data/docs/GetWaaSEndpoint200Response.md +18 -0
  13. data/docs/GetWaaSUsage200Response.md +18 -0
  14. data/docs/ListWaaSApplications200Response.md +18 -0
  15. data/docs/ListWaaSEndpointDeliveries200Response.md +18 -0
  16. data/docs/ListWaaSEndpoints200Response.md +18 -0
  17. data/docs/ListWaaSEventTypes200Response.md +18 -0
  18. data/docs/PublishWaaSEvent201Response.md +18 -0
  19. data/docs/UpdateWaaSApplicationRequest.md +22 -0
  20. data/docs/UpdateWaaSEndpointRequest.md +22 -0
  21. data/docs/UpdateWaaSEventTypeRequest.md +24 -0
  22. data/docs/WaaSApplication.md +32 -0
  23. data/docs/WaaSApplicationsApi.md +446 -0
  24. data/docs/WaaSBatchPublishRequest.md +18 -0
  25. data/docs/WaaSBatchPublishResponse.md +22 -0
  26. data/docs/WaaSDeliveriesApi.md +319 -0
  27. data/docs/WaaSDelivery.md +38 -0
  28. data/docs/WaaSEndpoint.md +32 -0
  29. data/docs/WaaSEndpointsApi.md +673 -0
  30. data/docs/WaaSEventType.md +36 -0
  31. data/docs/WaaSEventTypesApi.md +454 -0
  32. data/docs/WaaSEventsApi.md +155 -0
  33. data/docs/WaaSPortalApi.md +81 -0
  34. data/docs/WaaSPortalTokenRequest.md +24 -0
  35. data/docs/WaaSPortalTokenRequestTheme.md +20 -0
  36. data/docs/WaaSPortalTokenResponse.md +20 -0
  37. data/docs/WaaSPublishEventRequest.md +24 -0
  38. data/docs/WaaSPublishEventResponse.md +26 -0
  39. data/docs/WaaSUsageResponse.md +28 -0
  40. data/lib/zyphr/api/waa_s_applications_api.rb +425 -0
  41. data/lib/zyphr/api/waa_s_deliveries_api.rb +316 -0
  42. data/lib/zyphr/api/waa_s_endpoints_api.rb +653 -0
  43. data/lib/zyphr/api/waa_s_event_types_api.rb +452 -0
  44. data/lib/zyphr/api/waa_s_events_api.rb +170 -0
  45. data/lib/zyphr/api/waa_s_portal_api.rb +96 -0
  46. data/lib/zyphr/models/batch_publish_waa_s_events201_response.rb +220 -0
  47. data/lib/zyphr/models/create_waa_s_application201_response.rb +220 -0
  48. data/lib/zyphr/models/create_waa_s_application_request.rb +275 -0
  49. data/lib/zyphr/models/create_waa_s_endpoint201_response.rb +220 -0
  50. data/lib/zyphr/models/create_waa_s_endpoint_request.rb +294 -0
  51. data/lib/zyphr/models/create_waa_s_endpoint_response.rb +277 -0
  52. data/lib/zyphr/models/create_waa_s_event_type201_response.rb +220 -0
  53. data/lib/zyphr/models/create_waa_s_event_type_request.rb +292 -0
  54. data/lib/zyphr/models/generate_waa_s_portal_token201_response.rb +220 -0
  55. data/lib/zyphr/models/get_waa_s_endpoint200_response.rb +220 -0
  56. data/lib/zyphr/models/get_waa_s_usage200_response.rb +220 -0
  57. data/lib/zyphr/models/list_waa_s_applications200_response.rb +222 -0
  58. data/lib/zyphr/models/list_waa_s_endpoint_deliveries200_response.rb +222 -0
  59. data/lib/zyphr/models/list_waa_s_endpoints200_response.rb +222 -0
  60. data/lib/zyphr/models/list_waa_s_event_types200_response.rb +222 -0
  61. data/lib/zyphr/models/publish_waa_s_event201_response.rb +220 -0
  62. data/lib/zyphr/models/update_waa_s_application_request.rb +272 -0
  63. data/lib/zyphr/models/update_waa_s_endpoint_request.rb +274 -0
  64. data/lib/zyphr/models/update_waa_s_event_type_request.rb +247 -0
  65. data/lib/zyphr/models/waa_s_application.rb +317 -0
  66. data/lib/zyphr/models/waa_s_batch_publish_request.rb +248 -0
  67. data/lib/zyphr/models/waa_s_batch_publish_response.rb +240 -0
  68. data/lib/zyphr/models/waa_s_delivery.rb +344 -0
  69. data/lib/zyphr/models/waa_s_endpoint.rb +319 -0
  70. data/lib/zyphr/models/waa_s_event_type.rb +335 -0
  71. data/lib/zyphr/models/waa_s_portal_token_request.rb +267 -0
  72. data/lib/zyphr/models/waa_s_portal_token_request_theme.rb +263 -0
  73. data/lib/zyphr/models/waa_s_portal_token_response.rb +229 -0
  74. data/lib/zyphr/models/waa_s_publish_event_request.rb +302 -0
  75. data/lib/zyphr/models/waa_s_publish_event_response.rb +256 -0
  76. data/lib/zyphr/models/waa_s_usage_response.rb +265 -0
  77. data/lib/zyphr.rb +37 -0
  78. data/spec/api/waa_s_applications_api_spec.rb +110 -0
  79. data/spec/api/waa_s_deliveries_api_spec.rb +94 -0
  80. data/spec/api/waa_s_endpoints_api_spec.rb +154 -0
  81. data/spec/api/waa_s_event_types_api_spec.rb +115 -0
  82. data/spec/api/waa_s_events_api_spec.rb +61 -0
  83. data/spec/api/waa_s_portal_api_spec.rb +48 -0
  84. data/spec/models/batch_publish_waa_s_events201_response_spec.rb +36 -0
  85. data/spec/models/create_waa_s_application201_response_spec.rb +36 -0
  86. data/spec/models/create_waa_s_application_request_spec.rb +48 -0
  87. data/spec/models/create_waa_s_endpoint201_response_spec.rb +36 -0
  88. data/spec/models/create_waa_s_endpoint_request_spec.rb +48 -0
  89. data/spec/models/create_waa_s_endpoint_response_spec.rb +72 -0
  90. data/spec/models/create_waa_s_event_type201_response_spec.rb +36 -0
  91. data/spec/models/create_waa_s_event_type_request_spec.rb +60 -0
  92. data/spec/models/generate_waa_s_portal_token201_response_spec.rb +36 -0
  93. data/spec/models/get_waa_s_endpoint200_response_spec.rb +36 -0
  94. data/spec/models/get_waa_s_usage200_response_spec.rb +36 -0
  95. data/spec/models/list_waa_s_applications200_response_spec.rb +36 -0
  96. data/spec/models/list_waa_s_endpoint_deliveries200_response_spec.rb +36 -0
  97. data/spec/models/list_waa_s_endpoints200_response_spec.rb +36 -0
  98. data/spec/models/list_waa_s_event_types200_response_spec.rb +36 -0
  99. data/spec/models/publish_waa_s_event201_response_spec.rb +36 -0
  100. data/spec/models/update_waa_s_application_request_spec.rb +52 -0
  101. data/spec/models/update_waa_s_endpoint_request_spec.rb +52 -0
  102. data/spec/models/update_waa_s_event_type_request_spec.rb +54 -0
  103. data/spec/models/waa_s_application_spec.rb +82 -0
  104. data/spec/models/waa_s_batch_publish_request_spec.rb +36 -0
  105. data/spec/models/waa_s_batch_publish_response_spec.rb +48 -0
  106. data/spec/models/waa_s_delivery_spec.rb +100 -0
  107. data/spec/models/waa_s_endpoint_spec.rb +82 -0
  108. data/spec/models/waa_s_event_type_spec.rb +94 -0
  109. data/spec/models/waa_s_portal_token_request_spec.rb +54 -0
  110. data/spec/models/waa_s_portal_token_request_theme_spec.rb +46 -0
  111. data/spec/models/waa_s_portal_token_response_spec.rb +42 -0
  112. data/spec/models/waa_s_publish_event_request_spec.rb +54 -0
  113. data/spec/models/waa_s_publish_event_response_spec.rb +60 -0
  114. data/spec/models/waa_s_usage_response_spec.rb +66 -0
  115. data/zyphr.gemspec +1 -1
  116. metadata +150 -2
@@ -0,0 +1,653 @@
1
+ =begin
2
+ #Zyphr API
3
+
4
+ #Zyphr is a multi-channel notification platform that enables developers to send emails, push notifications, SMS, and in-app messages through a unified API. ## Authentication All API requests require authentication using an API key. Include your API key in the `X-API-Key` header: ``` X-API-Key: zy_live_xxxxxxxxxxxx ``` API keys can be created in the Zyphr Dashboard. Use `zy_test_*` keys for testing and `zy_live_*` keys for production. ## Rate Limiting The API implements rate limiting to ensure fair usage. Rate limit information is included in response headers: - `X-RateLimit-Limit`: Maximum requests per window - `X-RateLimit-Remaining`: Remaining requests in current window - `X-RateLimit-Reset`: Unix timestamp when the window resets ## Errors All errors follow a consistent format: ```json { \"error\": { \"code\": \"error_code\", \"message\": \"Human readable message\", \"details\": {} }, \"meta\": { \"request_id\": \"req_xxxx\" } } ```
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: support@zyphr.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Zyphr
16
+ class WaaSEndpointsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Force-close circuit breaker
23
+ # Force the circuit breaker to close, resuming deliveries to the endpoint.
24
+ # @param app_id [String]
25
+ # @param endpoint_id [String]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [nil]
28
+ def close_waa_s_endpoint_circuit(app_id, endpoint_id, opts = {})
29
+ close_waa_s_endpoint_circuit_with_http_info(app_id, endpoint_id, opts)
30
+ nil
31
+ end
32
+
33
+ # Force-close circuit breaker
34
+ # Force the circuit breaker to close, resuming deliveries to the endpoint.
35
+ # @param app_id [String]
36
+ # @param endpoint_id [String]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
39
+ def close_waa_s_endpoint_circuit_with_http_info(app_id, endpoint_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.close_waa_s_endpoint_circuit ...'
42
+ end
43
+ # verify the required parameter 'app_id' is set
44
+ if @api_client.config.client_side_validation && app_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.close_waa_s_endpoint_circuit"
46
+ end
47
+ # verify the required parameter 'endpoint_id' is set
48
+ if @api_client.config.client_side_validation && endpoint_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling WaaSEndpointsApi.close_waa_s_endpoint_circuit"
50
+ end
51
+ # resource path
52
+ local_var_path = '/v1/waas/applications/{appId}/endpoints/{endpointId}/circuit/close'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpointId' + '}', CGI.escape(endpoint_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+
60
+ # form parameters
61
+ form_params = opts[:form_params] || {}
62
+
63
+ # http body (model)
64
+ post_body = opts[:debug_body]
65
+
66
+ # return_type
67
+ return_type = opts[:debug_return_type]
68
+
69
+ # auth_names
70
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
71
+
72
+ new_options = opts.merge(
73
+ :operation => :"WaaSEndpointsApi.close_waa_s_endpoint_circuit",
74
+ :header_params => header_params,
75
+ :query_params => query_params,
76
+ :form_params => form_params,
77
+ :body => post_body,
78
+ :auth_names => auth_names,
79
+ :return_type => return_type
80
+ )
81
+
82
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
83
+ if @api_client.config.debugging
84
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#close_waa_s_endpoint_circuit\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
85
+ end
86
+ return data, status_code, headers
87
+ end
88
+
89
+ # Create a tenant endpoint
90
+ # Create a webhook endpoint for a specific tenant. The signing secret is returned only on creation.
91
+ # @param app_id [String]
92
+ # @param create_waa_s_endpoint_request [CreateWaaSEndpointRequest]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [CreateWaaSEndpoint201Response]
95
+ def create_waa_s_endpoint(app_id, create_waa_s_endpoint_request, opts = {})
96
+ data, _status_code, _headers = create_waa_s_endpoint_with_http_info(app_id, create_waa_s_endpoint_request, opts)
97
+ data
98
+ end
99
+
100
+ # Create a tenant endpoint
101
+ # Create a webhook endpoint for a specific tenant. The signing secret is returned only on creation.
102
+ # @param app_id [String]
103
+ # @param create_waa_s_endpoint_request [CreateWaaSEndpointRequest]
104
+ # @param [Hash] opts the optional parameters
105
+ # @return [Array<(CreateWaaSEndpoint201Response, Integer, Hash)>] CreateWaaSEndpoint201Response data, response status code and response headers
106
+ def create_waa_s_endpoint_with_http_info(app_id, create_waa_s_endpoint_request, opts = {})
107
+ if @api_client.config.debugging
108
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.create_waa_s_endpoint ...'
109
+ end
110
+ # verify the required parameter 'app_id' is set
111
+ if @api_client.config.client_side_validation && app_id.nil?
112
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.create_waa_s_endpoint"
113
+ end
114
+ # verify the required parameter 'create_waa_s_endpoint_request' is set
115
+ if @api_client.config.client_side_validation && create_waa_s_endpoint_request.nil?
116
+ fail ArgumentError, "Missing the required parameter 'create_waa_s_endpoint_request' when calling WaaSEndpointsApi.create_waa_s_endpoint"
117
+ end
118
+ # resource path
119
+ local_var_path = '/v1/waas/applications/{appId}/endpoints'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))
120
+
121
+ # query parameters
122
+ query_params = opts[:query_params] || {}
123
+
124
+ # header parameters
125
+ header_params = opts[:header_params] || {}
126
+ # HTTP header 'Accept' (if needed)
127
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
128
+ # HTTP header 'Content-Type'
129
+ content_type = @api_client.select_header_content_type(['application/json'])
130
+ if !content_type.nil?
131
+ header_params['Content-Type'] = content_type
132
+ end
133
+
134
+ # form parameters
135
+ form_params = opts[:form_params] || {}
136
+
137
+ # http body (model)
138
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_waa_s_endpoint_request)
139
+
140
+ # return_type
141
+ return_type = opts[:debug_return_type] || 'CreateWaaSEndpoint201Response'
142
+
143
+ # auth_names
144
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
145
+
146
+ new_options = opts.merge(
147
+ :operation => :"WaaSEndpointsApi.create_waa_s_endpoint",
148
+ :header_params => header_params,
149
+ :query_params => query_params,
150
+ :form_params => form_params,
151
+ :body => post_body,
152
+ :auth_names => auth_names,
153
+ :return_type => return_type
154
+ )
155
+
156
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
157
+ if @api_client.config.debugging
158
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#create_waa_s_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
159
+ end
160
+ return data, status_code, headers
161
+ end
162
+
163
+ # Delete an endpoint
164
+ # Delete a tenant endpoint. Stops all future deliveries and removes pending retries.
165
+ # @param app_id [String]
166
+ # @param endpoint_id [String]
167
+ # @param [Hash] opts the optional parameters
168
+ # @return [nil]
169
+ def delete_waa_s_endpoint(app_id, endpoint_id, opts = {})
170
+ delete_waa_s_endpoint_with_http_info(app_id, endpoint_id, opts)
171
+ nil
172
+ end
173
+
174
+ # Delete an endpoint
175
+ # Delete a tenant endpoint. Stops all future deliveries and removes pending retries.
176
+ # @param app_id [String]
177
+ # @param endpoint_id [String]
178
+ # @param [Hash] opts the optional parameters
179
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
180
+ def delete_waa_s_endpoint_with_http_info(app_id, endpoint_id, opts = {})
181
+ if @api_client.config.debugging
182
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.delete_waa_s_endpoint ...'
183
+ end
184
+ # verify the required parameter 'app_id' is set
185
+ if @api_client.config.client_side_validation && app_id.nil?
186
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.delete_waa_s_endpoint"
187
+ end
188
+ # verify the required parameter 'endpoint_id' is set
189
+ if @api_client.config.client_side_validation && endpoint_id.nil?
190
+ fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling WaaSEndpointsApi.delete_waa_s_endpoint"
191
+ end
192
+ # resource path
193
+ local_var_path = '/v1/waas/applications/{appId}/endpoints/{endpointId}'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpointId' + '}', CGI.escape(endpoint_id.to_s))
194
+
195
+ # query parameters
196
+ query_params = opts[:query_params] || {}
197
+
198
+ # header parameters
199
+ header_params = opts[:header_params] || {}
200
+
201
+ # form parameters
202
+ form_params = opts[:form_params] || {}
203
+
204
+ # http body (model)
205
+ post_body = opts[:debug_body]
206
+
207
+ # return_type
208
+ return_type = opts[:debug_return_type]
209
+
210
+ # auth_names
211
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
212
+
213
+ new_options = opts.merge(
214
+ :operation => :"WaaSEndpointsApi.delete_waa_s_endpoint",
215
+ :header_params => header_params,
216
+ :query_params => query_params,
217
+ :form_params => form_params,
218
+ :body => post_body,
219
+ :auth_names => auth_names,
220
+ :return_type => return_type
221
+ )
222
+
223
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
224
+ if @api_client.config.debugging
225
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#delete_waa_s_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
226
+ end
227
+ return data, status_code, headers
228
+ end
229
+
230
+ # Get an endpoint
231
+ # @param app_id [String]
232
+ # @param endpoint_id [String]
233
+ # @param [Hash] opts the optional parameters
234
+ # @return [GetWaaSEndpoint200Response]
235
+ def get_waa_s_endpoint(app_id, endpoint_id, opts = {})
236
+ data, _status_code, _headers = get_waa_s_endpoint_with_http_info(app_id, endpoint_id, opts)
237
+ data
238
+ end
239
+
240
+ # Get an endpoint
241
+ # @param app_id [String]
242
+ # @param endpoint_id [String]
243
+ # @param [Hash] opts the optional parameters
244
+ # @return [Array<(GetWaaSEndpoint200Response, Integer, Hash)>] GetWaaSEndpoint200Response data, response status code and response headers
245
+ def get_waa_s_endpoint_with_http_info(app_id, endpoint_id, opts = {})
246
+ if @api_client.config.debugging
247
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.get_waa_s_endpoint ...'
248
+ end
249
+ # verify the required parameter 'app_id' is set
250
+ if @api_client.config.client_side_validation && app_id.nil?
251
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.get_waa_s_endpoint"
252
+ end
253
+ # verify the required parameter 'endpoint_id' is set
254
+ if @api_client.config.client_side_validation && endpoint_id.nil?
255
+ fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling WaaSEndpointsApi.get_waa_s_endpoint"
256
+ end
257
+ # resource path
258
+ local_var_path = '/v1/waas/applications/{appId}/endpoints/{endpointId}'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpointId' + '}', CGI.escape(endpoint_id.to_s))
259
+
260
+ # query parameters
261
+ query_params = opts[:query_params] || {}
262
+
263
+ # header parameters
264
+ header_params = opts[:header_params] || {}
265
+ # HTTP header 'Accept' (if needed)
266
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
267
+
268
+ # form parameters
269
+ form_params = opts[:form_params] || {}
270
+
271
+ # http body (model)
272
+ post_body = opts[:debug_body]
273
+
274
+ # return_type
275
+ return_type = opts[:debug_return_type] || 'GetWaaSEndpoint200Response'
276
+
277
+ # auth_names
278
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
279
+
280
+ new_options = opts.merge(
281
+ :operation => :"WaaSEndpointsApi.get_waa_s_endpoint",
282
+ :header_params => header_params,
283
+ :query_params => query_params,
284
+ :form_params => form_params,
285
+ :body => post_body,
286
+ :auth_names => auth_names,
287
+ :return_type => return_type
288
+ )
289
+
290
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
291
+ if @api_client.config.debugging
292
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#get_waa_s_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
293
+ end
294
+ return data, status_code, headers
295
+ end
296
+
297
+ # Get circuit breaker state
298
+ # Get the circuit breaker state for an endpoint (closed, open, or half-open).
299
+ # @param app_id [String]
300
+ # @param endpoint_id [String]
301
+ # @param [Hash] opts the optional parameters
302
+ # @return [nil]
303
+ def get_waa_s_endpoint_circuit(app_id, endpoint_id, opts = {})
304
+ get_waa_s_endpoint_circuit_with_http_info(app_id, endpoint_id, opts)
305
+ nil
306
+ end
307
+
308
+ # Get circuit breaker state
309
+ # Get the circuit breaker state for an endpoint (closed, open, or half-open).
310
+ # @param app_id [String]
311
+ # @param endpoint_id [String]
312
+ # @param [Hash] opts the optional parameters
313
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
314
+ def get_waa_s_endpoint_circuit_with_http_info(app_id, endpoint_id, opts = {})
315
+ if @api_client.config.debugging
316
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.get_waa_s_endpoint_circuit ...'
317
+ end
318
+ # verify the required parameter 'app_id' is set
319
+ if @api_client.config.client_side_validation && app_id.nil?
320
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.get_waa_s_endpoint_circuit"
321
+ end
322
+ # verify the required parameter 'endpoint_id' is set
323
+ if @api_client.config.client_side_validation && endpoint_id.nil?
324
+ fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling WaaSEndpointsApi.get_waa_s_endpoint_circuit"
325
+ end
326
+ # resource path
327
+ local_var_path = '/v1/waas/applications/{appId}/endpoints/{endpointId}/circuit'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpointId' + '}', CGI.escape(endpoint_id.to_s))
328
+
329
+ # query parameters
330
+ query_params = opts[:query_params] || {}
331
+
332
+ # header parameters
333
+ header_params = opts[:header_params] || {}
334
+
335
+ # form parameters
336
+ form_params = opts[:form_params] || {}
337
+
338
+ # http body (model)
339
+ post_body = opts[:debug_body]
340
+
341
+ # return_type
342
+ return_type = opts[:debug_return_type]
343
+
344
+ # auth_names
345
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
346
+
347
+ new_options = opts.merge(
348
+ :operation => :"WaaSEndpointsApi.get_waa_s_endpoint_circuit",
349
+ :header_params => header_params,
350
+ :query_params => query_params,
351
+ :form_params => form_params,
352
+ :body => post_body,
353
+ :auth_names => auth_names,
354
+ :return_type => return_type
355
+ )
356
+
357
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
358
+ if @api_client.config.debugging
359
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#get_waa_s_endpoint_circuit\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
360
+ end
361
+ return data, status_code, headers
362
+ end
363
+
364
+ # Get endpoint metrics
365
+ # Get delivery success rate, latency, and health metrics for an endpoint.
366
+ # @param app_id [String]
367
+ # @param endpoint_id [String]
368
+ # @param [Hash] opts the optional parameters
369
+ # @return [nil]
370
+ def get_waa_s_endpoint_metrics(app_id, endpoint_id, opts = {})
371
+ get_waa_s_endpoint_metrics_with_http_info(app_id, endpoint_id, opts)
372
+ nil
373
+ end
374
+
375
+ # Get endpoint metrics
376
+ # Get delivery success rate, latency, and health metrics for an endpoint.
377
+ # @param app_id [String]
378
+ # @param endpoint_id [String]
379
+ # @param [Hash] opts the optional parameters
380
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
381
+ def get_waa_s_endpoint_metrics_with_http_info(app_id, endpoint_id, opts = {})
382
+ if @api_client.config.debugging
383
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.get_waa_s_endpoint_metrics ...'
384
+ end
385
+ # verify the required parameter 'app_id' is set
386
+ if @api_client.config.client_side_validation && app_id.nil?
387
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.get_waa_s_endpoint_metrics"
388
+ end
389
+ # verify the required parameter 'endpoint_id' is set
390
+ if @api_client.config.client_side_validation && endpoint_id.nil?
391
+ fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling WaaSEndpointsApi.get_waa_s_endpoint_metrics"
392
+ end
393
+ # resource path
394
+ local_var_path = '/v1/waas/applications/{appId}/endpoints/{endpointId}/metrics'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpointId' + '}', CGI.escape(endpoint_id.to_s))
395
+
396
+ # query parameters
397
+ query_params = opts[:query_params] || {}
398
+
399
+ # header parameters
400
+ header_params = opts[:header_params] || {}
401
+
402
+ # form parameters
403
+ form_params = opts[:form_params] || {}
404
+
405
+ # http body (model)
406
+ post_body = opts[:debug_body]
407
+
408
+ # return_type
409
+ return_type = opts[:debug_return_type]
410
+
411
+ # auth_names
412
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
413
+
414
+ new_options = opts.merge(
415
+ :operation => :"WaaSEndpointsApi.get_waa_s_endpoint_metrics",
416
+ :header_params => header_params,
417
+ :query_params => query_params,
418
+ :form_params => form_params,
419
+ :body => post_body,
420
+ :auth_names => auth_names,
421
+ :return_type => return_type
422
+ )
423
+
424
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
425
+ if @api_client.config.debugging
426
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#get_waa_s_endpoint_metrics\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
427
+ end
428
+ return data, status_code, headers
429
+ end
430
+
431
+ # List tenant endpoints
432
+ # List all endpoints for a WaaS application. Optionally filter by tenant ID or status.
433
+ # @param app_id [String]
434
+ # @param [Hash] opts the optional parameters
435
+ # @option opts [Integer] :limit (default to 50)
436
+ # @option opts [Integer] :offset (default to 0)
437
+ # @option opts [String] :tenant_id
438
+ # @option opts [String] :status
439
+ # @return [ListWaaSEndpoints200Response]
440
+ def list_waa_s_endpoints(app_id, opts = {})
441
+ data, _status_code, _headers = list_waa_s_endpoints_with_http_info(app_id, opts)
442
+ data
443
+ end
444
+
445
+ # List tenant endpoints
446
+ # List all endpoints for a WaaS application. Optionally filter by tenant ID or status.
447
+ # @param app_id [String]
448
+ # @param [Hash] opts the optional parameters
449
+ # @option opts [Integer] :limit (default to 50)
450
+ # @option opts [Integer] :offset (default to 0)
451
+ # @option opts [String] :tenant_id
452
+ # @option opts [String] :status
453
+ # @return [Array<(ListWaaSEndpoints200Response, Integer, Hash)>] ListWaaSEndpoints200Response data, response status code and response headers
454
+ def list_waa_s_endpoints_with_http_info(app_id, opts = {})
455
+ if @api_client.config.debugging
456
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.list_waa_s_endpoints ...'
457
+ end
458
+ # verify the required parameter 'app_id' is set
459
+ if @api_client.config.client_side_validation && app_id.nil?
460
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.list_waa_s_endpoints"
461
+ end
462
+ allowable_values = ["active", "paused", "disabled"]
463
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
464
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
465
+ end
466
+ # resource path
467
+ local_var_path = '/v1/waas/applications/{appId}/endpoints'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))
468
+
469
+ # query parameters
470
+ query_params = opts[:query_params] || {}
471
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
472
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
473
+ query_params[:'tenant_id'] = opts[:'tenant_id'] if !opts[:'tenant_id'].nil?
474
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
475
+
476
+ # header parameters
477
+ header_params = opts[:header_params] || {}
478
+ # HTTP header 'Accept' (if needed)
479
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
480
+
481
+ # form parameters
482
+ form_params = opts[:form_params] || {}
483
+
484
+ # http body (model)
485
+ post_body = opts[:debug_body]
486
+
487
+ # return_type
488
+ return_type = opts[:debug_return_type] || 'ListWaaSEndpoints200Response'
489
+
490
+ # auth_names
491
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
492
+
493
+ new_options = opts.merge(
494
+ :operation => :"WaaSEndpointsApi.list_waa_s_endpoints",
495
+ :header_params => header_params,
496
+ :query_params => query_params,
497
+ :form_params => form_params,
498
+ :body => post_body,
499
+ :auth_names => auth_names,
500
+ :return_type => return_type
501
+ )
502
+
503
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
504
+ if @api_client.config.debugging
505
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#list_waa_s_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
506
+ end
507
+ return data, status_code, headers
508
+ end
509
+
510
+ # Rotate endpoint secret
511
+ # Rotate the signing secret for an endpoint. During rotation, deliveries are signed with both old and new secrets.
512
+ # @param app_id [String]
513
+ # @param endpoint_id [String]
514
+ # @param [Hash] opts the optional parameters
515
+ # @return [nil]
516
+ def rotate_waa_s_endpoint_secret(app_id, endpoint_id, opts = {})
517
+ rotate_waa_s_endpoint_secret_with_http_info(app_id, endpoint_id, opts)
518
+ nil
519
+ end
520
+
521
+ # Rotate endpoint secret
522
+ # Rotate the signing secret for an endpoint. During rotation, deliveries are signed with both old and new secrets.
523
+ # @param app_id [String]
524
+ # @param endpoint_id [String]
525
+ # @param [Hash] opts the optional parameters
526
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
527
+ def rotate_waa_s_endpoint_secret_with_http_info(app_id, endpoint_id, opts = {})
528
+ if @api_client.config.debugging
529
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.rotate_waa_s_endpoint_secret ...'
530
+ end
531
+ # verify the required parameter 'app_id' is set
532
+ if @api_client.config.client_side_validation && app_id.nil?
533
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.rotate_waa_s_endpoint_secret"
534
+ end
535
+ # verify the required parameter 'endpoint_id' is set
536
+ if @api_client.config.client_side_validation && endpoint_id.nil?
537
+ fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling WaaSEndpointsApi.rotate_waa_s_endpoint_secret"
538
+ end
539
+ # resource path
540
+ local_var_path = '/v1/waas/applications/{appId}/endpoints/{endpointId}/rotate-secret'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpointId' + '}', CGI.escape(endpoint_id.to_s))
541
+
542
+ # query parameters
543
+ query_params = opts[:query_params] || {}
544
+
545
+ # header parameters
546
+ header_params = opts[:header_params] || {}
547
+
548
+ # form parameters
549
+ form_params = opts[:form_params] || {}
550
+
551
+ # http body (model)
552
+ post_body = opts[:debug_body]
553
+
554
+ # return_type
555
+ return_type = opts[:debug_return_type]
556
+
557
+ # auth_names
558
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
559
+
560
+ new_options = opts.merge(
561
+ :operation => :"WaaSEndpointsApi.rotate_waa_s_endpoint_secret",
562
+ :header_params => header_params,
563
+ :query_params => query_params,
564
+ :form_params => form_params,
565
+ :body => post_body,
566
+ :auth_names => auth_names,
567
+ :return_type => return_type
568
+ )
569
+
570
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
571
+ if @api_client.config.debugging
572
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#rotate_waa_s_endpoint_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
573
+ end
574
+ return data, status_code, headers
575
+ end
576
+
577
+ # Update an endpoint
578
+ # @param app_id [String]
579
+ # @param endpoint_id [String]
580
+ # @param update_waa_s_endpoint_request [UpdateWaaSEndpointRequest]
581
+ # @param [Hash] opts the optional parameters
582
+ # @return [nil]
583
+ def update_waa_s_endpoint(app_id, endpoint_id, update_waa_s_endpoint_request, opts = {})
584
+ update_waa_s_endpoint_with_http_info(app_id, endpoint_id, update_waa_s_endpoint_request, opts)
585
+ nil
586
+ end
587
+
588
+ # Update an endpoint
589
+ # @param app_id [String]
590
+ # @param endpoint_id [String]
591
+ # @param update_waa_s_endpoint_request [UpdateWaaSEndpointRequest]
592
+ # @param [Hash] opts the optional parameters
593
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
594
+ def update_waa_s_endpoint_with_http_info(app_id, endpoint_id, update_waa_s_endpoint_request, opts = {})
595
+ if @api_client.config.debugging
596
+ @api_client.config.logger.debug 'Calling API: WaaSEndpointsApi.update_waa_s_endpoint ...'
597
+ end
598
+ # verify the required parameter 'app_id' is set
599
+ if @api_client.config.client_side_validation && app_id.nil?
600
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling WaaSEndpointsApi.update_waa_s_endpoint"
601
+ end
602
+ # verify the required parameter 'endpoint_id' is set
603
+ if @api_client.config.client_side_validation && endpoint_id.nil?
604
+ fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling WaaSEndpointsApi.update_waa_s_endpoint"
605
+ end
606
+ # verify the required parameter 'update_waa_s_endpoint_request' is set
607
+ if @api_client.config.client_side_validation && update_waa_s_endpoint_request.nil?
608
+ fail ArgumentError, "Missing the required parameter 'update_waa_s_endpoint_request' when calling WaaSEndpointsApi.update_waa_s_endpoint"
609
+ end
610
+ # resource path
611
+ local_var_path = '/v1/waas/applications/{appId}/endpoints/{endpointId}'.sub('{' + 'appId' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpointId' + '}', CGI.escape(endpoint_id.to_s))
612
+
613
+ # query parameters
614
+ query_params = opts[:query_params] || {}
615
+
616
+ # header parameters
617
+ header_params = opts[:header_params] || {}
618
+ # HTTP header 'Content-Type'
619
+ content_type = @api_client.select_header_content_type(['application/json'])
620
+ if !content_type.nil?
621
+ header_params['Content-Type'] = content_type
622
+ end
623
+
624
+ # form parameters
625
+ form_params = opts[:form_params] || {}
626
+
627
+ # http body (model)
628
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_waa_s_endpoint_request)
629
+
630
+ # return_type
631
+ return_type = opts[:debug_return_type]
632
+
633
+ # auth_names
634
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
635
+
636
+ new_options = opts.merge(
637
+ :operation => :"WaaSEndpointsApi.update_waa_s_endpoint",
638
+ :header_params => header_params,
639
+ :query_params => query_params,
640
+ :form_params => form_params,
641
+ :body => post_body,
642
+ :auth_names => auth_names,
643
+ :return_type => return_type
644
+ )
645
+
646
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
647
+ if @api_client.config.debugging
648
+ @api_client.config.logger.debug "API called: WaaSEndpointsApi#update_waa_s_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
649
+ end
650
+ return data, status_code, headers
651
+ end
652
+ end
653
+ end