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