UNPKG

191 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class ApiGatewayV2 extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: ApiGatewayV2.Types.ClientConfiguration)
13 config: Config & ApiGatewayV2.Types.ClientConfiguration;
14 /**
15 * Creates an Api resource.
16 */
17 createApi(params: ApiGatewayV2.Types.CreateApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiResponse) => void): Request<ApiGatewayV2.Types.CreateApiResponse, AWSError>;
18 /**
19 * Creates an Api resource.
20 */
21 createApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiResponse) => void): Request<ApiGatewayV2.Types.CreateApiResponse, AWSError>;
22 /**
23 * Creates an API mapping.
24 */
25 createApiMapping(params: ApiGatewayV2.Types.CreateApiMappingRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiMappingResponse) => void): Request<ApiGatewayV2.Types.CreateApiMappingResponse, AWSError>;
26 /**
27 * Creates an API mapping.
28 */
29 createApiMapping(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiMappingResponse) => void): Request<ApiGatewayV2.Types.CreateApiMappingResponse, AWSError>;
30 /**
31 * Creates an Authorizer for an API.
32 */
33 createAuthorizer(params: ApiGatewayV2.Types.CreateAuthorizerRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.CreateAuthorizerResponse, AWSError>;
34 /**
35 * Creates an Authorizer for an API.
36 */
37 createAuthorizer(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.CreateAuthorizerResponse, AWSError>;
38 /**
39 * Creates a Deployment for an API.
40 */
41 createDeployment(params: ApiGatewayV2.Types.CreateDeploymentRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDeploymentResponse) => void): Request<ApiGatewayV2.Types.CreateDeploymentResponse, AWSError>;
42 /**
43 * Creates a Deployment for an API.
44 */
45 createDeployment(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDeploymentResponse) => void): Request<ApiGatewayV2.Types.CreateDeploymentResponse, AWSError>;
46 /**
47 * Creates a domain name.
48 */
49 createDomainName(params: ApiGatewayV2.Types.CreateDomainNameRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDomainNameResponse) => void): Request<ApiGatewayV2.Types.CreateDomainNameResponse, AWSError>;
50 /**
51 * Creates a domain name.
52 */
53 createDomainName(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDomainNameResponse) => void): Request<ApiGatewayV2.Types.CreateDomainNameResponse, AWSError>;
54 /**
55 * Creates an Integration.
56 */
57 createIntegration(params: ApiGatewayV2.Types.CreateIntegrationRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResult) => void): Request<ApiGatewayV2.Types.CreateIntegrationResult, AWSError>;
58 /**
59 * Creates an Integration.
60 */
61 createIntegration(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResult) => void): Request<ApiGatewayV2.Types.CreateIntegrationResult, AWSError>;
62 /**
63 * Creates an IntegrationResponses.
64 */
65 createIntegrationResponse(params: ApiGatewayV2.Types.CreateIntegrationResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.CreateIntegrationResponseResponse, AWSError>;
66 /**
67 * Creates an IntegrationResponses.
68 */
69 createIntegrationResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.CreateIntegrationResponseResponse, AWSError>;
70 /**
71 * Creates a Model for an API.
72 */
73 createModel(params: ApiGatewayV2.Types.CreateModelRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateModelResponse) => void): Request<ApiGatewayV2.Types.CreateModelResponse, AWSError>;
74 /**
75 * Creates a Model for an API.
76 */
77 createModel(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateModelResponse) => void): Request<ApiGatewayV2.Types.CreateModelResponse, AWSError>;
78 /**
79 * Creates a Route for an API.
80 */
81 createRoute(params: ApiGatewayV2.Types.CreateRouteRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResult) => void): Request<ApiGatewayV2.Types.CreateRouteResult, AWSError>;
82 /**
83 * Creates a Route for an API.
84 */
85 createRoute(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResult) => void): Request<ApiGatewayV2.Types.CreateRouteResult, AWSError>;
86 /**
87 * Creates a RouteResponse for a Route.
88 */
89 createRouteResponse(params: ApiGatewayV2.Types.CreateRouteResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.CreateRouteResponseResponse, AWSError>;
90 /**
91 * Creates a RouteResponse for a Route.
92 */
93 createRouteResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.CreateRouteResponseResponse, AWSError>;
94 /**
95 * Creates a Stage for an API.
96 */
97 createStage(params: ApiGatewayV2.Types.CreateStageRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateStageResponse) => void): Request<ApiGatewayV2.Types.CreateStageResponse, AWSError>;
98 /**
99 * Creates a Stage for an API.
100 */
101 createStage(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateStageResponse) => void): Request<ApiGatewayV2.Types.CreateStageResponse, AWSError>;
102 /**
103 * Creates a VPC link.
104 */
105 createVpcLink(params: ApiGatewayV2.Types.CreateVpcLinkRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateVpcLinkResponse) => void): Request<ApiGatewayV2.Types.CreateVpcLinkResponse, AWSError>;
106 /**
107 * Creates a VPC link.
108 */
109 createVpcLink(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateVpcLinkResponse) => void): Request<ApiGatewayV2.Types.CreateVpcLinkResponse, AWSError>;
110 /**
111 * Deletes the AccessLogSettings for a Stage. To disable access logging for a Stage, delete its AccessLogSettings.
112 */
113 deleteAccessLogSettings(params: ApiGatewayV2.Types.DeleteAccessLogSettingsRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
114 /**
115 * Deletes the AccessLogSettings for a Stage. To disable access logging for a Stage, delete its AccessLogSettings.
116 */
117 deleteAccessLogSettings(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
118 /**
119 * Deletes an Api resource.
120 */
121 deleteApi(params: ApiGatewayV2.Types.DeleteApiRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
122 /**
123 * Deletes an Api resource.
124 */
125 deleteApi(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
126 /**
127 * Deletes an API mapping.
128 */
129 deleteApiMapping(params: ApiGatewayV2.Types.DeleteApiMappingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
130 /**
131 * Deletes an API mapping.
132 */
133 deleteApiMapping(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
134 /**
135 * Deletes an Authorizer.
136 */
137 deleteAuthorizer(params: ApiGatewayV2.Types.DeleteAuthorizerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
138 /**
139 * Deletes an Authorizer.
140 */
141 deleteAuthorizer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
142 /**
143 * Deletes a CORS configuration.
144 */
145 deleteCorsConfiguration(params: ApiGatewayV2.Types.DeleteCorsConfigurationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
146 /**
147 * Deletes a CORS configuration.
148 */
149 deleteCorsConfiguration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
150 /**
151 * Deletes a Deployment.
152 */
153 deleteDeployment(params: ApiGatewayV2.Types.DeleteDeploymentRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
154 /**
155 * Deletes a Deployment.
156 */
157 deleteDeployment(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
158 /**
159 * Deletes a domain name.
160 */
161 deleteDomainName(params: ApiGatewayV2.Types.DeleteDomainNameRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
162 /**
163 * Deletes a domain name.
164 */
165 deleteDomainName(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
166 /**
167 * Deletes an Integration.
168 */
169 deleteIntegration(params: ApiGatewayV2.Types.DeleteIntegrationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
170 /**
171 * Deletes an Integration.
172 */
173 deleteIntegration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
174 /**
175 * Deletes an IntegrationResponses.
176 */
177 deleteIntegrationResponse(params: ApiGatewayV2.Types.DeleteIntegrationResponseRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
178 /**
179 * Deletes an IntegrationResponses.
180 */
181 deleteIntegrationResponse(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
182 /**
183 * Deletes a Model.
184 */
185 deleteModel(params: ApiGatewayV2.Types.DeleteModelRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
186 /**
187 * Deletes a Model.
188 */
189 deleteModel(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
190 /**
191 * Deletes a Route.
192 */
193 deleteRoute(params: ApiGatewayV2.Types.DeleteRouteRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
194 /**
195 * Deletes a Route.
196 */
197 deleteRoute(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
198 /**
199 * Deletes a route request parameter.
200 */
201 deleteRouteRequestParameter(params: ApiGatewayV2.Types.DeleteRouteRequestParameterRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
202 /**
203 * Deletes a route request parameter.
204 */
205 deleteRouteRequestParameter(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
206 /**
207 * Deletes a RouteResponse.
208 */
209 deleteRouteResponse(params: ApiGatewayV2.Types.DeleteRouteResponseRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
210 /**
211 * Deletes a RouteResponse.
212 */
213 deleteRouteResponse(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
214 /**
215 * Deletes the RouteSettings for a stage.
216 */
217 deleteRouteSettings(params: ApiGatewayV2.Types.DeleteRouteSettingsRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
218 /**
219 * Deletes the RouteSettings for a stage.
220 */
221 deleteRouteSettings(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
222 /**
223 * Deletes a Stage.
224 */
225 deleteStage(params: ApiGatewayV2.Types.DeleteStageRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
226 /**
227 * Deletes a Stage.
228 */
229 deleteStage(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
230 /**
231 * Deletes a VPC link.
232 */
233 deleteVpcLink(params: ApiGatewayV2.Types.DeleteVpcLinkRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.DeleteVpcLinkResponse) => void): Request<ApiGatewayV2.Types.DeleteVpcLinkResponse, AWSError>;
234 /**
235 * Deletes a VPC link.
236 */
237 deleteVpcLink(callback?: (err: AWSError, data: ApiGatewayV2.Types.DeleteVpcLinkResponse) => void): Request<ApiGatewayV2.Types.DeleteVpcLinkResponse, AWSError>;
238 /**
239 * Gets an Api resource.
240 */
241 getApi(params: ApiGatewayV2.Types.GetApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiResponse) => void): Request<ApiGatewayV2.Types.GetApiResponse, AWSError>;
242 /**
243 * Gets an Api resource.
244 */
245 getApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiResponse) => void): Request<ApiGatewayV2.Types.GetApiResponse, AWSError>;
246 /**
247 * Gets an API mapping.
248 */
249 getApiMapping(params: ApiGatewayV2.Types.GetApiMappingRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingResponse, AWSError>;
250 /**
251 * Gets an API mapping.
252 */
253 getApiMapping(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingResponse, AWSError>;
254 /**
255 * Gets API mappings.
256 */
257 getApiMappings(params: ApiGatewayV2.Types.GetApiMappingsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingsResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingsResponse, AWSError>;
258 /**
259 * Gets API mappings.
260 */
261 getApiMappings(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingsResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingsResponse, AWSError>;
262 /**
263 * Gets a collection of Api resources.
264 */
265 getApis(params: ApiGatewayV2.Types.GetApisRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApisResponse) => void): Request<ApiGatewayV2.Types.GetApisResponse, AWSError>;
266 /**
267 * Gets a collection of Api resources.
268 */
269 getApis(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApisResponse) => void): Request<ApiGatewayV2.Types.GetApisResponse, AWSError>;
270 /**
271 * Gets an Authorizer.
272 */
273 getAuthorizer(params: ApiGatewayV2.Types.GetAuthorizerRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizerResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizerResponse, AWSError>;
274 /**
275 * Gets an Authorizer.
276 */
277 getAuthorizer(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizerResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizerResponse, AWSError>;
278 /**
279 * Gets the Authorizers for an API.
280 */
281 getAuthorizers(params: ApiGatewayV2.Types.GetAuthorizersRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizersResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizersResponse, AWSError>;
282 /**
283 * Gets the Authorizers for an API.
284 */
285 getAuthorizers(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizersResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizersResponse, AWSError>;
286 /**
287 * Gets a Deployment.
288 */
289 getDeployment(params: ApiGatewayV2.Types.GetDeploymentRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentResponse, AWSError>;
290 /**
291 * Gets a Deployment.
292 */
293 getDeployment(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentResponse, AWSError>;
294 /**
295 * Gets the Deployments for an API.
296 */
297 getDeployments(params: ApiGatewayV2.Types.GetDeploymentsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentsResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentsResponse, AWSError>;
298 /**
299 * Gets the Deployments for an API.
300 */
301 getDeployments(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentsResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentsResponse, AWSError>;
302 /**
303 * Gets a domain name.
304 */
305 getDomainName(params: ApiGatewayV2.Types.GetDomainNameRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNameResponse) => void): Request<ApiGatewayV2.Types.GetDomainNameResponse, AWSError>;
306 /**
307 * Gets a domain name.
308 */
309 getDomainName(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNameResponse) => void): Request<ApiGatewayV2.Types.GetDomainNameResponse, AWSError>;
310 /**
311 * Gets the domain names for an AWS account.
312 */
313 getDomainNames(params: ApiGatewayV2.Types.GetDomainNamesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNamesResponse) => void): Request<ApiGatewayV2.Types.GetDomainNamesResponse, AWSError>;
314 /**
315 * Gets the domain names for an AWS account.
316 */
317 getDomainNames(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNamesResponse) => void): Request<ApiGatewayV2.Types.GetDomainNamesResponse, AWSError>;
318 /**
319 * Gets an Integration.
320 */
321 getIntegration(params: ApiGatewayV2.Types.GetIntegrationRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResult) => void): Request<ApiGatewayV2.Types.GetIntegrationResult, AWSError>;
322 /**
323 * Gets an Integration.
324 */
325 getIntegration(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResult) => void): Request<ApiGatewayV2.Types.GetIntegrationResult, AWSError>;
326 /**
327 * Gets an IntegrationResponses.
328 */
329 getIntegrationResponse(params: ApiGatewayV2.Types.GetIntegrationResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponseResponse, AWSError>;
330 /**
331 * Gets an IntegrationResponses.
332 */
333 getIntegrationResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponseResponse, AWSError>;
334 /**
335 * Gets the IntegrationResponses for an Integration.
336 */
337 getIntegrationResponses(params: ApiGatewayV2.Types.GetIntegrationResponsesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponsesResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponsesResponse, AWSError>;
338 /**
339 * Gets the IntegrationResponses for an Integration.
340 */
341 getIntegrationResponses(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponsesResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponsesResponse, AWSError>;
342 /**
343 * Gets the Integrations for an API.
344 */
345 getIntegrations(params: ApiGatewayV2.Types.GetIntegrationsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationsResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationsResponse, AWSError>;
346 /**
347 * Gets the Integrations for an API.
348 */
349 getIntegrations(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationsResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationsResponse, AWSError>;
350 /**
351 * Gets a Model.
352 */
353 getModel(params: ApiGatewayV2.Types.GetModelRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelResponse) => void): Request<ApiGatewayV2.Types.GetModelResponse, AWSError>;
354 /**
355 * Gets a Model.
356 */
357 getModel(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelResponse) => void): Request<ApiGatewayV2.Types.GetModelResponse, AWSError>;
358 /**
359 * Gets a model template.
360 */
361 getModelTemplate(params: ApiGatewayV2.Types.GetModelTemplateRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelTemplateResponse) => void): Request<ApiGatewayV2.Types.GetModelTemplateResponse, AWSError>;
362 /**
363 * Gets a model template.
364 */
365 getModelTemplate(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelTemplateResponse) => void): Request<ApiGatewayV2.Types.GetModelTemplateResponse, AWSError>;
366 /**
367 * Gets the Models for an API.
368 */
369 getModels(params: ApiGatewayV2.Types.GetModelsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelsResponse) => void): Request<ApiGatewayV2.Types.GetModelsResponse, AWSError>;
370 /**
371 * Gets the Models for an API.
372 */
373 getModels(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelsResponse) => void): Request<ApiGatewayV2.Types.GetModelsResponse, AWSError>;
374 /**
375 * Gets a Route.
376 */
377 getRoute(params: ApiGatewayV2.Types.GetRouteRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResult) => void): Request<ApiGatewayV2.Types.GetRouteResult, AWSError>;
378 /**
379 * Gets a Route.
380 */
381 getRoute(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResult) => void): Request<ApiGatewayV2.Types.GetRouteResult, AWSError>;
382 /**
383 * Gets a RouteResponse.
384 */
385 getRouteResponse(params: ApiGatewayV2.Types.GetRouteResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponseResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponseResponse, AWSError>;
386 /**
387 * Gets a RouteResponse.
388 */
389 getRouteResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponseResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponseResponse, AWSError>;
390 /**
391 * Gets the RouteResponses for a Route.
392 */
393 getRouteResponses(params: ApiGatewayV2.Types.GetRouteResponsesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponsesResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponsesResponse, AWSError>;
394 /**
395 * Gets the RouteResponses for a Route.
396 */
397 getRouteResponses(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponsesResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponsesResponse, AWSError>;
398 /**
399 * Gets the Routes for an API.
400 */
401 getRoutes(params: ApiGatewayV2.Types.GetRoutesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRoutesResponse) => void): Request<ApiGatewayV2.Types.GetRoutesResponse, AWSError>;
402 /**
403 * Gets the Routes for an API.
404 */
405 getRoutes(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRoutesResponse) => void): Request<ApiGatewayV2.Types.GetRoutesResponse, AWSError>;
406 /**
407 * Gets a Stage.
408 */
409 getStage(params: ApiGatewayV2.Types.GetStageRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStageResponse) => void): Request<ApiGatewayV2.Types.GetStageResponse, AWSError>;
410 /**
411 * Gets a Stage.
412 */
413 getStage(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStageResponse) => void): Request<ApiGatewayV2.Types.GetStageResponse, AWSError>;
414 /**
415 * Gets the Stages for an API.
416 */
417 getStages(params: ApiGatewayV2.Types.GetStagesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStagesResponse) => void): Request<ApiGatewayV2.Types.GetStagesResponse, AWSError>;
418 /**
419 * Gets the Stages for an API.
420 */
421 getStages(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStagesResponse) => void): Request<ApiGatewayV2.Types.GetStagesResponse, AWSError>;
422 /**
423 * Gets a collection of Tag resources.
424 */
425 getTags(params: ApiGatewayV2.Types.GetTagsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetTagsResponse) => void): Request<ApiGatewayV2.Types.GetTagsResponse, AWSError>;
426 /**
427 * Gets a collection of Tag resources.
428 */
429 getTags(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetTagsResponse) => void): Request<ApiGatewayV2.Types.GetTagsResponse, AWSError>;
430 /**
431 * Gets a VPC link.
432 */
433 getVpcLink(params: ApiGatewayV2.Types.GetVpcLinkRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetVpcLinkResponse) => void): Request<ApiGatewayV2.Types.GetVpcLinkResponse, AWSError>;
434 /**
435 * Gets a VPC link.
436 */
437 getVpcLink(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetVpcLinkResponse) => void): Request<ApiGatewayV2.Types.GetVpcLinkResponse, AWSError>;
438 /**
439 * Gets a collection of VPC links.
440 */
441 getVpcLinks(params: ApiGatewayV2.Types.GetVpcLinksRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetVpcLinksResponse) => void): Request<ApiGatewayV2.Types.GetVpcLinksResponse, AWSError>;
442 /**
443 * Gets a collection of VPC links.
444 */
445 getVpcLinks(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetVpcLinksResponse) => void): Request<ApiGatewayV2.Types.GetVpcLinksResponse, AWSError>;
446 /**
447 * Imports an API.
448 */
449 importApi(params: ApiGatewayV2.Types.ImportApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.ImportApiResponse) => void): Request<ApiGatewayV2.Types.ImportApiResponse, AWSError>;
450 /**
451 * Imports an API.
452 */
453 importApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.ImportApiResponse) => void): Request<ApiGatewayV2.Types.ImportApiResponse, AWSError>;
454 /**
455 * Puts an Api resource.
456 */
457 reimportApi(params: ApiGatewayV2.Types.ReimportApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.ReimportApiResponse) => void): Request<ApiGatewayV2.Types.ReimportApiResponse, AWSError>;
458 /**
459 * Puts an Api resource.
460 */
461 reimportApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.ReimportApiResponse) => void): Request<ApiGatewayV2.Types.ReimportApiResponse, AWSError>;
462 /**
463 * Creates a new Tag resource to represent a tag.
464 */
465 tagResource(params: ApiGatewayV2.Types.TagResourceRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.TagResourceResponse) => void): Request<ApiGatewayV2.Types.TagResourceResponse, AWSError>;
466 /**
467 * Creates a new Tag resource to represent a tag.
468 */
469 tagResource(callback?: (err: AWSError, data: ApiGatewayV2.Types.TagResourceResponse) => void): Request<ApiGatewayV2.Types.TagResourceResponse, AWSError>;
470 /**
471 * Deletes a Tag.
472 */
473 untagResource(params: ApiGatewayV2.Types.UntagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
474 /**
475 * Deletes a Tag.
476 */
477 untagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
478 /**
479 * Updates an Api resource.
480 */
481 updateApi(params: ApiGatewayV2.Types.UpdateApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiResponse) => void): Request<ApiGatewayV2.Types.UpdateApiResponse, AWSError>;
482 /**
483 * Updates an Api resource.
484 */
485 updateApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiResponse) => void): Request<ApiGatewayV2.Types.UpdateApiResponse, AWSError>;
486 /**
487 * The API mapping.
488 */
489 updateApiMapping(params: ApiGatewayV2.Types.UpdateApiMappingRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiMappingResponse) => void): Request<ApiGatewayV2.Types.UpdateApiMappingResponse, AWSError>;
490 /**
491 * The API mapping.
492 */
493 updateApiMapping(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiMappingResponse) => void): Request<ApiGatewayV2.Types.UpdateApiMappingResponse, AWSError>;
494 /**
495 * Updates an Authorizer.
496 */
497 updateAuthorizer(params: ApiGatewayV2.Types.UpdateAuthorizerRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.UpdateAuthorizerResponse, AWSError>;
498 /**
499 * Updates an Authorizer.
500 */
501 updateAuthorizer(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.UpdateAuthorizerResponse, AWSError>;
502 /**
503 * Updates a Deployment.
504 */
505 updateDeployment(params: ApiGatewayV2.Types.UpdateDeploymentRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDeploymentResponse) => void): Request<ApiGatewayV2.Types.UpdateDeploymentResponse, AWSError>;
506 /**
507 * Updates a Deployment.
508 */
509 updateDeployment(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDeploymentResponse) => void): Request<ApiGatewayV2.Types.UpdateDeploymentResponse, AWSError>;
510 /**
511 * Updates a domain name.
512 */
513 updateDomainName(params: ApiGatewayV2.Types.UpdateDomainNameRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDomainNameResponse) => void): Request<ApiGatewayV2.Types.UpdateDomainNameResponse, AWSError>;
514 /**
515 * Updates a domain name.
516 */
517 updateDomainName(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDomainNameResponse) => void): Request<ApiGatewayV2.Types.UpdateDomainNameResponse, AWSError>;
518 /**
519 * Updates an Integration.
520 */
521 updateIntegration(params: ApiGatewayV2.Types.UpdateIntegrationRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResult) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResult, AWSError>;
522 /**
523 * Updates an Integration.
524 */
525 updateIntegration(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResult) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResult, AWSError>;
526 /**
527 * Updates an IntegrationResponses.
528 */
529 updateIntegrationResponse(params: ApiGatewayV2.Types.UpdateIntegrationResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResponseResponse, AWSError>;
530 /**
531 * Updates an IntegrationResponses.
532 */
533 updateIntegrationResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResponseResponse, AWSError>;
534 /**
535 * Updates a Model.
536 */
537 updateModel(params: ApiGatewayV2.Types.UpdateModelRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateModelResponse) => void): Request<ApiGatewayV2.Types.UpdateModelResponse, AWSError>;
538 /**
539 * Updates a Model.
540 */
541 updateModel(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateModelResponse) => void): Request<ApiGatewayV2.Types.UpdateModelResponse, AWSError>;
542 /**
543 * Updates a Route.
544 */
545 updateRoute(params: ApiGatewayV2.Types.UpdateRouteRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResult) => void): Request<ApiGatewayV2.Types.UpdateRouteResult, AWSError>;
546 /**
547 * Updates a Route.
548 */
549 updateRoute(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResult) => void): Request<ApiGatewayV2.Types.UpdateRouteResult, AWSError>;
550 /**
551 * Updates a RouteResponse.
552 */
553 updateRouteResponse(params: ApiGatewayV2.Types.UpdateRouteResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateRouteResponseResponse, AWSError>;
554 /**
555 * Updates a RouteResponse.
556 */
557 updateRouteResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateRouteResponseResponse, AWSError>;
558 /**
559 * Updates a Stage.
560 */
561 updateStage(params: ApiGatewayV2.Types.UpdateStageRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateStageResponse) => void): Request<ApiGatewayV2.Types.UpdateStageResponse, AWSError>;
562 /**
563 * Updates a Stage.
564 */
565 updateStage(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateStageResponse) => void): Request<ApiGatewayV2.Types.UpdateStageResponse, AWSError>;
566 /**
567 * Updates a VPC link.
568 */
569 updateVpcLink(params: ApiGatewayV2.Types.UpdateVpcLinkRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateVpcLinkResponse) => void): Request<ApiGatewayV2.Types.UpdateVpcLinkResponse, AWSError>;
570 /**
571 * Updates a VPC link.
572 */
573 updateVpcLink(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateVpcLinkResponse) => void): Request<ApiGatewayV2.Types.UpdateVpcLinkResponse, AWSError>;
574}
575declare namespace ApiGatewayV2 {
576 export interface AccessLogSettings {
577 /**
578 * The ARN of the CloudWatch Logs log group to receive access logs.
579 */
580 DestinationArn?: Arn;
581 /**
582 * A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.
583 */
584 Format?: StringWithLengthBetween1And1024;
585 }
586 export interface Api {
587 /**
588 * The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
589 */
590 ApiEndpoint?: __string;
591 /**
592 * The API ID.
593 */
594 ApiId?: Id;
595 /**
596 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
597 */
598 ApiKeySelectionExpression?: SelectionExpression;
599 /**
600 * A CORS configuration. Supported only for HTTP APIs.
601 */
602 CorsConfiguration?: Cors;
603 /**
604 * The timestamp when the API was created.
605 */
606 CreatedDate?: __timestampIso8601;
607 /**
608 * The description of the API.
609 */
610 Description?: StringWithLengthBetween0And1024;
611 /**
612 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
613 */
614 DisableSchemaValidation?: __boolean;
615 /**
616 * The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
617 */
618 ImportInfo?: __listOf__string;
619 /**
620 * The name of the API.
621 */
622 Name: StringWithLengthBetween1And128;
623 /**
624 * The API protocol.
625 */
626 ProtocolType: ProtocolType;
627 /**
628 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
629 */
630 RouteSelectionExpression: SelectionExpression;
631 /**
632 * A collection of tags associated with the API.
633 */
634 Tags?: Tags;
635 /**
636 * A version identifier for the API.
637 */
638 Version?: StringWithLengthBetween1And64;
639 /**
640 * The warning messages reported when failonwarnings is turned on during API import.
641 */
642 Warnings?: __listOf__string;
643 }
644 export interface ApiMapping {
645 /**
646 * The API identifier.
647 */
648 ApiId: Id;
649 /**
650 * The API mapping identifier.
651 */
652 ApiMappingId?: Id;
653 /**
654 * The API mapping key.
655 */
656 ApiMappingKey?: SelectionKey;
657 /**
658 * The API stage.
659 */
660 Stage: StringWithLengthBetween1And128;
661 }
662 export type Arn = string;
663 export type AuthorizationScopes = StringWithLengthBetween1And64[];
664 export type AuthorizationType = "NONE"|"AWS_IAM"|"CUSTOM"|"JWT"|string;
665 export interface Authorizer {
666 /**
667 * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
668 */
669 AuthorizerCredentialsArn?: Arn;
670 /**
671 * The authorizer identifier.
672 */
673 AuthorizerId?: Id;
674 /**
675 * Authorizer caching is not currently supported. Don't specify this value for authorizers.
676 */
677 AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
678 /**
679 * The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
680 */
681 AuthorizerType?: AuthorizerType;
682 /**
683 * The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
684 , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.
685 */
686 AuthorizerUri?: UriWithLengthBetween1And2048;
687 /**
688 * The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
689 */
690 IdentitySource?: IdentitySourceList;
691 /**
692 * The validation expression does not apply to the REQUEST authorizer.
693 */
694 IdentityValidationExpression?: StringWithLengthBetween0And1024;
695 /**
696 * Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
697 */
698 JwtConfiguration?: JWTConfiguration;
699 /**
700 * The name of the authorizer.
701 */
702 Name: StringWithLengthBetween1And128;
703 }
704 export type AuthorizerType = "REQUEST"|"JWT"|string;
705 export type ConnectionType = "INTERNET"|"VPC_LINK"|string;
706 export type ContentHandlingStrategy = "CONVERT_TO_BINARY"|"CONVERT_TO_TEXT"|string;
707 export interface Cors {
708 /**
709 * Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.
710 */
711 AllowCredentials?: __boolean;
712 /**
713 * Represents a collection of allowed headers. Supported only for HTTP APIs.
714 */
715 AllowHeaders?: CorsHeaderList;
716 /**
717 * Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
718 */
719 AllowMethods?: CorsMethodList;
720 /**
721 * Represents a collection of allowed origins. Supported only for HTTP APIs.
722 */
723 AllowOrigins?: CorsOriginList;
724 /**
725 * Represents a collection of exposed headers. Supported only for HTTP APIs.
726 */
727 ExposeHeaders?: CorsHeaderList;
728 /**
729 * The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.
730 */
731 MaxAge?: IntegerWithLengthBetweenMinus1And86400;
732 }
733 export type CorsHeaderList = __string[];
734 export type CorsMethodList = StringWithLengthBetween1And64[];
735 export type CorsOriginList = __string[];
736 export interface CreateApiMappingRequest {
737 /**
738 * The API identifier.
739 */
740 ApiId: Id;
741 /**
742 * The API mapping key.
743 */
744 ApiMappingKey?: SelectionKey;
745 /**
746 * The domain name.
747 */
748 DomainName: __string;
749 /**
750 * The API stage.
751 */
752 Stage: StringWithLengthBetween1And128;
753 }
754 export interface CreateApiMappingResponse {
755 /**
756 * The API identifier.
757 */
758 ApiId?: Id;
759 /**
760 * The API mapping identifier.
761 */
762 ApiMappingId?: Id;
763 /**
764 * The API mapping key.
765 */
766 ApiMappingKey?: SelectionKey;
767 /**
768 * The API stage.
769 */
770 Stage?: StringWithLengthBetween1And128;
771 }
772 export interface CreateApiRequest {
773 /**
774 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
775 */
776 ApiKeySelectionExpression?: SelectionExpression;
777 /**
778 * A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
779 */
780 CorsConfiguration?: Cors;
781 /**
782 * This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
783 */
784 CredentialsArn?: Arn;
785 /**
786 * The description of the API.
787 */
788 Description?: StringWithLengthBetween0And1024;
789 /**
790 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
791 */
792 DisableSchemaValidation?: __boolean;
793 /**
794 * The name of the API.
795 */
796 Name: StringWithLengthBetween1And128;
797 /**
798 * The API protocol.
799 */
800 ProtocolType: ProtocolType;
801 /**
802 * This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
803 */
804 RouteKey?: SelectionKey;
805 /**
806 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
807 */
808 RouteSelectionExpression?: SelectionExpression;
809 /**
810 * The collection of tags. Each tag element is associated with a given resource.
811 */
812 Tags?: Tags;
813 /**
814 * This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
815 */
816 Target?: UriWithLengthBetween1And2048;
817 /**
818 * A version identifier for the API.
819 */
820 Version?: StringWithLengthBetween1And64;
821 }
822 export interface CreateApiResponse {
823 /**
824 * The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
825 */
826 ApiEndpoint?: __string;
827 /**
828 * The API ID.
829 */
830 ApiId?: Id;
831 /**
832 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
833 */
834 ApiKeySelectionExpression?: SelectionExpression;
835 /**
836 * A CORS configuration. Supported only for HTTP APIs.
837 */
838 CorsConfiguration?: Cors;
839 /**
840 * The timestamp when the API was created.
841 */
842 CreatedDate?: __timestampIso8601;
843 /**
844 * The description of the API.
845 */
846 Description?: StringWithLengthBetween0And1024;
847 /**
848 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
849 */
850 DisableSchemaValidation?: __boolean;
851 /**
852 * The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
853 */
854 ImportInfo?: __listOf__string;
855 /**
856 * The name of the API.
857 */
858 Name?: StringWithLengthBetween1And128;
859 /**
860 * The API protocol.
861 */
862 ProtocolType?: ProtocolType;
863 /**
864 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
865 */
866 RouteSelectionExpression?: SelectionExpression;
867 /**
868 * A collection of tags associated with the API.
869 */
870 Tags?: Tags;
871 /**
872 * A version identifier for the API.
873 */
874 Version?: StringWithLengthBetween1And64;
875 /**
876 * The warning messages reported when failonwarnings is turned on during API import.
877 */
878 Warnings?: __listOf__string;
879 }
880 export interface CreateAuthorizerRequest {
881 /**
882 * The API identifier.
883 */
884 ApiId: __string;
885 /**
886 * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
887 */
888 AuthorizerCredentialsArn?: Arn;
889 /**
890 * Authorizer caching is not currently supported. Don't specify this value for authorizers.
891 */
892 AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
893 /**
894 * The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
895 */
896 AuthorizerType: AuthorizerType;
897 /**
898 * The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
899 , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.
900 */
901 AuthorizerUri?: UriWithLengthBetween1And2048;
902 /**
903 * The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT )from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
904 */
905 IdentitySource: IdentitySourceList;
906 /**
907 * This parameter is not used.
908 */
909 IdentityValidationExpression?: StringWithLengthBetween0And1024;
910 /**
911 * Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
912 */
913 JwtConfiguration?: JWTConfiguration;
914 /**
915 * The name of the authorizer.
916 */
917 Name: StringWithLengthBetween1And128;
918 }
919 export interface CreateAuthorizerResponse {
920 /**
921 * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
922 */
923 AuthorizerCredentialsArn?: Arn;
924 /**
925 * The authorizer identifier.
926 */
927 AuthorizerId?: Id;
928 /**
929 * Authorizer caching is not currently supported. Don't specify this value for authorizers.
930 */
931 AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
932 /**
933 * The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
934 */
935 AuthorizerType?: AuthorizerType;
936 /**
937 * The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
938 , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.
939 */
940 AuthorizerUri?: UriWithLengthBetween1And2048;
941 /**
942 * The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
943 */
944 IdentitySource?: IdentitySourceList;
945 /**
946 * The validation expression does not apply to the REQUEST authorizer.
947 */
948 IdentityValidationExpression?: StringWithLengthBetween0And1024;
949 /**
950 * Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
951 */
952 JwtConfiguration?: JWTConfiguration;
953 /**
954 * The name of the authorizer.
955 */
956 Name?: StringWithLengthBetween1And128;
957 }
958 export interface CreateDeploymentRequest {
959 /**
960 * The API identifier.
961 */
962 ApiId: __string;
963 /**
964 * The description for the deployment resource.
965 */
966 Description?: StringWithLengthBetween0And1024;
967 /**
968 * The name of the Stage resource for the Deployment resource to create.
969 */
970 StageName?: StringWithLengthBetween1And128;
971 }
972 export interface CreateDeploymentResponse {
973 /**
974 * Specifies whether a deployment was automatically released.
975 */
976 AutoDeployed?: __boolean;
977 /**
978 * The date and time when the Deployment resource was created.
979 */
980 CreatedDate?: __timestampIso8601;
981 /**
982 * The identifier for the deployment.
983 */
984 DeploymentId?: Id;
985 /**
986 * The status of the deployment: PENDING, FAILED, or SUCCEEDED.
987 */
988 DeploymentStatus?: DeploymentStatus;
989 /**
990 * May contain additional feedback on the status of an API deployment.
991 */
992 DeploymentStatusMessage?: __string;
993 /**
994 * The description for the deployment.
995 */
996 Description?: StringWithLengthBetween0And1024;
997 }
998 export interface CreateDomainNameRequest {
999 /**
1000 * The domain name.
1001 */
1002 DomainName: StringWithLengthBetween1And512;
1003 /**
1004 * The domain name configurations.
1005 */
1006 DomainNameConfigurations?: DomainNameConfigurations;
1007 /**
1008 * The collection of tags associated with a domain name.
1009 */
1010 Tags?: Tags;
1011 }
1012 export interface CreateDomainNameResponse {
1013 /**
1014 * The API mapping selection expression.
1015 */
1016 ApiMappingSelectionExpression?: SelectionExpression;
1017 /**
1018 * The name of the DomainName resource.
1019 */
1020 DomainName?: StringWithLengthBetween1And512;
1021 /**
1022 * The domain name configurations.
1023 */
1024 DomainNameConfigurations?: DomainNameConfigurations;
1025 /**
1026 * The collection of tags associated with a domain name.
1027 */
1028 Tags?: Tags;
1029 }
1030 export interface CreateIntegrationRequest {
1031 /**
1032 * The API identifier.
1033 */
1034 ApiId: __string;
1035 /**
1036 * The ID of the VPC link for a private integration. Supported only for HTTP APIs.
1037 */
1038 ConnectionId?: StringWithLengthBetween1And1024;
1039 /**
1040 * The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
1041 */
1042 ConnectionType?: ConnectionType;
1043 /**
1044 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
1045 */
1046 ContentHandlingStrategy?: ContentHandlingStrategy;
1047 /**
1048 * Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
1049 */
1050 CredentialsArn?: Arn;
1051 /**
1052 * The description of the integration.
1053 */
1054 Description?: StringWithLengthBetween0And1024;
1055 /**
1056 * Specifies the integration's HTTP method type.
1057 */
1058 IntegrationMethod?: StringWithLengthBetween1And64;
1059 /**
1060 * The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration. MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
1061 */
1062 IntegrationType: IntegrationType;
1063 /**
1064 * For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
1065 */
1066 IntegrationUri?: UriWithLengthBetween1And2048;
1067 /**
1068 * Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
1069 */
1070 PassthroughBehavior?: PassthroughBehavior;
1071 /**
1072 * Specifies the format of the payload sent to an integration. Required for HTTP APIs.
1073 */
1074 PayloadFormatVersion?: StringWithLengthBetween1And64;
1075 /**
1076 * A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}
1077 , where
1078 {location}
1079 is querystring, path, or header; and
1080 {name}
1081 must be a valid and unique method request parameter name. Supported only for WebSocket APIs.
1082 */
1083 RequestParameters?: IntegrationParameters;
1084 /**
1085 * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
1086 */
1087 RequestTemplates?: TemplateMap;
1088 /**
1089 * The template selection expression for the integration.
1090 */
1091 TemplateSelectionExpression?: SelectionExpression;
1092 /**
1093 * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
1094 */
1095 TimeoutInMillis?: IntegerWithLengthBetween50And30000;
1096 /**
1097 * The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
1098 */
1099 TlsConfig?: TlsConfigInput;
1100 }
1101 export interface CreateIntegrationResult {
1102 /**
1103 * Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
1104 */
1105 ApiGatewayManaged?: __boolean;
1106 /**
1107 * The ID of the VPC link for a private integration. Supported only for HTTP APIs.
1108 */
1109 ConnectionId?: StringWithLengthBetween1And1024;
1110 /**
1111 * The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
1112 */
1113 ConnectionType?: ConnectionType;
1114 /**
1115 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
1116 */
1117 ContentHandlingStrategy?: ContentHandlingStrategy;
1118 /**
1119 * Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
1120 */
1121 CredentialsArn?: Arn;
1122 /**
1123 * Represents the description of an integration.
1124 */
1125 Description?: StringWithLengthBetween0And1024;
1126 /**
1127 * Represents the identifier of an integration.
1128 */
1129 IntegrationId?: Id;
1130 /**
1131 * Specifies the integration's HTTP method type.
1132 */
1133 IntegrationMethod?: StringWithLengthBetween1And64;
1134 /**
1135 * The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
1136 */
1137 IntegrationResponseSelectionExpression?: SelectionExpression;
1138 /**
1139 * The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
1140 */
1141 IntegrationType?: IntegrationType;
1142 /**
1143 * For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
1144 */
1145 IntegrationUri?: UriWithLengthBetween1And2048;
1146 /**
1147 * Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
1148 */
1149 PassthroughBehavior?: PassthroughBehavior;
1150 /**
1151 * Specifies the format of the payload sent to an integration. Required for HTTP APIs.
1152 */
1153 PayloadFormatVersion?: StringWithLengthBetween1And64;
1154 /**
1155 * A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}
1156 , where
1157 {location}
1158 is querystring, path, or header; and
1159 {name}
1160 must be a valid and unique method request parameter name. Supported only for WebSocket APIs.
1161 */
1162 RequestParameters?: IntegrationParameters;
1163 /**
1164 * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
1165 */
1166 RequestTemplates?: TemplateMap;
1167 /**
1168 * The template selection expression for the integration. Supported only for WebSocket APIs.
1169 */
1170 TemplateSelectionExpression?: SelectionExpression;
1171 /**
1172 * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
1173 */
1174 TimeoutInMillis?: IntegerWithLengthBetween50And30000;
1175 /**
1176 * The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
1177 */
1178 TlsConfig?: TlsConfig;
1179 }
1180 export interface CreateIntegrationResponseRequest {
1181 /**
1182 * The API identifier.
1183 */
1184 ApiId: __string;
1185 /**
1186 * Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
1187 */
1188 ContentHandlingStrategy?: ContentHandlingStrategy;
1189 /**
1190 * The integration ID.
1191 */
1192 IntegrationId: __string;
1193 /**
1194 * The integration response key.
1195 */
1196 IntegrationResponseKey: SelectionKey;
1197 /**
1198 * A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the $ prefix.
1199 */
1200 ResponseParameters?: IntegrationParameters;
1201 /**
1202 * The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
1203 */
1204 ResponseTemplates?: TemplateMap;
1205 /**
1206 * The template selection expression for the integration response. Supported only for WebSocket APIs.
1207 */
1208 TemplateSelectionExpression?: SelectionExpression;
1209 }
1210 export interface CreateIntegrationResponseResponse {
1211 /**
1212 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
1213 */
1214 ContentHandlingStrategy?: ContentHandlingStrategy;
1215 /**
1216 * The integration response ID.
1217 */
1218 IntegrationResponseId?: Id;
1219 /**
1220 * The integration response key.
1221 */
1222 IntegrationResponseKey?: SelectionKey;
1223 /**
1224 * A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
1225 */
1226 ResponseParameters?: IntegrationParameters;
1227 /**
1228 * The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
1229 */
1230 ResponseTemplates?: TemplateMap;
1231 /**
1232 * The template selection expressions for the integration response.
1233 */
1234 TemplateSelectionExpression?: SelectionExpression;
1235 }
1236 export interface CreateModelRequest {
1237 /**
1238 * The API identifier.
1239 */
1240 ApiId: __string;
1241 /**
1242 * The content-type for the model, for example, "application/json".
1243 */
1244 ContentType?: StringWithLengthBetween1And256;
1245 /**
1246 * The description of the model.
1247 */
1248 Description?: StringWithLengthBetween0And1024;
1249 /**
1250 * The name of the model. Must be alphanumeric.
1251 */
1252 Name: StringWithLengthBetween1And128;
1253 /**
1254 * The schema for the model. For application/json models, this should be JSON schema draft 4 model.
1255 */
1256 Schema: StringWithLengthBetween0And32K;
1257 }
1258 export interface CreateModelResponse {
1259 /**
1260 * The content-type for the model, for example, "application/json".
1261 */
1262 ContentType?: StringWithLengthBetween1And256;
1263 /**
1264 * The description of the model.
1265 */
1266 Description?: StringWithLengthBetween0And1024;
1267 /**
1268 * The model identifier.
1269 */
1270 ModelId?: Id;
1271 /**
1272 * The name of the model. Must be alphanumeric.
1273 */
1274 Name?: StringWithLengthBetween1And128;
1275 /**
1276 * The schema for the model. For application/json models, this should be JSON schema draft 4 model.
1277 */
1278 Schema?: StringWithLengthBetween0And32K;
1279 }
1280 export interface CreateRouteRequest {
1281 /**
1282 * The API identifier.
1283 */
1284 ApiId: __string;
1285 /**
1286 * Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
1287 */
1288 ApiKeyRequired?: __boolean;
1289 /**
1290 * The authorization scopes supported by this route.
1291 */
1292 AuthorizationScopes?: AuthorizationScopes;
1293 /**
1294 * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
1295 */
1296 AuthorizationType?: AuthorizationType;
1297 /**
1298 * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
1299 */
1300 AuthorizerId?: Id;
1301 /**
1302 * The model selection expression for the route. Supported only for WebSocket APIs.
1303 */
1304 ModelSelectionExpression?: SelectionExpression;
1305 /**
1306 * The operation name for the route.
1307 */
1308 OperationName?: StringWithLengthBetween1And64;
1309 /**
1310 * The request models for the route. Supported only for WebSocket APIs.
1311 */
1312 RequestModels?: RouteModels;
1313 /**
1314 * The request parameters for the route. Supported only for WebSocket APIs.
1315 */
1316 RequestParameters?: RouteParameters;
1317 /**
1318 * The route key for the route.
1319 */
1320 RouteKey: SelectionKey;
1321 /**
1322 * The route response selection expression for the route. Supported only for WebSocket APIs.
1323 */
1324 RouteResponseSelectionExpression?: SelectionExpression;
1325 /**
1326 * The target for the route.
1327 */
1328 Target?: StringWithLengthBetween1And128;
1329 }
1330 export interface CreateRouteResult {
1331 /**
1332 * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
1333 */
1334 ApiGatewayManaged?: __boolean;
1335 /**
1336 * Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
1337 */
1338 ApiKeyRequired?: __boolean;
1339 /**
1340 * A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
1341 */
1342 AuthorizationScopes?: AuthorizationScopes;
1343 /**
1344 * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
1345 */
1346 AuthorizationType?: AuthorizationType;
1347 /**
1348 * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
1349 */
1350 AuthorizerId?: Id;
1351 /**
1352 * The model selection expression for the route. Supported only for WebSocket APIs.
1353 */
1354 ModelSelectionExpression?: SelectionExpression;
1355 /**
1356 * The operation name for the route.
1357 */
1358 OperationName?: StringWithLengthBetween1And64;
1359 /**
1360 * The request models for the route. Supported only for WebSocket APIs.
1361 */
1362 RequestModels?: RouteModels;
1363 /**
1364 * The request parameters for the route. Supported only for WebSocket APIs.
1365 */
1366 RequestParameters?: RouteParameters;
1367 /**
1368 * The route ID.
1369 */
1370 RouteId?: Id;
1371 /**
1372 * The route key for the route.
1373 */
1374 RouteKey?: SelectionKey;
1375 /**
1376 * The route response selection expression for the route. Supported only for WebSocket APIs.
1377 */
1378 RouteResponseSelectionExpression?: SelectionExpression;
1379 /**
1380 * The target for the route.
1381 */
1382 Target?: StringWithLengthBetween1And128;
1383 }
1384 export interface CreateRouteResponseRequest {
1385 /**
1386 * The API identifier.
1387 */
1388 ApiId: __string;
1389 /**
1390 * The model selection expression for the route response. Supported only for WebSocket APIs.
1391 */
1392 ModelSelectionExpression?: SelectionExpression;
1393 /**
1394 * The response models for the route response.
1395 */
1396 ResponseModels?: RouteModels;
1397 /**
1398 * The route response parameters.
1399 */
1400 ResponseParameters?: RouteParameters;
1401 /**
1402 * The route ID.
1403 */
1404 RouteId: __string;
1405 /**
1406 * The route response key.
1407 */
1408 RouteResponseKey: SelectionKey;
1409 }
1410 export interface CreateRouteResponseResponse {
1411 /**
1412 * Represents the model selection expression of a route response. Supported only for WebSocket APIs.
1413 */
1414 ModelSelectionExpression?: SelectionExpression;
1415 /**
1416 * Represents the response models of a route response.
1417 */
1418 ResponseModels?: RouteModels;
1419 /**
1420 * Represents the response parameters of a route response.
1421 */
1422 ResponseParameters?: RouteParameters;
1423 /**
1424 * Represents the identifier of a route response.
1425 */
1426 RouteResponseId?: Id;
1427 /**
1428 * Represents the route response key of a route response.
1429 */
1430 RouteResponseKey?: SelectionKey;
1431 }
1432 export interface CreateStageRequest {
1433 /**
1434 * Settings for logging access in this stage.
1435 */
1436 AccessLogSettings?: AccessLogSettings;
1437 /**
1438 * The API identifier.
1439 */
1440 ApiId: __string;
1441 /**
1442 * Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
1443 */
1444 AutoDeploy?: __boolean;
1445 /**
1446 * The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
1447 */
1448 ClientCertificateId?: Id;
1449 /**
1450 * The default route settings for the stage.
1451 */
1452 DefaultRouteSettings?: RouteSettings;
1453 /**
1454 * The deployment identifier of the API stage.
1455 */
1456 DeploymentId?: Id;
1457 /**
1458 * The description for the API stage.
1459 */
1460 Description?: StringWithLengthBetween0And1024;
1461 /**
1462 * Route settings for the stage, by routeKey.
1463 */
1464 RouteSettings?: RouteSettingsMap;
1465 /**
1466 * The name of the stage.
1467 */
1468 StageName: StringWithLengthBetween1And128;
1469 /**
1470 * A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
1471 */
1472 StageVariables?: StageVariablesMap;
1473 /**
1474 * The collection of tags. Each tag element is associated with a given resource.
1475 */
1476 Tags?: Tags;
1477 }
1478 export interface CreateStageResponse {
1479 /**
1480 * Settings for logging access in this stage.
1481 */
1482 AccessLogSettings?: AccessLogSettings;
1483 /**
1484 * Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
1485 */
1486 ApiGatewayManaged?: __boolean;
1487 /**
1488 * Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
1489 */
1490 AutoDeploy?: __boolean;
1491 /**
1492 * The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
1493 */
1494 ClientCertificateId?: Id;
1495 /**
1496 * The timestamp when the stage was created.
1497 */
1498 CreatedDate?: __timestampIso8601;
1499 /**
1500 * Default route settings for the stage.
1501 */
1502 DefaultRouteSettings?: RouteSettings;
1503 /**
1504 * The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
1505 */
1506 DeploymentId?: Id;
1507 /**
1508 * The description of the stage.
1509 */
1510 Description?: StringWithLengthBetween0And1024;
1511 /**
1512 * Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
1513 */
1514 LastDeploymentStatusMessage?: __string;
1515 /**
1516 * The timestamp when the stage was last updated.
1517 */
1518 LastUpdatedDate?: __timestampIso8601;
1519 /**
1520 * Route settings for the stage, by routeKey.
1521 */
1522 RouteSettings?: RouteSettingsMap;
1523 /**
1524 * The name of the stage.
1525 */
1526 StageName?: StringWithLengthBetween1And128;
1527 /**
1528 * A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
1529 */
1530 StageVariables?: StageVariablesMap;
1531 /**
1532 * The collection of tags. Each tag element is associated with a given resource.
1533 */
1534 Tags?: Tags;
1535 }
1536 export interface CreateVpcLinkRequest {
1537 /**
1538 * The name of the VPC link.
1539 */
1540 Name: StringWithLengthBetween1And128;
1541 /**
1542 * A list of security group IDs for the VPC link.
1543 */
1544 SecurityGroupIds?: SecurityGroupIdList;
1545 /**
1546 * A list of subnet IDs to include in the VPC link.
1547 */
1548 SubnetIds: SubnetIdList;
1549 /**
1550 * A list of tags.
1551 */
1552 Tags?: Tags;
1553 }
1554 export interface CreateVpcLinkResponse {
1555 /**
1556 * The timestamp when the VPC link was created.
1557 */
1558 CreatedDate?: __timestampIso8601;
1559 /**
1560 * The name of the VPC link.
1561 */
1562 Name?: StringWithLengthBetween1And128;
1563 /**
1564 * A list of security group IDs for the VPC link.
1565 */
1566 SecurityGroupIds?: SecurityGroupIdList;
1567 /**
1568 * A list of subnet IDs to include in the VPC link.
1569 */
1570 SubnetIds?: SubnetIdList;
1571 /**
1572 * Tags for the VPC link.
1573 */
1574 Tags?: Tags;
1575 /**
1576 * The ID of the VPC link.
1577 */
1578 VpcLinkId?: Id;
1579 /**
1580 * The status of the VPC link.
1581 */
1582 VpcLinkStatus?: VpcLinkStatus;
1583 /**
1584 * A message summarizing the cause of the status of the VPC link.
1585 */
1586 VpcLinkStatusMessage?: StringWithLengthBetween0And1024;
1587 /**
1588 * The version of the VPC link.
1589 */
1590 VpcLinkVersion?: VpcLinkVersion;
1591 }
1592 export interface DeleteAccessLogSettingsRequest {
1593 /**
1594 * The API identifier.
1595 */
1596 ApiId: __string;
1597 /**
1598 * The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
1599 */
1600 StageName: __string;
1601 }
1602 export interface DeleteApiMappingRequest {
1603 /**
1604 * The API mapping identifier.
1605 */
1606 ApiMappingId: __string;
1607 /**
1608 * The domain name.
1609 */
1610 DomainName: __string;
1611 }
1612 export interface DeleteApiRequest {
1613 /**
1614 * The API identifier.
1615 */
1616 ApiId: __string;
1617 }
1618 export interface DeleteAuthorizerRequest {
1619 /**
1620 * The API identifier.
1621 */
1622 ApiId: __string;
1623 /**
1624 * The authorizer identifier.
1625 */
1626 AuthorizerId: __string;
1627 }
1628 export interface DeleteCorsConfigurationRequest {
1629 /**
1630 * The API identifier.
1631 */
1632 ApiId: __string;
1633 }
1634 export interface DeleteDeploymentRequest {
1635 /**
1636 * The API identifier.
1637 */
1638 ApiId: __string;
1639 /**
1640 * The deployment ID.
1641 */
1642 DeploymentId: __string;
1643 }
1644 export interface DeleteDomainNameRequest {
1645 /**
1646 * The domain name.
1647 */
1648 DomainName: __string;
1649 }
1650 export interface DeleteIntegrationRequest {
1651 /**
1652 * The API identifier.
1653 */
1654 ApiId: __string;
1655 /**
1656 * The integration ID.
1657 */
1658 IntegrationId: __string;
1659 }
1660 export interface DeleteIntegrationResponseRequest {
1661 /**
1662 * The API identifier.
1663 */
1664 ApiId: __string;
1665 /**
1666 * The integration ID.
1667 */
1668 IntegrationId: __string;
1669 /**
1670 * The integration response ID.
1671 */
1672 IntegrationResponseId: __string;
1673 }
1674 export interface DeleteModelRequest {
1675 /**
1676 * The API identifier.
1677 */
1678 ApiId: __string;
1679 /**
1680 * The model ID.
1681 */
1682 ModelId: __string;
1683 }
1684 export interface DeleteRouteRequest {
1685 /**
1686 * The API identifier.
1687 */
1688 ApiId: __string;
1689 /**
1690 * The route ID.
1691 */
1692 RouteId: __string;
1693 }
1694 export interface DeleteRouteRequestParameterRequest {
1695 /**
1696 * The API identifier.
1697 */
1698 ApiId: __string;
1699 /**
1700 * The route request parameter key.
1701 */
1702 RequestParameterKey: __string;
1703 /**
1704 * The route ID.
1705 */
1706 RouteId: __string;
1707 }
1708 export interface DeleteRouteResponseRequest {
1709 /**
1710 * The API identifier.
1711 */
1712 ApiId: __string;
1713 /**
1714 * The route ID.
1715 */
1716 RouteId: __string;
1717 /**
1718 * The route response ID.
1719 */
1720 RouteResponseId: __string;
1721 }
1722 export interface DeleteRouteSettingsRequest {
1723 /**
1724 * The API identifier.
1725 */
1726 ApiId: __string;
1727 /**
1728 * The route key.
1729 */
1730 RouteKey: __string;
1731 /**
1732 * The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
1733 */
1734 StageName: __string;
1735 }
1736 export interface DeleteStageRequest {
1737 /**
1738 * The API identifier.
1739 */
1740 ApiId: __string;
1741 /**
1742 * The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
1743 */
1744 StageName: __string;
1745 }
1746 export interface DeleteVpcLinkRequest {
1747 /**
1748 * The ID of the VPC link.
1749 */
1750 VpcLinkId: __string;
1751 }
1752 export interface DeleteVpcLinkResponse {
1753 }
1754 export interface Deployment {
1755 /**
1756 * Specifies whether a deployment was automatically released.
1757 */
1758 AutoDeployed?: __boolean;
1759 /**
1760 * The date and time when the Deployment resource was created.
1761 */
1762 CreatedDate?: __timestampIso8601;
1763 /**
1764 * The identifier for the deployment.
1765 */
1766 DeploymentId?: Id;
1767 /**
1768 * The status of the deployment: PENDING, FAILED, or SUCCEEDED.
1769 */
1770 DeploymentStatus?: DeploymentStatus;
1771 /**
1772 * May contain additional feedback on the status of an API deployment.
1773 */
1774 DeploymentStatusMessage?: __string;
1775 /**
1776 * The description for the deployment.
1777 */
1778 Description?: StringWithLengthBetween0And1024;
1779 }
1780 export type DeploymentStatus = "PENDING"|"FAILED"|"DEPLOYED"|string;
1781 export interface DomainName {
1782 /**
1783 * The API mapping selection expression.
1784 */
1785 ApiMappingSelectionExpression?: SelectionExpression;
1786 /**
1787 * The name of the DomainName resource.
1788 */
1789 DomainName: StringWithLengthBetween1And512;
1790 /**
1791 * The domain name configurations.
1792 */
1793 DomainNameConfigurations?: DomainNameConfigurations;
1794 /**
1795 * The collection of tags associated with a domain name.
1796 */
1797 Tags?: Tags;
1798 }
1799 export interface DomainNameConfiguration {
1800 /**
1801 * A domain name for the API.
1802 */
1803 ApiGatewayDomainName?: __string;
1804 /**
1805 * An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
1806 */
1807 CertificateArn?: Arn;
1808 /**
1809 * The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.
1810 */
1811 CertificateName?: StringWithLengthBetween1And128;
1812 /**
1813 * The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.
1814 */
1815 CertificateUploadDate?: __timestampIso8601;
1816 /**
1817 * The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.
1818 */
1819 DomainNameStatus?: DomainNameStatus;
1820 /**
1821 * An optional text message containing detailed information about status of the domain name migration.
1822 */
1823 DomainNameStatusMessage?: __string;
1824 /**
1825 * The endpoint type.
1826 */
1827 EndpointType?: EndpointType;
1828 /**
1829 * The Amazon Route 53 Hosted Zone ID of the endpoint.
1830 */
1831 HostedZoneId?: __string;
1832 /**
1833 * The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.
1834 */
1835 SecurityPolicy?: SecurityPolicy;
1836 }
1837 export type DomainNameConfigurations = DomainNameConfiguration[];
1838 export type DomainNameStatus = "AVAILABLE"|"UPDATING"|string;
1839 export type EndpointType = "REGIONAL"|"EDGE"|string;
1840 export interface GetApiMappingRequest {
1841 /**
1842 * The API mapping identifier.
1843 */
1844 ApiMappingId: __string;
1845 /**
1846 * The domain name.
1847 */
1848 DomainName: __string;
1849 }
1850 export interface GetApiMappingResponse {
1851 /**
1852 * The API identifier.
1853 */
1854 ApiId?: Id;
1855 /**
1856 * The API mapping identifier.
1857 */
1858 ApiMappingId?: Id;
1859 /**
1860 * The API mapping key.
1861 */
1862 ApiMappingKey?: SelectionKey;
1863 /**
1864 * The API stage.
1865 */
1866 Stage?: StringWithLengthBetween1And128;
1867 }
1868 export interface GetApiMappingsRequest {
1869 /**
1870 * The domain name.
1871 */
1872 DomainName: __string;
1873 /**
1874 * The maximum number of elements to be returned for this resource.
1875 */
1876 MaxResults?: __string;
1877 /**
1878 * The next page of elements from this collection. Not valid for the last element of the collection.
1879 */
1880 NextToken?: __string;
1881 }
1882 export interface GetApiMappingsResponse {
1883 /**
1884 * The elements from this collection.
1885 */
1886 Items?: __listOfApiMapping;
1887 /**
1888 * The next page of elements from this collection. Not valid for the last element of the collection.
1889 */
1890 NextToken?: NextToken;
1891 }
1892 export interface GetApiRequest {
1893 /**
1894 * The API identifier.
1895 */
1896 ApiId: __string;
1897 }
1898 export interface GetApiResponse {
1899 /**
1900 * The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
1901 */
1902 ApiEndpoint?: __string;
1903 /**
1904 * The API ID.
1905 */
1906 ApiId?: Id;
1907 /**
1908 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
1909 */
1910 ApiKeySelectionExpression?: SelectionExpression;
1911 /**
1912 * A CORS configuration. Supported only for HTTP APIs.
1913 */
1914 CorsConfiguration?: Cors;
1915 /**
1916 * The timestamp when the API was created.
1917 */
1918 CreatedDate?: __timestampIso8601;
1919 /**
1920 * The description of the API.
1921 */
1922 Description?: StringWithLengthBetween0And1024;
1923 /**
1924 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
1925 */
1926 DisableSchemaValidation?: __boolean;
1927 /**
1928 * The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
1929 */
1930 ImportInfo?: __listOf__string;
1931 /**
1932 * The name of the API.
1933 */
1934 Name?: StringWithLengthBetween1And128;
1935 /**
1936 * The API protocol.
1937 */
1938 ProtocolType?: ProtocolType;
1939 /**
1940 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
1941 */
1942 RouteSelectionExpression?: SelectionExpression;
1943 /**
1944 * A collection of tags associated with the API.
1945 */
1946 Tags?: Tags;
1947 /**
1948 * A version identifier for the API.
1949 */
1950 Version?: StringWithLengthBetween1And64;
1951 /**
1952 * The warning messages reported when failonwarnings is turned on during API import.
1953 */
1954 Warnings?: __listOf__string;
1955 }
1956 export interface GetApisRequest {
1957 /**
1958 * The maximum number of elements to be returned for this resource.
1959 */
1960 MaxResults?: __string;
1961 /**
1962 * The next page of elements from this collection. Not valid for the last element of the collection.
1963 */
1964 NextToken?: __string;
1965 }
1966 export interface GetApisResponse {
1967 /**
1968 * The elements from this collection.
1969 */
1970 Items?: __listOfApi;
1971 /**
1972 * The next page of elements from this collection. Not valid for the last element of the collection.
1973 */
1974 NextToken?: NextToken;
1975 }
1976 export interface GetAuthorizerRequest {
1977 /**
1978 * The API identifier.
1979 */
1980 ApiId: __string;
1981 /**
1982 * The authorizer identifier.
1983 */
1984 AuthorizerId: __string;
1985 }
1986 export interface GetAuthorizerResponse {
1987 /**
1988 * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
1989 */
1990 AuthorizerCredentialsArn?: Arn;
1991 /**
1992 * The authorizer identifier.
1993 */
1994 AuthorizerId?: Id;
1995 /**
1996 * Authorizer caching is not currently supported. Don't specify this value for authorizers.
1997 */
1998 AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
1999 /**
2000 * The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
2001 */
2002 AuthorizerType?: AuthorizerType;
2003 /**
2004 * The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
2005 , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.
2006 */
2007 AuthorizerUri?: UriWithLengthBetween1And2048;
2008 /**
2009 * The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
2010 */
2011 IdentitySource?: IdentitySourceList;
2012 /**
2013 * The validation expression does not apply to the REQUEST authorizer.
2014 */
2015 IdentityValidationExpression?: StringWithLengthBetween0And1024;
2016 /**
2017 * Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
2018 */
2019 JwtConfiguration?: JWTConfiguration;
2020 /**
2021 * The name of the authorizer.
2022 */
2023 Name?: StringWithLengthBetween1And128;
2024 }
2025 export interface GetAuthorizersRequest {
2026 /**
2027 * The API identifier.
2028 */
2029 ApiId: __string;
2030 /**
2031 * The maximum number of elements to be returned for this resource.
2032 */
2033 MaxResults?: __string;
2034 /**
2035 * The next page of elements from this collection. Not valid for the last element of the collection.
2036 */
2037 NextToken?: __string;
2038 }
2039 export interface GetAuthorizersResponse {
2040 /**
2041 * The elements from this collection.
2042 */
2043 Items?: __listOfAuthorizer;
2044 /**
2045 * The next page of elements from this collection. Not valid for the last element of the collection.
2046 */
2047 NextToken?: NextToken;
2048 }
2049 export interface GetDeploymentRequest {
2050 /**
2051 * The API identifier.
2052 */
2053 ApiId: __string;
2054 /**
2055 * The deployment ID.
2056 */
2057 DeploymentId: __string;
2058 }
2059 export interface GetDeploymentResponse {
2060 /**
2061 * Specifies whether a deployment was automatically released.
2062 */
2063 AutoDeployed?: __boolean;
2064 /**
2065 * The date and time when the Deployment resource was created.
2066 */
2067 CreatedDate?: __timestampIso8601;
2068 /**
2069 * The identifier for the deployment.
2070 */
2071 DeploymentId?: Id;
2072 /**
2073 * The status of the deployment: PENDING, FAILED, or SUCCEEDED.
2074 */
2075 DeploymentStatus?: DeploymentStatus;
2076 /**
2077 * May contain additional feedback on the status of an API deployment.
2078 */
2079 DeploymentStatusMessage?: __string;
2080 /**
2081 * The description for the deployment.
2082 */
2083 Description?: StringWithLengthBetween0And1024;
2084 }
2085 export interface GetDeploymentsRequest {
2086 /**
2087 * The API identifier.
2088 */
2089 ApiId: __string;
2090 /**
2091 * The maximum number of elements to be returned for this resource.
2092 */
2093 MaxResults?: __string;
2094 /**
2095 * The next page of elements from this collection. Not valid for the last element of the collection.
2096 */
2097 NextToken?: __string;
2098 }
2099 export interface GetDeploymentsResponse {
2100 /**
2101 * The elements from this collection.
2102 */
2103 Items?: __listOfDeployment;
2104 /**
2105 * The next page of elements from this collection. Not valid for the last element of the collection.
2106 */
2107 NextToken?: NextToken;
2108 }
2109 export interface GetDomainNameRequest {
2110 /**
2111 * The domain name.
2112 */
2113 DomainName: __string;
2114 }
2115 export interface GetDomainNameResponse {
2116 /**
2117 * The API mapping selection expression.
2118 */
2119 ApiMappingSelectionExpression?: SelectionExpression;
2120 /**
2121 * The name of the DomainName resource.
2122 */
2123 DomainName?: StringWithLengthBetween1And512;
2124 /**
2125 * The domain name configurations.
2126 */
2127 DomainNameConfigurations?: DomainNameConfigurations;
2128 /**
2129 * The collection of tags associated with a domain name.
2130 */
2131 Tags?: Tags;
2132 }
2133 export interface GetDomainNamesRequest {
2134 /**
2135 * The maximum number of elements to be returned for this resource.
2136 */
2137 MaxResults?: __string;
2138 /**
2139 * The next page of elements from this collection. Not valid for the last element of the collection.
2140 */
2141 NextToken?: __string;
2142 }
2143 export interface GetDomainNamesResponse {
2144 /**
2145 * The elements from this collection.
2146 */
2147 Items?: __listOfDomainName;
2148 /**
2149 * The next page of elements from this collection. Not valid for the last element of the collection.
2150 */
2151 NextToken?: NextToken;
2152 }
2153 export interface GetIntegrationRequest {
2154 /**
2155 * The API identifier.
2156 */
2157 ApiId: __string;
2158 /**
2159 * The integration ID.
2160 */
2161 IntegrationId: __string;
2162 }
2163 export interface GetIntegrationResult {
2164 /**
2165 * Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
2166 */
2167 ApiGatewayManaged?: __boolean;
2168 /**
2169 * The ID of the VPC link for a private integration. Supported only for HTTP APIs.
2170 */
2171 ConnectionId?: StringWithLengthBetween1And1024;
2172 /**
2173 * The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
2174 */
2175 ConnectionType?: ConnectionType;
2176 /**
2177 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
2178 */
2179 ContentHandlingStrategy?: ContentHandlingStrategy;
2180 /**
2181 * Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
2182 */
2183 CredentialsArn?: Arn;
2184 /**
2185 * Represents the description of an integration.
2186 */
2187 Description?: StringWithLengthBetween0And1024;
2188 /**
2189 * Represents the identifier of an integration.
2190 */
2191 IntegrationId?: Id;
2192 /**
2193 * Specifies the integration's HTTP method type.
2194 */
2195 IntegrationMethod?: StringWithLengthBetween1And64;
2196 /**
2197 * The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
2198 */
2199 IntegrationResponseSelectionExpression?: SelectionExpression;
2200 /**
2201 * The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
2202 */
2203 IntegrationType?: IntegrationType;
2204 /**
2205 * For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
2206 */
2207 IntegrationUri?: UriWithLengthBetween1And2048;
2208 /**
2209 * Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
2210 */
2211 PassthroughBehavior?: PassthroughBehavior;
2212 /**
2213 * Specifies the format of the payload sent to an integration. Required for HTTP APIs.
2214 */
2215 PayloadFormatVersion?: StringWithLengthBetween1And64;
2216 /**
2217 * A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}
2218 , where
2219 {location}
2220 is querystring, path, or header; and
2221 {name}
2222 must be a valid and unique method request parameter name. Supported only for WebSocket APIs.
2223 */
2224 RequestParameters?: IntegrationParameters;
2225 /**
2226 * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
2227 */
2228 RequestTemplates?: TemplateMap;
2229 /**
2230 * The template selection expression for the integration. Supported only for WebSocket APIs.
2231 */
2232 TemplateSelectionExpression?: SelectionExpression;
2233 /**
2234 * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
2235 */
2236 TimeoutInMillis?: IntegerWithLengthBetween50And30000;
2237 /**
2238 * The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
2239 */
2240 TlsConfig?: TlsConfig;
2241 }
2242 export interface GetIntegrationResponseRequest {
2243 /**
2244 * The API identifier.
2245 */
2246 ApiId: __string;
2247 /**
2248 * The integration ID.
2249 */
2250 IntegrationId: __string;
2251 /**
2252 * The integration response ID.
2253 */
2254 IntegrationResponseId: __string;
2255 }
2256 export interface GetIntegrationResponseResponse {
2257 /**
2258 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
2259 */
2260 ContentHandlingStrategy?: ContentHandlingStrategy;
2261 /**
2262 * The integration response ID.
2263 */
2264 IntegrationResponseId?: Id;
2265 /**
2266 * The integration response key.
2267 */
2268 IntegrationResponseKey?: SelectionKey;
2269 /**
2270 * A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
2271 */
2272 ResponseParameters?: IntegrationParameters;
2273 /**
2274 * The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
2275 */
2276 ResponseTemplates?: TemplateMap;
2277 /**
2278 * The template selection expressions for the integration response.
2279 */
2280 TemplateSelectionExpression?: SelectionExpression;
2281 }
2282 export interface GetIntegrationResponsesRequest {
2283 /**
2284 * The API identifier.
2285 */
2286 ApiId: __string;
2287 /**
2288 * The integration ID.
2289 */
2290 IntegrationId: __string;
2291 /**
2292 * The maximum number of elements to be returned for this resource.
2293 */
2294 MaxResults?: __string;
2295 /**
2296 * The next page of elements from this collection. Not valid for the last element of the collection.
2297 */
2298 NextToken?: __string;
2299 }
2300 export interface GetIntegrationResponsesResponse {
2301 /**
2302 * The elements from this collection.
2303 */
2304 Items?: __listOfIntegrationResponse;
2305 /**
2306 * The next page of elements from this collection. Not valid for the last element of the collection.
2307 */
2308 NextToken?: NextToken;
2309 }
2310 export interface GetIntegrationsRequest {
2311 /**
2312 * The API identifier.
2313 */
2314 ApiId: __string;
2315 /**
2316 * The maximum number of elements to be returned for this resource.
2317 */
2318 MaxResults?: __string;
2319 /**
2320 * The next page of elements from this collection. Not valid for the last element of the collection.
2321 */
2322 NextToken?: __string;
2323 }
2324 export interface GetIntegrationsResponse {
2325 /**
2326 * The elements from this collection.
2327 */
2328 Items?: __listOfIntegration;
2329 /**
2330 * The next page of elements from this collection. Not valid for the last element of the collection.
2331 */
2332 NextToken?: NextToken;
2333 }
2334 export interface GetModelRequest {
2335 /**
2336 * The API identifier.
2337 */
2338 ApiId: __string;
2339 /**
2340 * The model ID.
2341 */
2342 ModelId: __string;
2343 }
2344 export interface GetModelResponse {
2345 /**
2346 * The content-type for the model, for example, "application/json".
2347 */
2348 ContentType?: StringWithLengthBetween1And256;
2349 /**
2350 * The description of the model.
2351 */
2352 Description?: StringWithLengthBetween0And1024;
2353 /**
2354 * The model identifier.
2355 */
2356 ModelId?: Id;
2357 /**
2358 * The name of the model. Must be alphanumeric.
2359 */
2360 Name?: StringWithLengthBetween1And128;
2361 /**
2362 * The schema for the model. For application/json models, this should be JSON schema draft 4 model.
2363 */
2364 Schema?: StringWithLengthBetween0And32K;
2365 }
2366 export interface GetModelTemplateRequest {
2367 /**
2368 * The API identifier.
2369 */
2370 ApiId: __string;
2371 /**
2372 * The model ID.
2373 */
2374 ModelId: __string;
2375 }
2376 export interface GetModelTemplateResponse {
2377 /**
2378 * The template value.
2379 */
2380 Value?: __string;
2381 }
2382 export interface GetModelsRequest {
2383 /**
2384 * The API identifier.
2385 */
2386 ApiId: __string;
2387 /**
2388 * The maximum number of elements to be returned for this resource.
2389 */
2390 MaxResults?: __string;
2391 /**
2392 * The next page of elements from this collection. Not valid for the last element of the collection.
2393 */
2394 NextToken?: __string;
2395 }
2396 export interface GetModelsResponse {
2397 /**
2398 * The elements from this collection.
2399 */
2400 Items?: __listOfModel;
2401 /**
2402 * The next page of elements from this collection. Not valid for the last element of the collection.
2403 */
2404 NextToken?: NextToken;
2405 }
2406 export interface GetRouteRequest {
2407 /**
2408 * The API identifier.
2409 */
2410 ApiId: __string;
2411 /**
2412 * The route ID.
2413 */
2414 RouteId: __string;
2415 }
2416 export interface GetRouteResult {
2417 /**
2418 * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
2419 */
2420 ApiGatewayManaged?: __boolean;
2421 /**
2422 * Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
2423 */
2424 ApiKeyRequired?: __boolean;
2425 /**
2426 * A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
2427 */
2428 AuthorizationScopes?: AuthorizationScopes;
2429 /**
2430 * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
2431 */
2432 AuthorizationType?: AuthorizationType;
2433 /**
2434 * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
2435 */
2436 AuthorizerId?: Id;
2437 /**
2438 * The model selection expression for the route. Supported only for WebSocket APIs.
2439 */
2440 ModelSelectionExpression?: SelectionExpression;
2441 /**
2442 * The operation name for the route.
2443 */
2444 OperationName?: StringWithLengthBetween1And64;
2445 /**
2446 * The request models for the route. Supported only for WebSocket APIs.
2447 */
2448 RequestModels?: RouteModels;
2449 /**
2450 * The request parameters for the route. Supported only for WebSocket APIs.
2451 */
2452 RequestParameters?: RouteParameters;
2453 /**
2454 * The route ID.
2455 */
2456 RouteId?: Id;
2457 /**
2458 * The route key for the route.
2459 */
2460 RouteKey?: SelectionKey;
2461 /**
2462 * The route response selection expression for the route. Supported only for WebSocket APIs.
2463 */
2464 RouteResponseSelectionExpression?: SelectionExpression;
2465 /**
2466 * The target for the route.
2467 */
2468 Target?: StringWithLengthBetween1And128;
2469 }
2470 export interface GetRouteResponseRequest {
2471 /**
2472 * The API identifier.
2473 */
2474 ApiId: __string;
2475 /**
2476 * The route ID.
2477 */
2478 RouteId: __string;
2479 /**
2480 * The route response ID.
2481 */
2482 RouteResponseId: __string;
2483 }
2484 export interface GetRouteResponseResponse {
2485 /**
2486 * Represents the model selection expression of a route response. Supported only for WebSocket APIs.
2487 */
2488 ModelSelectionExpression?: SelectionExpression;
2489 /**
2490 * Represents the response models of a route response.
2491 */
2492 ResponseModels?: RouteModels;
2493 /**
2494 * Represents the response parameters of a route response.
2495 */
2496 ResponseParameters?: RouteParameters;
2497 /**
2498 * Represents the identifier of a route response.
2499 */
2500 RouteResponseId?: Id;
2501 /**
2502 * Represents the route response key of a route response.
2503 */
2504 RouteResponseKey?: SelectionKey;
2505 }
2506 export interface GetRouteResponsesRequest {
2507 /**
2508 * The API identifier.
2509 */
2510 ApiId: __string;
2511 /**
2512 * The maximum number of elements to be returned for this resource.
2513 */
2514 MaxResults?: __string;
2515 /**
2516 * The next page of elements from this collection. Not valid for the last element of the collection.
2517 */
2518 NextToken?: __string;
2519 /**
2520 * The route ID.
2521 */
2522 RouteId: __string;
2523 }
2524 export interface GetRouteResponsesResponse {
2525 /**
2526 * The elements from this collection.
2527 */
2528 Items?: __listOfRouteResponse;
2529 /**
2530 * The next page of elements from this collection. Not valid for the last element of the collection.
2531 */
2532 NextToken?: NextToken;
2533 }
2534 export interface GetRoutesRequest {
2535 /**
2536 * The API identifier.
2537 */
2538 ApiId: __string;
2539 /**
2540 * The maximum number of elements to be returned for this resource.
2541 */
2542 MaxResults?: __string;
2543 /**
2544 * The next page of elements from this collection. Not valid for the last element of the collection.
2545 */
2546 NextToken?: __string;
2547 }
2548 export interface GetRoutesResponse {
2549 /**
2550 * The elements from this collection.
2551 */
2552 Items?: __listOfRoute;
2553 /**
2554 * The next page of elements from this collection. Not valid for the last element of the collection.
2555 */
2556 NextToken?: NextToken;
2557 }
2558 export interface GetStageRequest {
2559 /**
2560 * The API identifier.
2561 */
2562 ApiId: __string;
2563 /**
2564 * The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
2565 */
2566 StageName: __string;
2567 }
2568 export interface GetStageResponse {
2569 /**
2570 * Settings for logging access in this stage.
2571 */
2572 AccessLogSettings?: AccessLogSettings;
2573 /**
2574 * Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
2575 */
2576 ApiGatewayManaged?: __boolean;
2577 /**
2578 * Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
2579 */
2580 AutoDeploy?: __boolean;
2581 /**
2582 * The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
2583 */
2584 ClientCertificateId?: Id;
2585 /**
2586 * The timestamp when the stage was created.
2587 */
2588 CreatedDate?: __timestampIso8601;
2589 /**
2590 * Default route settings for the stage.
2591 */
2592 DefaultRouteSettings?: RouteSettings;
2593 /**
2594 * The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
2595 */
2596 DeploymentId?: Id;
2597 /**
2598 * The description of the stage.
2599 */
2600 Description?: StringWithLengthBetween0And1024;
2601 /**
2602 * Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
2603 */
2604 LastDeploymentStatusMessage?: __string;
2605 /**
2606 * The timestamp when the stage was last updated.
2607 */
2608 LastUpdatedDate?: __timestampIso8601;
2609 /**
2610 * Route settings for the stage, by routeKey.
2611 */
2612 RouteSettings?: RouteSettingsMap;
2613 /**
2614 * The name of the stage.
2615 */
2616 StageName?: StringWithLengthBetween1And128;
2617 /**
2618 * A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
2619 */
2620 StageVariables?: StageVariablesMap;
2621 /**
2622 * The collection of tags. Each tag element is associated with a given resource.
2623 */
2624 Tags?: Tags;
2625 }
2626 export interface GetStagesRequest {
2627 /**
2628 * The API identifier.
2629 */
2630 ApiId: __string;
2631 /**
2632 * The maximum number of elements to be returned for this resource.
2633 */
2634 MaxResults?: __string;
2635 /**
2636 * The next page of elements from this collection. Not valid for the last element of the collection.
2637 */
2638 NextToken?: __string;
2639 }
2640 export interface GetStagesResponse {
2641 /**
2642 * The elements from this collection.
2643 */
2644 Items?: __listOfStage;
2645 /**
2646 * The next page of elements from this collection. Not valid for the last element of the collection.
2647 */
2648 NextToken?: NextToken;
2649 }
2650 export interface GetTagsRequest {
2651 /**
2652 * The resource ARN for the tag.
2653 */
2654 ResourceArn: __string;
2655 }
2656 export interface GetTagsResponse {
2657 Tags?: Tags;
2658 }
2659 export interface GetVpcLinkRequest {
2660 /**
2661 * The ID of the VPC link.
2662 */
2663 VpcLinkId: __string;
2664 }
2665 export interface GetVpcLinkResponse {
2666 /**
2667 * The timestamp when the VPC link was created.
2668 */
2669 CreatedDate?: __timestampIso8601;
2670 /**
2671 * The name of the VPC link.
2672 */
2673 Name?: StringWithLengthBetween1And128;
2674 /**
2675 * A list of security group IDs for the VPC link.
2676 */
2677 SecurityGroupIds?: SecurityGroupIdList;
2678 /**
2679 * A list of subnet IDs to include in the VPC link.
2680 */
2681 SubnetIds?: SubnetIdList;
2682 /**
2683 * Tags for the VPC link.
2684 */
2685 Tags?: Tags;
2686 /**
2687 * The ID of the VPC link.
2688 */
2689 VpcLinkId?: Id;
2690 /**
2691 * The status of the VPC link.
2692 */
2693 VpcLinkStatus?: VpcLinkStatus;
2694 /**
2695 * A message summarizing the cause of the status of the VPC link.
2696 */
2697 VpcLinkStatusMessage?: StringWithLengthBetween0And1024;
2698 /**
2699 * The version of the VPC link.
2700 */
2701 VpcLinkVersion?: VpcLinkVersion;
2702 }
2703 export interface GetVpcLinksRequest {
2704 /**
2705 * The maximum number of elements to be returned for this resource.
2706 */
2707 MaxResults?: __string;
2708 /**
2709 * The next page of elements from this collection. Not valid for the last element of the collection.
2710 */
2711 NextToken?: __string;
2712 }
2713 export interface GetVpcLinksResponse {
2714 /**
2715 * A collection of VPC links.
2716 */
2717 Items?: __listOfVpcLink;
2718 /**
2719 * The next page of elements from this collection. Not valid for the last element of the collection.
2720 */
2721 NextToken?: NextToken;
2722 }
2723 export type Id = string;
2724 export type IdentitySourceList = __string[];
2725 export interface ImportApiRequest {
2726 /**
2727 * Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
2728 */
2729 Basepath?: __string;
2730 /**
2731 * The OpenAPI definition. Supported only for HTTP APIs.
2732 */
2733 Body: __string;
2734 /**
2735 * Specifies whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false.
2736 */
2737 FailOnWarnings?: __boolean;
2738 }
2739 export interface ImportApiResponse {
2740 /**
2741 * The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
2742 */
2743 ApiEndpoint?: __string;
2744 /**
2745 * The API ID.
2746 */
2747 ApiId?: Id;
2748 /**
2749 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
2750 */
2751 ApiKeySelectionExpression?: SelectionExpression;
2752 /**
2753 * A CORS configuration. Supported only for HTTP APIs.
2754 */
2755 CorsConfiguration?: Cors;
2756 /**
2757 * The timestamp when the API was created.
2758 */
2759 CreatedDate?: __timestampIso8601;
2760 /**
2761 * The description of the API.
2762 */
2763 Description?: StringWithLengthBetween0And1024;
2764 /**
2765 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
2766 */
2767 DisableSchemaValidation?: __boolean;
2768 /**
2769 * The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
2770 */
2771 ImportInfo?: __listOf__string;
2772 /**
2773 * The name of the API.
2774 */
2775 Name?: StringWithLengthBetween1And128;
2776 /**
2777 * The API protocol.
2778 */
2779 ProtocolType?: ProtocolType;
2780 /**
2781 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
2782 */
2783 RouteSelectionExpression?: SelectionExpression;
2784 /**
2785 * A collection of tags associated with the API.
2786 */
2787 Tags?: Tags;
2788 /**
2789 * A version identifier for the API.
2790 */
2791 Version?: StringWithLengthBetween1And64;
2792 /**
2793 * The warning messages reported when failonwarnings is turned on during API import.
2794 */
2795 Warnings?: __listOf__string;
2796 }
2797 export type IntegerWithLengthBetween0And3600 = number;
2798 export type IntegerWithLengthBetween50And30000 = number;
2799 export type IntegerWithLengthBetweenMinus1And86400 = number;
2800 export interface Integration {
2801 /**
2802 * Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
2803 */
2804 ApiGatewayManaged?: __boolean;
2805 /**
2806 * The ID of the VPC link for a private integration. Supported only for HTTP APIs.
2807 */
2808 ConnectionId?: StringWithLengthBetween1And1024;
2809 /**
2810 * The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
2811 */
2812 ConnectionType?: ConnectionType;
2813 /**
2814 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
2815 */
2816 ContentHandlingStrategy?: ContentHandlingStrategy;
2817 /**
2818 * Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
2819 */
2820 CredentialsArn?: Arn;
2821 /**
2822 * Represents the description of an integration.
2823 */
2824 Description?: StringWithLengthBetween0And1024;
2825 /**
2826 * Represents the identifier of an integration.
2827 */
2828 IntegrationId?: Id;
2829 /**
2830 * Specifies the integration's HTTP method type.
2831 */
2832 IntegrationMethod?: StringWithLengthBetween1And64;
2833 /**
2834 * The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
2835 */
2836 IntegrationResponseSelectionExpression?: SelectionExpression;
2837 /**
2838 * The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
2839 */
2840 IntegrationType?: IntegrationType;
2841 /**
2842 * For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
2843 */
2844 IntegrationUri?: UriWithLengthBetween1And2048;
2845 /**
2846 * Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
2847 */
2848 PassthroughBehavior?: PassthroughBehavior;
2849 /**
2850 * Specifies the format of the payload sent to an integration. Required for HTTP APIs.
2851 */
2852 PayloadFormatVersion?: StringWithLengthBetween1And64;
2853 /**
2854 * A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}
2855 , where
2856 {location}
2857 is querystring, path, or header; and
2858 {name}
2859 must be a valid and unique method request parameter name. Supported only for WebSocket APIs.
2860 */
2861 RequestParameters?: IntegrationParameters;
2862 /**
2863 * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
2864 */
2865 RequestTemplates?: TemplateMap;
2866 /**
2867 * The template selection expression for the integration. Supported only for WebSocket APIs.
2868 */
2869 TemplateSelectionExpression?: SelectionExpression;
2870 /**
2871 * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
2872 */
2873 TimeoutInMillis?: IntegerWithLengthBetween50And30000;
2874 /**
2875 * The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
2876 */
2877 TlsConfig?: TlsConfig;
2878 }
2879 export type IntegrationParameters = {[key: string]: StringWithLengthBetween1And512};
2880 export interface IntegrationResponse {
2881 /**
2882 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
2883 */
2884 ContentHandlingStrategy?: ContentHandlingStrategy;
2885 /**
2886 * The integration response ID.
2887 */
2888 IntegrationResponseId?: Id;
2889 /**
2890 * The integration response key.
2891 */
2892 IntegrationResponseKey: SelectionKey;
2893 /**
2894 * A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
2895 */
2896 ResponseParameters?: IntegrationParameters;
2897 /**
2898 * The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
2899 */
2900 ResponseTemplates?: TemplateMap;
2901 /**
2902 * The template selection expressions for the integration response.
2903 */
2904 TemplateSelectionExpression?: SelectionExpression;
2905 }
2906 export type IntegrationType = "AWS"|"HTTP"|"MOCK"|"HTTP_PROXY"|"AWS_PROXY"|string;
2907 export interface JWTConfiguration {
2908 /**
2909 * A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list. See RFC 7519. Supported only for HTTP APIs.
2910 */
2911 Audience?: __listOf__string;
2912 /**
2913 * The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: https://cognito-idp.{region}.amazonaws.com/{userPoolId}
2914 . Required for the JWT authorizer type. Supported only for HTTP APIs.
2915 */
2916 Issuer?: UriWithLengthBetween1And2048;
2917 }
2918 export type LoggingLevel = "ERROR"|"INFO"|"OFF"|string;
2919 export interface Model {
2920 /**
2921 * The content-type for the model, for example, "application/json".
2922 */
2923 ContentType?: StringWithLengthBetween1And256;
2924 /**
2925 * The description of the model.
2926 */
2927 Description?: StringWithLengthBetween0And1024;
2928 /**
2929 * The model identifier.
2930 */
2931 ModelId?: Id;
2932 /**
2933 * The name of the model. Must be alphanumeric.
2934 */
2935 Name: StringWithLengthBetween1And128;
2936 /**
2937 * The schema for the model. For application/json models, this should be JSON schema draft 4 model.
2938 */
2939 Schema?: StringWithLengthBetween0And32K;
2940 }
2941 export type NextToken = string;
2942 export interface ParameterConstraints {
2943 /**
2944 * Whether or not the parameter is required.
2945 */
2946 Required?: __boolean;
2947 }
2948 export type PassthroughBehavior = "WHEN_NO_MATCH"|"NEVER"|"WHEN_NO_TEMPLATES"|string;
2949 export type ProtocolType = "WEBSOCKET"|"HTTP"|string;
2950 export interface ReimportApiRequest {
2951 /**
2952 * The API identifier.
2953 */
2954 ApiId: __string;
2955 /**
2956 * Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
2957 */
2958 Basepath?: __string;
2959 /**
2960 * The OpenAPI definition. Supported only for HTTP APIs.
2961 */
2962 Body: __string;
2963 /**
2964 * Specifies whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false.
2965 */
2966 FailOnWarnings?: __boolean;
2967 }
2968 export interface ReimportApiResponse {
2969 /**
2970 * The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
2971 */
2972 ApiEndpoint?: __string;
2973 /**
2974 * The API ID.
2975 */
2976 ApiId?: Id;
2977 /**
2978 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
2979 */
2980 ApiKeySelectionExpression?: SelectionExpression;
2981 /**
2982 * A CORS configuration. Supported only for HTTP APIs.
2983 */
2984 CorsConfiguration?: Cors;
2985 /**
2986 * The timestamp when the API was created.
2987 */
2988 CreatedDate?: __timestampIso8601;
2989 /**
2990 * The description of the API.
2991 */
2992 Description?: StringWithLengthBetween0And1024;
2993 /**
2994 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
2995 */
2996 DisableSchemaValidation?: __boolean;
2997 /**
2998 * The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
2999 */
3000 ImportInfo?: __listOf__string;
3001 /**
3002 * The name of the API.
3003 */
3004 Name?: StringWithLengthBetween1And128;
3005 /**
3006 * The API protocol.
3007 */
3008 ProtocolType?: ProtocolType;
3009 /**
3010 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
3011 */
3012 RouteSelectionExpression?: SelectionExpression;
3013 /**
3014 * A collection of tags associated with the API.
3015 */
3016 Tags?: Tags;
3017 /**
3018 * A version identifier for the API.
3019 */
3020 Version?: StringWithLengthBetween1And64;
3021 /**
3022 * The warning messages reported when failonwarnings is turned on during API import.
3023 */
3024 Warnings?: __listOf__string;
3025 }
3026 export interface Route {
3027 /**
3028 * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
3029 */
3030 ApiGatewayManaged?: __boolean;
3031 /**
3032 * Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
3033 */
3034 ApiKeyRequired?: __boolean;
3035 /**
3036 * A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
3037 */
3038 AuthorizationScopes?: AuthorizationScopes;
3039 /**
3040 * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
3041 */
3042 AuthorizationType?: AuthorizationType;
3043 /**
3044 * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
3045 */
3046 AuthorizerId?: Id;
3047 /**
3048 * The model selection expression for the route. Supported only for WebSocket APIs.
3049 */
3050 ModelSelectionExpression?: SelectionExpression;
3051 /**
3052 * The operation name for the route.
3053 */
3054 OperationName?: StringWithLengthBetween1And64;
3055 /**
3056 * The request models for the route. Supported only for WebSocket APIs.
3057 */
3058 RequestModels?: RouteModels;
3059 /**
3060 * The request parameters for the route. Supported only for WebSocket APIs.
3061 */
3062 RequestParameters?: RouteParameters;
3063 /**
3064 * The route ID.
3065 */
3066 RouteId?: Id;
3067 /**
3068 * The route key for the route.
3069 */
3070 RouteKey: SelectionKey;
3071 /**
3072 * The route response selection expression for the route. Supported only for WebSocket APIs.
3073 */
3074 RouteResponseSelectionExpression?: SelectionExpression;
3075 /**
3076 * The target for the route.
3077 */
3078 Target?: StringWithLengthBetween1And128;
3079 }
3080 export type RouteModels = {[key: string]: StringWithLengthBetween1And128};
3081 export type RouteParameters = {[key: string]: ParameterConstraints};
3082 export interface RouteResponse {
3083 /**
3084 * Represents the model selection expression of a route response. Supported only for WebSocket APIs.
3085 */
3086 ModelSelectionExpression?: SelectionExpression;
3087 /**
3088 * Represents the response models of a route response.
3089 */
3090 ResponseModels?: RouteModels;
3091 /**
3092 * Represents the response parameters of a route response.
3093 */
3094 ResponseParameters?: RouteParameters;
3095 /**
3096 * Represents the identifier of a route response.
3097 */
3098 RouteResponseId?: Id;
3099 /**
3100 * Represents the route response key of a route response.
3101 */
3102 RouteResponseKey: SelectionKey;
3103 }
3104 export interface RouteSettings {
3105 /**
3106 * Specifies whether (true) or not (false) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
3107 */
3108 DataTraceEnabled?: __boolean;
3109 /**
3110 * Specifies whether detailed metrics are enabled.
3111 */
3112 DetailedMetricsEnabled?: __boolean;
3113 /**
3114 * Specifies the logging level for this route: INFO, ERROR, or OFF. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
3115 */
3116 LoggingLevel?: LoggingLevel;
3117 /**
3118 * Specifies the throttling burst limit.
3119 */
3120 ThrottlingBurstLimit?: __integer;
3121 /**
3122 * Specifies the throttling rate limit.
3123 */
3124 ThrottlingRateLimit?: __double;
3125 }
3126 export type RouteSettingsMap = {[key: string]: RouteSettings};
3127 export type SecurityGroupIdList = __string[];
3128 export type SecurityPolicy = "TLS_1_0"|"TLS_1_2"|string;
3129 export type SelectionExpression = string;
3130 export type SelectionKey = string;
3131 export interface Stage {
3132 /**
3133 * Settings for logging access in this stage.
3134 */
3135 AccessLogSettings?: AccessLogSettings;
3136 /**
3137 * Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
3138 */
3139 ApiGatewayManaged?: __boolean;
3140 /**
3141 * Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
3142 */
3143 AutoDeploy?: __boolean;
3144 /**
3145 * The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
3146 */
3147 ClientCertificateId?: Id;
3148 /**
3149 * The timestamp when the stage was created.
3150 */
3151 CreatedDate?: __timestampIso8601;
3152 /**
3153 * Default route settings for the stage.
3154 */
3155 DefaultRouteSettings?: RouteSettings;
3156 /**
3157 * The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
3158 */
3159 DeploymentId?: Id;
3160 /**
3161 * The description of the stage.
3162 */
3163 Description?: StringWithLengthBetween0And1024;
3164 /**
3165 * Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
3166 */
3167 LastDeploymentStatusMessage?: __string;
3168 /**
3169 * The timestamp when the stage was last updated.
3170 */
3171 LastUpdatedDate?: __timestampIso8601;
3172 /**
3173 * Route settings for the stage, by routeKey.
3174 */
3175 RouteSettings?: RouteSettingsMap;
3176 /**
3177 * The name of the stage.
3178 */
3179 StageName: StringWithLengthBetween1And128;
3180 /**
3181 * A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
3182 */
3183 StageVariables?: StageVariablesMap;
3184 /**
3185 * The collection of tags. Each tag element is associated with a given resource.
3186 */
3187 Tags?: Tags;
3188 }
3189 export type StageVariablesMap = {[key: string]: StringWithLengthBetween0And2048};
3190 export type StringWithLengthBetween0And1024 = string;
3191 export type StringWithLengthBetween0And2048 = string;
3192 export type StringWithLengthBetween0And32K = string;
3193 export type StringWithLengthBetween1And1024 = string;
3194 export type StringWithLengthBetween1And128 = string;
3195 export type StringWithLengthBetween1And1600 = string;
3196 export type StringWithLengthBetween1And256 = string;
3197 export type StringWithLengthBetween1And512 = string;
3198 export type StringWithLengthBetween1And64 = string;
3199 export type SubnetIdList = __string[];
3200 export interface TagResourceRequest {
3201 /**
3202 * The resource ARN for the tag.
3203 */
3204 ResourceArn: __string;
3205 /**
3206 * The collection of tags. Each tag element is associated with a given resource.
3207 */
3208 Tags?: Tags;
3209 }
3210 export interface TagResourceResponse {
3211 }
3212 export type Tags = {[key: string]: StringWithLengthBetween1And1600};
3213 export type TemplateMap = {[key: string]: StringWithLengthBetween0And32K};
3214 export interface TlsConfig {
3215 /**
3216 * If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
3217 */
3218 ServerNameToVerify?: StringWithLengthBetween1And512;
3219 }
3220 export interface TlsConfigInput {
3221 /**
3222 * If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
3223 */
3224 ServerNameToVerify?: StringWithLengthBetween1And512;
3225 }
3226 export interface UntagResourceRequest {
3227 /**
3228 * The resource ARN for the tag.
3229 */
3230 ResourceArn: __string;
3231 /**
3232 * The Tag keys to delete
3233 */
3234 TagKeys: __listOf__string;
3235 }
3236 export interface UpdateApiMappingRequest {
3237 /**
3238 * The API identifier.
3239 */
3240 ApiId: Id;
3241 /**
3242 * The API mapping identifier.
3243 */
3244 ApiMappingId: __string;
3245 /**
3246 * The API mapping key.
3247 */
3248 ApiMappingKey?: SelectionKey;
3249 /**
3250 * The domain name.
3251 */
3252 DomainName: __string;
3253 /**
3254 * The API stage.
3255 */
3256 Stage?: StringWithLengthBetween1And128;
3257 }
3258 export interface UpdateApiMappingResponse {
3259 /**
3260 * The API identifier.
3261 */
3262 ApiId?: Id;
3263 /**
3264 * The API mapping identifier.
3265 */
3266 ApiMappingId?: Id;
3267 /**
3268 * The API mapping key.
3269 */
3270 ApiMappingKey?: SelectionKey;
3271 /**
3272 * The API stage.
3273 */
3274 Stage?: StringWithLengthBetween1And128;
3275 }
3276 export interface UpdateApiRequest {
3277 /**
3278 * The API identifier.
3279 */
3280 ApiId: __string;
3281 /**
3282 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
3283 */
3284 ApiKeySelectionExpression?: SelectionExpression;
3285 /**
3286 * A CORS configuration. Supported only for HTTP APIs.
3287 */
3288 CorsConfiguration?: Cors;
3289 /**
3290 * This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.
3291 */
3292 CredentialsArn?: Arn;
3293 /**
3294 * The description of the API.
3295 */
3296 Description?: StringWithLengthBetween0And1024;
3297 /**
3298 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
3299 */
3300 DisableSchemaValidation?: __boolean;
3301 /**
3302 * The name of the API.
3303 */
3304 Name?: StringWithLengthBetween1And128;
3305 /**
3306 * This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.
3307 */
3308 RouteKey?: SelectionKey;
3309 /**
3310 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
3311 */
3312 RouteSelectionExpression?: SelectionExpression;
3313 /**
3314 * This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.
3315 */
3316 Target?: UriWithLengthBetween1And2048;
3317 /**
3318 * A version identifier for the API.
3319 */
3320 Version?: StringWithLengthBetween1And64;
3321 }
3322 export interface UpdateApiResponse {
3323 /**
3324 * The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
3325 */
3326 ApiEndpoint?: __string;
3327 /**
3328 * The API ID.
3329 */
3330 ApiId?: Id;
3331 /**
3332 * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
3333 */
3334 ApiKeySelectionExpression?: SelectionExpression;
3335 /**
3336 * A CORS configuration. Supported only for HTTP APIs.
3337 */
3338 CorsConfiguration?: Cors;
3339 /**
3340 * The timestamp when the API was created.
3341 */
3342 CreatedDate?: __timestampIso8601;
3343 /**
3344 * The description of the API.
3345 */
3346 Description?: StringWithLengthBetween0And1024;
3347 /**
3348 * Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
3349 */
3350 DisableSchemaValidation?: __boolean;
3351 /**
3352 * The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
3353 */
3354 ImportInfo?: __listOf__string;
3355 /**
3356 * The name of the API.
3357 */
3358 Name?: StringWithLengthBetween1And128;
3359 /**
3360 * The API protocol.
3361 */
3362 ProtocolType?: ProtocolType;
3363 /**
3364 * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
3365 */
3366 RouteSelectionExpression?: SelectionExpression;
3367 /**
3368 * A collection of tags associated with the API.
3369 */
3370 Tags?: Tags;
3371 /**
3372 * A version identifier for the API.
3373 */
3374 Version?: StringWithLengthBetween1And64;
3375 /**
3376 * The warning messages reported when failonwarnings is turned on during API import.
3377 */
3378 Warnings?: __listOf__string;
3379 }
3380 export interface UpdateAuthorizerRequest {
3381 /**
3382 * The API identifier.
3383 */
3384 ApiId: __string;
3385 /**
3386 * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
3387 */
3388 AuthorizerCredentialsArn?: Arn;
3389 /**
3390 * The authorizer identifier.
3391 */
3392 AuthorizerId: __string;
3393 /**
3394 * Authorizer caching is not currently supported. Don't specify this value for authorizers.
3395 */
3396 AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
3397 /**
3398 * The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
3399 */
3400 AuthorizerType?: AuthorizerType;
3401 /**
3402 * The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
3403 , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.
3404 */
3405 AuthorizerUri?: UriWithLengthBetween1And2048;
3406 /**
3407 * The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
3408 */
3409 IdentitySource?: IdentitySourceList;
3410 /**
3411 * This parameter is not used.
3412 */
3413 IdentityValidationExpression?: StringWithLengthBetween0And1024;
3414 /**
3415 * Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
3416 */
3417 JwtConfiguration?: JWTConfiguration;
3418 /**
3419 * The name of the authorizer.
3420 */
3421 Name?: StringWithLengthBetween1And128;
3422 }
3423 export interface UpdateAuthorizerResponse {
3424 /**
3425 * Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
3426 */
3427 AuthorizerCredentialsArn?: Arn;
3428 /**
3429 * The authorizer identifier.
3430 */
3431 AuthorizerId?: Id;
3432 /**
3433 * Authorizer caching is not currently supported. Don't specify this value for authorizers.
3434 */
3435 AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
3436 /**
3437 * The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
3438 */
3439 AuthorizerType?: AuthorizerType;
3440 /**
3441 * The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
3442 , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.
3443 */
3444 AuthorizerUri?: UriWithLengthBetween1And2048;
3445 /**
3446 * The identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
3447 */
3448 IdentitySource?: IdentitySourceList;
3449 /**
3450 * The validation expression does not apply to the REQUEST authorizer.
3451 */
3452 IdentityValidationExpression?: StringWithLengthBetween0And1024;
3453 /**
3454 * Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
3455 */
3456 JwtConfiguration?: JWTConfiguration;
3457 /**
3458 * The name of the authorizer.
3459 */
3460 Name?: StringWithLengthBetween1And128;
3461 }
3462 export interface UpdateDeploymentRequest {
3463 /**
3464 * The API identifier.
3465 */
3466 ApiId: __string;
3467 /**
3468 * The deployment ID.
3469 */
3470 DeploymentId: __string;
3471 /**
3472 * The description for the deployment resource.
3473 */
3474 Description?: StringWithLengthBetween0And1024;
3475 }
3476 export interface UpdateDeploymentResponse {
3477 /**
3478 * Specifies whether a deployment was automatically released.
3479 */
3480 AutoDeployed?: __boolean;
3481 /**
3482 * The date and time when the Deployment resource was created.
3483 */
3484 CreatedDate?: __timestampIso8601;
3485 /**
3486 * The identifier for the deployment.
3487 */
3488 DeploymentId?: Id;
3489 /**
3490 * The status of the deployment: PENDING, FAILED, or SUCCEEDED.
3491 */
3492 DeploymentStatus?: DeploymentStatus;
3493 /**
3494 * May contain additional feedback on the status of an API deployment.
3495 */
3496 DeploymentStatusMessage?: __string;
3497 /**
3498 * The description for the deployment.
3499 */
3500 Description?: StringWithLengthBetween0And1024;
3501 }
3502 export interface UpdateDomainNameRequest {
3503 /**
3504 * The domain name.
3505 */
3506 DomainName: __string;
3507 /**
3508 * The domain name configurations.
3509 */
3510 DomainNameConfigurations?: DomainNameConfigurations;
3511 }
3512 export interface UpdateDomainNameResponse {
3513 /**
3514 * The API mapping selection expression.
3515 */
3516 ApiMappingSelectionExpression?: SelectionExpression;
3517 /**
3518 * The name of the DomainName resource.
3519 */
3520 DomainName?: StringWithLengthBetween1And512;
3521 /**
3522 * The domain name configurations.
3523 */
3524 DomainNameConfigurations?: DomainNameConfigurations;
3525 /**
3526 * The collection of tags associated with a domain name.
3527 */
3528 Tags?: Tags;
3529 }
3530 export interface UpdateIntegrationRequest {
3531 /**
3532 * The API identifier.
3533 */
3534 ApiId: __string;
3535 /**
3536 * The ID of the VPC link for a private integration. Supported only for HTTP APIs.
3537 */
3538 ConnectionId?: StringWithLengthBetween1And1024;
3539 /**
3540 * The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
3541 */
3542 ConnectionType?: ConnectionType;
3543 /**
3544 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
3545 */
3546 ContentHandlingStrategy?: ContentHandlingStrategy;
3547 /**
3548 * Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
3549 */
3550 CredentialsArn?: Arn;
3551 /**
3552 * The description of the integration
3553 */
3554 Description?: StringWithLengthBetween0And1024;
3555 /**
3556 * The integration ID.
3557 */
3558 IntegrationId: __string;
3559 /**
3560 * Specifies the integration's HTTP method type.
3561 */
3562 IntegrationMethod?: StringWithLengthBetween1And64;
3563 /**
3564 * The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration. MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
3565 */
3566 IntegrationType?: IntegrationType;
3567 /**
3568 * For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
3569 */
3570 IntegrationUri?: UriWithLengthBetween1And2048;
3571 /**
3572 * Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
3573 */
3574 PassthroughBehavior?: PassthroughBehavior;
3575 /**
3576 * Specifies the format of the payload sent to an integration. Required for HTTP APIs.
3577 */
3578 PayloadFormatVersion?: StringWithLengthBetween1And64;
3579 /**
3580 * A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}
3581 , where
3582 {location}
3583 is querystring, path, or header; and
3584 {name}
3585 must be a valid and unique method request parameter name. Supported only for WebSocket APIs.
3586 */
3587 RequestParameters?: IntegrationParameters;
3588 /**
3589 * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
3590 */
3591 RequestTemplates?: TemplateMap;
3592 /**
3593 * The template selection expression for the integration.
3594 */
3595 TemplateSelectionExpression?: SelectionExpression;
3596 /**
3597 * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
3598 */
3599 TimeoutInMillis?: IntegerWithLengthBetween50And30000;
3600 /**
3601 * The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
3602 */
3603 TlsConfig?: TlsConfigInput;
3604 }
3605 export interface UpdateIntegrationResult {
3606 /**
3607 * Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
3608 */
3609 ApiGatewayManaged?: __boolean;
3610 /**
3611 * The ID of the VPC link for a private integration. Supported only for HTTP APIs.
3612 */
3613 ConnectionId?: StringWithLengthBetween1And1024;
3614 /**
3615 * The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
3616 */
3617 ConnectionType?: ConnectionType;
3618 /**
3619 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
3620 */
3621 ContentHandlingStrategy?: ContentHandlingStrategy;
3622 /**
3623 * Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
3624 */
3625 CredentialsArn?: Arn;
3626 /**
3627 * Represents the description of an integration.
3628 */
3629 Description?: StringWithLengthBetween0And1024;
3630 /**
3631 * Represents the identifier of an integration.
3632 */
3633 IntegrationId?: Id;
3634 /**
3635 * Specifies the integration's HTTP method type.
3636 */
3637 IntegrationMethod?: StringWithLengthBetween1And64;
3638 /**
3639 * The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
3640 */
3641 IntegrationResponseSelectionExpression?: SelectionExpression;
3642 /**
3643 * The integration type of an integration. One of the following: AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs. AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration. HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs. HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
3644 */
3645 IntegrationType?: IntegrationType;
3646 /**
3647 * For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
3648 */
3649 IntegrationUri?: UriWithLengthBetween1And2048;
3650 /**
3651 * Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs. WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation. NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response. WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
3652 */
3653 PassthroughBehavior?: PassthroughBehavior;
3654 /**
3655 * Specifies the format of the payload sent to an integration. Required for HTTP APIs.
3656 */
3657 PayloadFormatVersion?: StringWithLengthBetween1And64;
3658 /**
3659 * A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}
3660 , where
3661 {location}
3662 is querystring, path, or header; and
3663 {name}
3664 must be a valid and unique method request parameter name. Supported only for WebSocket APIs.
3665 */
3666 RequestParameters?: IntegrationParameters;
3667 /**
3668 * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
3669 */
3670 RequestTemplates?: TemplateMap;
3671 /**
3672 * The template selection expression for the integration. Supported only for WebSocket APIs.
3673 */
3674 TemplateSelectionExpression?: SelectionExpression;
3675 /**
3676 * Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
3677 */
3678 TimeoutInMillis?: IntegerWithLengthBetween50And30000;
3679 /**
3680 * The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
3681 */
3682 TlsConfig?: TlsConfig;
3683 }
3684 export interface UpdateIntegrationResponseRequest {
3685 /**
3686 * The API identifier.
3687 */
3688 ApiId: __string;
3689 /**
3690 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
3691 */
3692 ContentHandlingStrategy?: ContentHandlingStrategy;
3693 /**
3694 * The integration ID.
3695 */
3696 IntegrationId: __string;
3697 /**
3698 * The integration response ID.
3699 */
3700 IntegrationResponseId: __string;
3701 /**
3702 * The integration response key.
3703 */
3704 IntegrationResponseKey?: SelectionKey;
3705 /**
3706 * A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}
3707 , where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}
3708 or integration.response.body.{JSON-expression}
3709 , where
3710 {name}
3711 is a valid and unique response header name and
3712 {JSON-expression}
3713 is a valid JSON expression without the $ prefix.
3714 */
3715 ResponseParameters?: IntegrationParameters;
3716 /**
3717 * The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
3718 */
3719 ResponseTemplates?: TemplateMap;
3720 /**
3721 * The template selection expression for the integration response. Supported only for WebSocket APIs.
3722 */
3723 TemplateSelectionExpression?: SelectionExpression;
3724 }
3725 export interface UpdateIntegrationResponseResponse {
3726 /**
3727 * Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
3728 */
3729 ContentHandlingStrategy?: ContentHandlingStrategy;
3730 /**
3731 * The integration response ID.
3732 */
3733 IntegrationResponseId?: Id;
3734 /**
3735 * The integration response key.
3736 */
3737 IntegrationResponseKey?: SelectionKey;
3738 /**
3739 * A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
3740 */
3741 ResponseParameters?: IntegrationParameters;
3742 /**
3743 * The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
3744 */
3745 ResponseTemplates?: TemplateMap;
3746 /**
3747 * The template selection expressions for the integration response.
3748 */
3749 TemplateSelectionExpression?: SelectionExpression;
3750 }
3751 export interface UpdateModelRequest {
3752 /**
3753 * The API identifier.
3754 */
3755 ApiId: __string;
3756 /**
3757 * The content-type for the model, for example, "application/json".
3758 */
3759 ContentType?: StringWithLengthBetween1And256;
3760 /**
3761 * The description of the model.
3762 */
3763 Description?: StringWithLengthBetween0And1024;
3764 /**
3765 * The model ID.
3766 */
3767 ModelId: __string;
3768 /**
3769 * The name of the model.
3770 */
3771 Name?: StringWithLengthBetween1And128;
3772 /**
3773 * The schema for the model. For application/json models, this should be JSON schema draft 4 model.
3774 */
3775 Schema?: StringWithLengthBetween0And32K;
3776 }
3777 export interface UpdateModelResponse {
3778 /**
3779 * The content-type for the model, for example, "application/json".
3780 */
3781 ContentType?: StringWithLengthBetween1And256;
3782 /**
3783 * The description of the model.
3784 */
3785 Description?: StringWithLengthBetween0And1024;
3786 /**
3787 * The model identifier.
3788 */
3789 ModelId?: Id;
3790 /**
3791 * The name of the model. Must be alphanumeric.
3792 */
3793 Name?: StringWithLengthBetween1And128;
3794 /**
3795 * The schema for the model. For application/json models, this should be JSON schema draft 4 model.
3796 */
3797 Schema?: StringWithLengthBetween0And32K;
3798 }
3799 export interface UpdateRouteRequest {
3800 /**
3801 * The API identifier.
3802 */
3803 ApiId: __string;
3804 /**
3805 * Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
3806 */
3807 ApiKeyRequired?: __boolean;
3808 /**
3809 * The authorization scopes supported by this route.
3810 */
3811 AuthorizationScopes?: AuthorizationScopes;
3812 /**
3813 * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
3814 */
3815 AuthorizationType?: AuthorizationType;
3816 /**
3817 * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
3818 */
3819 AuthorizerId?: Id;
3820 /**
3821 * The model selection expression for the route. Supported only for WebSocket APIs.
3822 */
3823 ModelSelectionExpression?: SelectionExpression;
3824 /**
3825 * The operation name for the route.
3826 */
3827 OperationName?: StringWithLengthBetween1And64;
3828 /**
3829 * The request models for the route. Supported only for WebSocket APIs.
3830 */
3831 RequestModels?: RouteModels;
3832 /**
3833 * The request parameters for the route. Supported only for WebSocket APIs.
3834 */
3835 RequestParameters?: RouteParameters;
3836 /**
3837 * The route ID.
3838 */
3839 RouteId: __string;
3840 /**
3841 * The route key for the route.
3842 */
3843 RouteKey?: SelectionKey;
3844 /**
3845 * The route response selection expression for the route. Supported only for WebSocket APIs.
3846 */
3847 RouteResponseSelectionExpression?: SelectionExpression;
3848 /**
3849 * The target for the route.
3850 */
3851 Target?: StringWithLengthBetween1And128;
3852 }
3853 export interface UpdateRouteResult {
3854 /**
3855 * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
3856 */
3857 ApiGatewayManaged?: __boolean;
3858 /**
3859 * Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
3860 */
3861 ApiKeyRequired?: __boolean;
3862 /**
3863 * A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
3864 */
3865 AuthorizationScopes?: AuthorizationScopes;
3866 /**
3867 * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
3868 */
3869 AuthorizationType?: AuthorizationType;
3870 /**
3871 * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
3872 */
3873 AuthorizerId?: Id;
3874 /**
3875 * The model selection expression for the route. Supported only for WebSocket APIs.
3876 */
3877 ModelSelectionExpression?: SelectionExpression;
3878 /**
3879 * The operation name for the route.
3880 */
3881 OperationName?: StringWithLengthBetween1And64;
3882 /**
3883 * The request models for the route. Supported only for WebSocket APIs.
3884 */
3885 RequestModels?: RouteModels;
3886 /**
3887 * The request parameters for the route. Supported only for WebSocket APIs.
3888 */
3889 RequestParameters?: RouteParameters;
3890 /**
3891 * The route ID.
3892 */
3893 RouteId?: Id;
3894 /**
3895 * The route key for the route.
3896 */
3897 RouteKey?: SelectionKey;
3898 /**
3899 * The route response selection expression for the route. Supported only for WebSocket APIs.
3900 */
3901 RouteResponseSelectionExpression?: SelectionExpression;
3902 /**
3903 * The target for the route.
3904 */
3905 Target?: StringWithLengthBetween1And128;
3906 }
3907 export interface UpdateRouteResponseRequest {
3908 /**
3909 * The API identifier.
3910 */
3911 ApiId: __string;
3912 /**
3913 * The model selection expression for the route response. Supported only for WebSocket APIs.
3914 */
3915 ModelSelectionExpression?: SelectionExpression;
3916 /**
3917 * The response models for the route response.
3918 */
3919 ResponseModels?: RouteModels;
3920 /**
3921 * The route response parameters.
3922 */
3923 ResponseParameters?: RouteParameters;
3924 /**
3925 * The route ID.
3926 */
3927 RouteId: __string;
3928 /**
3929 * The route response ID.
3930 */
3931 RouteResponseId: __string;
3932 /**
3933 * The route response key.
3934 */
3935 RouteResponseKey?: SelectionKey;
3936 }
3937 export interface UpdateRouteResponseResponse {
3938 /**
3939 * Represents the model selection expression of a route response. Supported only for WebSocket APIs.
3940 */
3941 ModelSelectionExpression?: SelectionExpression;
3942 /**
3943 * Represents the response models of a route response.
3944 */
3945 ResponseModels?: RouteModels;
3946 /**
3947 * Represents the response parameters of a route response.
3948 */
3949 ResponseParameters?: RouteParameters;
3950 /**
3951 * Represents the identifier of a route response.
3952 */
3953 RouteResponseId?: Id;
3954 /**
3955 * Represents the route response key of a route response.
3956 */
3957 RouteResponseKey?: SelectionKey;
3958 }
3959 export interface UpdateStageRequest {
3960 /**
3961 * Settings for logging access in this stage.
3962 */
3963 AccessLogSettings?: AccessLogSettings;
3964 /**
3965 * The API identifier.
3966 */
3967 ApiId: __string;
3968 /**
3969 * Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
3970 */
3971 AutoDeploy?: __boolean;
3972 /**
3973 * The identifier of a client certificate for a Stage.
3974 */
3975 ClientCertificateId?: Id;
3976 /**
3977 * The default route settings for the stage.
3978 */
3979 DefaultRouteSettings?: RouteSettings;
3980 /**
3981 * The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.
3982 */
3983 DeploymentId?: Id;
3984 /**
3985 * The description for the API stage.
3986 */
3987 Description?: StringWithLengthBetween0And1024;
3988 /**
3989 * Route settings for the stage.
3990 */
3991 RouteSettings?: RouteSettingsMap;
3992 /**
3993 * The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
3994 */
3995 StageName: __string;
3996 /**
3997 * A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
3998 */
3999 StageVariables?: StageVariablesMap;
4000 }
4001 export interface UpdateStageResponse {
4002 /**
4003 * Settings for logging access in this stage.
4004 */
4005 AccessLogSettings?: AccessLogSettings;
4006 /**
4007 * Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
4008 */
4009 ApiGatewayManaged?: __boolean;
4010 /**
4011 * Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
4012 */
4013 AutoDeploy?: __boolean;
4014 /**
4015 * The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
4016 */
4017 ClientCertificateId?: Id;
4018 /**
4019 * The timestamp when the stage was created.
4020 */
4021 CreatedDate?: __timestampIso8601;
4022 /**
4023 * Default route settings for the stage.
4024 */
4025 DefaultRouteSettings?: RouteSettings;
4026 /**
4027 * The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
4028 */
4029 DeploymentId?: Id;
4030 /**
4031 * The description of the stage.
4032 */
4033 Description?: StringWithLengthBetween0And1024;
4034 /**
4035 * Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
4036 */
4037 LastDeploymentStatusMessage?: __string;
4038 /**
4039 * The timestamp when the stage was last updated.
4040 */
4041 LastUpdatedDate?: __timestampIso8601;
4042 /**
4043 * Route settings for the stage, by routeKey.
4044 */
4045 RouteSettings?: RouteSettingsMap;
4046 /**
4047 * The name of the stage.
4048 */
4049 StageName?: StringWithLengthBetween1And128;
4050 /**
4051 * A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
4052 */
4053 StageVariables?: StageVariablesMap;
4054 /**
4055 * The collection of tags. Each tag element is associated with a given resource.
4056 */
4057 Tags?: Tags;
4058 }
4059 export interface UpdateVpcLinkRequest {
4060 /**
4061 * The name of the VPC link.
4062 */
4063 Name?: StringWithLengthBetween1And128;
4064 /**
4065 * The ID of the VPC link.
4066 */
4067 VpcLinkId: __string;
4068 }
4069 export interface UpdateVpcLinkResponse {
4070 /**
4071 * The timestamp when the VPC link was created.
4072 */
4073 CreatedDate?: __timestampIso8601;
4074 /**
4075 * The name of the VPC link.
4076 */
4077 Name?: StringWithLengthBetween1And128;
4078 /**
4079 * A list of security group IDs for the VPC link.
4080 */
4081 SecurityGroupIds?: SecurityGroupIdList;
4082 /**
4083 * A list of subnet IDs to include in the VPC link.
4084 */
4085 SubnetIds?: SubnetIdList;
4086 /**
4087 * Tags for the VPC link.
4088 */
4089 Tags?: Tags;
4090 /**
4091 * The ID of the VPC link.
4092 */
4093 VpcLinkId?: Id;
4094 /**
4095 * The status of the VPC link.
4096 */
4097 VpcLinkStatus?: VpcLinkStatus;
4098 /**
4099 * A message summarizing the cause of the status of the VPC link.
4100 */
4101 VpcLinkStatusMessage?: StringWithLengthBetween0And1024;
4102 /**
4103 * The version of the VPC link.
4104 */
4105 VpcLinkVersion?: VpcLinkVersion;
4106 }
4107 export type UriWithLengthBetween1And2048 = string;
4108 export interface VpcLink {
4109 /**
4110 * The timestamp when the VPC link was created.
4111 */
4112 CreatedDate?: __timestampIso8601;
4113 /**
4114 * The name of the VPC link.
4115 */
4116 Name: StringWithLengthBetween1And128;
4117 /**
4118 * A list of security group IDs for the VPC link.
4119 */
4120 SecurityGroupIds: SecurityGroupIdList;
4121 /**
4122 * A list of subnet IDs to include in the VPC link.
4123 */
4124 SubnetIds: SubnetIdList;
4125 /**
4126 * Tags for the VPC link.
4127 */
4128 Tags?: Tags;
4129 /**
4130 * The ID of the VPC link.
4131 */
4132 VpcLinkId: Id;
4133 /**
4134 * The status of the VPC link.
4135 */
4136 VpcLinkStatus?: VpcLinkStatus;
4137 /**
4138 * A message summarizing the cause of the status of the VPC link.
4139 */
4140 VpcLinkStatusMessage?: StringWithLengthBetween0And1024;
4141 /**
4142 * The version of the VPC link.
4143 */
4144 VpcLinkVersion?: VpcLinkVersion;
4145 }
4146 export type VpcLinkStatus = "PENDING"|"AVAILABLE"|"DELETING"|"FAILED"|"INACTIVE"|string;
4147 export type VpcLinkVersion = "V2"|string;
4148 export type __boolean = boolean;
4149 export type __double = number;
4150 export type __integer = number;
4151 export type __listOfApi = Api[];
4152 export type __listOfApiMapping = ApiMapping[];
4153 export type __listOfAuthorizer = Authorizer[];
4154 export type __listOfDeployment = Deployment[];
4155 export type __listOfDomainName = DomainName[];
4156 export type __listOfIntegration = Integration[];
4157 export type __listOfIntegrationResponse = IntegrationResponse[];
4158 export type __listOfModel = Model[];
4159 export type __listOfRoute = Route[];
4160 export type __listOfRouteResponse = RouteResponse[];
4161 export type __listOfStage = Stage[];
4162 export type __listOfVpcLink = VpcLink[];
4163 export type __listOf__string = __string[];
4164 export type __string = string;
4165 export type __timestampIso8601 = Date;
4166 /**
4167 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
4168 */
4169 export type apiVersion = "2018-11-29"|"latest"|string;
4170 export interface ClientApiVersions {
4171 /**
4172 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
4173 */
4174 apiVersion?: apiVersion;
4175 }
4176 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
4177 /**
4178 * Contains interfaces for use with the ApiGatewayV2 client.
4179 */
4180 export import Types = ApiGatewayV2;
4181}
4182export = ApiGatewayV2;