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 &lt;action&gt;:&lt;header|querystring|path&gt;.&lt;location&gt; 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 &lt;action&gt;:&lt;header&gt;.&lt;location&gt; 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 &lt;action&gt;:&lt;header|querystring|path&gt;.&lt;location&gt;. 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 &lt;action&gt;:&lt;header&gt;.&lt;location&gt; 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-._~:/?#&amp;=,]+.
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-._~:/?#&amp;=,]+.
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 &lt;action&gt;:&lt;header|querystring|path&gt;.&lt;location&gt;. 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 &lt;action&gt;:&lt;header&gt;.&lt;location&gt; 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-._~:/?#&amp;=,]+.
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 &lt;action&gt;:&lt;header|querystring|path&gt;.&lt;location&gt;. 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 &lt;action&gt;:&lt;header&gt;.&lt;location&gt; 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-._~:/?#&amp;=,]+.
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 &lt;action&gt;:&lt;header|querystring|path&gt;.&lt;location&gt; 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 &lt;action&gt;:&lt;header&gt;.&lt;location&gt; 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 &lt;action&gt;:&lt;header|querystring|path&gt;.&lt;location&gt;. 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 &lt;action&gt;:&lt;header&gt;.&lt;location&gt; 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-._~:/?#&amp;=,]+.
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-._~:/?#&amp;=,]+.
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;