universal-s3
Version: 
Universal S3 SDK for JavaScript, available for Node.js backends
1,125 lines • 151 kB
TypeScript
import {Request} from '../lib/request';
import {Response} from '../lib/response';
import {AWSError} from '../lib/error';
import {Service} from '../lib/service';
import {ServiceConfigurationOptions} from '../lib/service';
import {ConfigBase as Config} from '../lib/config';
interface Blob {}
declare class ApiGatewayV2 extends Service {
  /**
   * Constructs a service object. This object has one method for each API operation.
   */
  constructor(options?: ApiGatewayV2.Types.ClientConfiguration)
  config: Config & ApiGatewayV2.Types.ClientConfiguration;
  /**
   * Creates an Api resource.
   */
  createApi(params: ApiGatewayV2.Types.CreateApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiResponse) => void): Request<ApiGatewayV2.Types.CreateApiResponse, AWSError>;
  /**
   * Creates an Api resource.
   */
  createApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiResponse) => void): Request<ApiGatewayV2.Types.CreateApiResponse, AWSError>;
  /**
   * Creates an API mapping.
   */
  createApiMapping(params: ApiGatewayV2.Types.CreateApiMappingRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiMappingResponse) => void): Request<ApiGatewayV2.Types.CreateApiMappingResponse, AWSError>;
  /**
   * Creates an API mapping.
   */
  createApiMapping(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateApiMappingResponse) => void): Request<ApiGatewayV2.Types.CreateApiMappingResponse, AWSError>;
  /**
   * Creates an Authorizer for an API.
   */
  createAuthorizer(params: ApiGatewayV2.Types.CreateAuthorizerRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.CreateAuthorizerResponse, AWSError>;
  /**
   * Creates an Authorizer for an API.
   */
  createAuthorizer(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.CreateAuthorizerResponse, AWSError>;
  /**
   * Creates a Deployment for an API.
   */
  createDeployment(params: ApiGatewayV2.Types.CreateDeploymentRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDeploymentResponse) => void): Request<ApiGatewayV2.Types.CreateDeploymentResponse, AWSError>;
  /**
   * Creates a Deployment for an API.
   */
  createDeployment(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDeploymentResponse) => void): Request<ApiGatewayV2.Types.CreateDeploymentResponse, AWSError>;
  /**
   * Creates a domain name.
   */
  createDomainName(params: ApiGatewayV2.Types.CreateDomainNameRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDomainNameResponse) => void): Request<ApiGatewayV2.Types.CreateDomainNameResponse, AWSError>;
  /**
   * Creates a domain name.
   */
  createDomainName(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateDomainNameResponse) => void): Request<ApiGatewayV2.Types.CreateDomainNameResponse, AWSError>;
  /**
   * Creates an Integration.
   */
  createIntegration(params: ApiGatewayV2.Types.CreateIntegrationRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResponse) => void): Request<ApiGatewayV2.Types.CreateIntegrationResponse, AWSError>;
  /**
   * Creates an Integration.
   */
  createIntegration(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResponse) => void): Request<ApiGatewayV2.Types.CreateIntegrationResponse, AWSError>;
  /**
   * Creates an IntegrationResponses.
   */
  createIntegrationResponse(params: ApiGatewayV2.Types.CreateIntegrationResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.CreateIntegrationResponseResponse, AWSError>;
  /**
   * Creates an IntegrationResponses.
   */
  createIntegrationResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.CreateIntegrationResponseResponse, AWSError>;
  /**
   * Creates a Model for an API.
   */
  createModel(params: ApiGatewayV2.Types.CreateModelRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateModelResponse) => void): Request<ApiGatewayV2.Types.CreateModelResponse, AWSError>;
  /**
   * Creates a Model for an API.
   */
  createModel(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateModelResponse) => void): Request<ApiGatewayV2.Types.CreateModelResponse, AWSError>;
  /**
   * Creates a Route for an API.
   */
  createRoute(params: ApiGatewayV2.Types.CreateRouteRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResponse) => void): Request<ApiGatewayV2.Types.CreateRouteResponse, AWSError>;
  /**
   * Creates a Route for an API.
   */
  createRoute(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResponse) => void): Request<ApiGatewayV2.Types.CreateRouteResponse, AWSError>;
  /**
   * Creates a RouteResponse for a Route.
   */
  createRouteResponse(params: ApiGatewayV2.Types.CreateRouteResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.CreateRouteResponseResponse, AWSError>;
  /**
   * Creates a RouteResponse for a Route.
   */
  createRouteResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.CreateRouteResponseResponse, AWSError>;
  /**
   * Creates a Stage for an API.
   */
  createStage(params: ApiGatewayV2.Types.CreateStageRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateStageResponse) => void): Request<ApiGatewayV2.Types.CreateStageResponse, AWSError>;
  /**
   * Creates a Stage for an API.
   */
  createStage(callback?: (err: AWSError, data: ApiGatewayV2.Types.CreateStageResponse) => void): Request<ApiGatewayV2.Types.CreateStageResponse, AWSError>;
  /**
   * Deletes an Api resource.
   */
  deleteApi(params: ApiGatewayV2.Types.DeleteApiRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an Api resource.
   */
  deleteApi(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an API mapping.
   */
  deleteApiMapping(params: ApiGatewayV2.Types.DeleteApiMappingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an API mapping.
   */
  deleteApiMapping(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an Authorizer.
   */
  deleteAuthorizer(params: ApiGatewayV2.Types.DeleteAuthorizerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an Authorizer.
   */
  deleteAuthorizer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Deployment.
   */
  deleteDeployment(params: ApiGatewayV2.Types.DeleteDeploymentRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Deployment.
   */
  deleteDeployment(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a domain name.
   */
  deleteDomainName(params: ApiGatewayV2.Types.DeleteDomainNameRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a domain name.
   */
  deleteDomainName(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an Integration.
   */
  deleteIntegration(params: ApiGatewayV2.Types.DeleteIntegrationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an Integration.
   */
  deleteIntegration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an IntegrationResponses.
   */
  deleteIntegrationResponse(params: ApiGatewayV2.Types.DeleteIntegrationResponseRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes an IntegrationResponses.
   */
  deleteIntegrationResponse(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Model.
   */
  deleteModel(params: ApiGatewayV2.Types.DeleteModelRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Model.
   */
  deleteModel(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Route.
   */
  deleteRoute(params: ApiGatewayV2.Types.DeleteRouteRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Route.
   */
  deleteRoute(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a RouteResponse.
   */
  deleteRouteResponse(params: ApiGatewayV2.Types.DeleteRouteResponseRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a RouteResponse.
   */
  deleteRouteResponse(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Stage.
   */
  deleteStage(params: ApiGatewayV2.Types.DeleteStageRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Deletes a Stage.
   */
  deleteStage(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Gets an Api resource.
   */
  getApi(params: ApiGatewayV2.Types.GetApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiResponse) => void): Request<ApiGatewayV2.Types.GetApiResponse, AWSError>;
  /**
   * Gets an Api resource.
   */
  getApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiResponse) => void): Request<ApiGatewayV2.Types.GetApiResponse, AWSError>;
  /**
   * The API mapping.
   */
  getApiMapping(params: ApiGatewayV2.Types.GetApiMappingRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingResponse, AWSError>;
  /**
   * The API mapping.
   */
  getApiMapping(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingResponse, AWSError>;
  /**
   * The API mappings.
   */
  getApiMappings(params: ApiGatewayV2.Types.GetApiMappingsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingsResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingsResponse, AWSError>;
  /**
   * The API mappings.
   */
  getApiMappings(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApiMappingsResponse) => void): Request<ApiGatewayV2.Types.GetApiMappingsResponse, AWSError>;
  /**
   * Gets a collection of Api resources.
   */
  getApis(params: ApiGatewayV2.Types.GetApisRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApisResponse) => void): Request<ApiGatewayV2.Types.GetApisResponse, AWSError>;
  /**
   * Gets a collection of Api resources.
   */
  getApis(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetApisResponse) => void): Request<ApiGatewayV2.Types.GetApisResponse, AWSError>;
  /**
   * Gets an Authorizer.
   */
  getAuthorizer(params: ApiGatewayV2.Types.GetAuthorizerRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizerResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizerResponse, AWSError>;
  /**
   * Gets an Authorizer.
   */
  getAuthorizer(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizerResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizerResponse, AWSError>;
  /**
   * Gets the Authorizers for an API.
   */
  getAuthorizers(params: ApiGatewayV2.Types.GetAuthorizersRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizersResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizersResponse, AWSError>;
  /**
   * Gets the Authorizers for an API.
   */
  getAuthorizers(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetAuthorizersResponse) => void): Request<ApiGatewayV2.Types.GetAuthorizersResponse, AWSError>;
  /**
   * Gets a Deployment.
   */
  getDeployment(params: ApiGatewayV2.Types.GetDeploymentRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentResponse, AWSError>;
  /**
   * Gets a Deployment.
   */
  getDeployment(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentResponse, AWSError>;
  /**
   * Gets the Deployments for an API.
   */
  getDeployments(params: ApiGatewayV2.Types.GetDeploymentsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentsResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentsResponse, AWSError>;
  /**
   * Gets the Deployments for an API.
   */
  getDeployments(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDeploymentsResponse) => void): Request<ApiGatewayV2.Types.GetDeploymentsResponse, AWSError>;
  /**
   * Gets a domain name.
   */
  getDomainName(params: ApiGatewayV2.Types.GetDomainNameRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNameResponse) => void): Request<ApiGatewayV2.Types.GetDomainNameResponse, AWSError>;
  /**
   * Gets a domain name.
   */
  getDomainName(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNameResponse) => void): Request<ApiGatewayV2.Types.GetDomainNameResponse, AWSError>;
  /**
   * Gets the domain names for an AWS account.
   */
  getDomainNames(params: ApiGatewayV2.Types.GetDomainNamesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNamesResponse) => void): Request<ApiGatewayV2.Types.GetDomainNamesResponse, AWSError>;
  /**
   * Gets the domain names for an AWS account.
   */
  getDomainNames(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetDomainNamesResponse) => void): Request<ApiGatewayV2.Types.GetDomainNamesResponse, AWSError>;
  /**
   * Gets an Integration.
   */
  getIntegration(params: ApiGatewayV2.Types.GetIntegrationRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponse, AWSError>;
  /**
   * Gets an Integration.
   */
  getIntegration(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponse, AWSError>;
  /**
   * Gets an IntegrationResponses.
   */
  getIntegrationResponse(params: ApiGatewayV2.Types.GetIntegrationResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponseResponse, AWSError>;
  /**
   * Gets an IntegrationResponses.
   */
  getIntegrationResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponseResponse, AWSError>;
  /**
   * Gets the IntegrationResponses for an Integration.
   */
  getIntegrationResponses(params: ApiGatewayV2.Types.GetIntegrationResponsesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponsesResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponsesResponse, AWSError>;
  /**
   * Gets the IntegrationResponses for an Integration.
   */
  getIntegrationResponses(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationResponsesResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationResponsesResponse, AWSError>;
  /**
   * Gets the Integrations for an API.
   */
  getIntegrations(params: ApiGatewayV2.Types.GetIntegrationsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationsResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationsResponse, AWSError>;
  /**
   * Gets the Integrations for an API.
   */
  getIntegrations(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetIntegrationsResponse) => void): Request<ApiGatewayV2.Types.GetIntegrationsResponse, AWSError>;
  /**
   * Gets a Model.
   */
  getModel(params: ApiGatewayV2.Types.GetModelRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelResponse) => void): Request<ApiGatewayV2.Types.GetModelResponse, AWSError>;
  /**
   * Gets a Model.
   */
  getModel(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelResponse) => void): Request<ApiGatewayV2.Types.GetModelResponse, AWSError>;
  /**
   * Gets a model template.
   */
  getModelTemplate(params: ApiGatewayV2.Types.GetModelTemplateRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelTemplateResponse) => void): Request<ApiGatewayV2.Types.GetModelTemplateResponse, AWSError>;
  /**
   * Gets a model template.
   */
  getModelTemplate(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelTemplateResponse) => void): Request<ApiGatewayV2.Types.GetModelTemplateResponse, AWSError>;
  /**
   * Gets the Models for an API.
   */
  getModels(params: ApiGatewayV2.Types.GetModelsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelsResponse) => void): Request<ApiGatewayV2.Types.GetModelsResponse, AWSError>;
  /**
   * Gets the Models for an API.
   */
  getModels(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetModelsResponse) => void): Request<ApiGatewayV2.Types.GetModelsResponse, AWSError>;
  /**
   * Gets a Route.
   */
  getRoute(params: ApiGatewayV2.Types.GetRouteRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponse, AWSError>;
  /**
   * Gets a Route.
   */
  getRoute(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponse, AWSError>;
  /**
   * Gets a RouteResponse.
   */
  getRouteResponse(params: ApiGatewayV2.Types.GetRouteResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponseResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponseResponse, AWSError>;
  /**
   * Gets a RouteResponse.
   */
  getRouteResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponseResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponseResponse, AWSError>;
  /**
   * Gets the RouteResponses for a Route.
   */
  getRouteResponses(params: ApiGatewayV2.Types.GetRouteResponsesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponsesResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponsesResponse, AWSError>;
  /**
   * Gets the RouteResponses for a Route.
   */
  getRouteResponses(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRouteResponsesResponse) => void): Request<ApiGatewayV2.Types.GetRouteResponsesResponse, AWSError>;
  /**
   * Gets the Routes for an API.
   */
  getRoutes(params: ApiGatewayV2.Types.GetRoutesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRoutesResponse) => void): Request<ApiGatewayV2.Types.GetRoutesResponse, AWSError>;
  /**
   * Gets the Routes for an API.
   */
  getRoutes(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetRoutesResponse) => void): Request<ApiGatewayV2.Types.GetRoutesResponse, AWSError>;
  /**
   * Gets a Stage.
   */
  getStage(params: ApiGatewayV2.Types.GetStageRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStageResponse) => void): Request<ApiGatewayV2.Types.GetStageResponse, AWSError>;
  /**
   * Gets a Stage.
   */
  getStage(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStageResponse) => void): Request<ApiGatewayV2.Types.GetStageResponse, AWSError>;
  /**
   * Gets the Stages for an API.
   */
  getStages(params: ApiGatewayV2.Types.GetStagesRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStagesResponse) => void): Request<ApiGatewayV2.Types.GetStagesResponse, AWSError>;
  /**
   * Gets the Stages for an API.
   */
  getStages(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetStagesResponse) => void): Request<ApiGatewayV2.Types.GetStagesResponse, AWSError>;
  /**
   * Gets the Tags for an API.
   */
  getTags(params: ApiGatewayV2.Types.GetTagsRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.GetTagsResponse) => void): Request<ApiGatewayV2.Types.GetTagsResponse, AWSError>;
  /**
   * Gets the Tags for an API.
   */
  getTags(callback?: (err: AWSError, data: ApiGatewayV2.Types.GetTagsResponse) => void): Request<ApiGatewayV2.Types.GetTagsResponse, AWSError>;
  /**
   * Tag an APIGW resource
   */
  tagResource(params: ApiGatewayV2.Types.TagResourceRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.TagResourceResponse) => void): Request<ApiGatewayV2.Types.TagResourceResponse, AWSError>;
  /**
   * Tag an APIGW resource
   */
  tagResource(callback?: (err: AWSError, data: ApiGatewayV2.Types.TagResourceResponse) => void): Request<ApiGatewayV2.Types.TagResourceResponse, AWSError>;
  /**
   * Untag an APIGW resource
   */
  untagResource(params: ApiGatewayV2.Types.UntagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Untag an APIGW resource
   */
  untagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
  /**
   * Updates an Api resource.
   */
  updateApi(params: ApiGatewayV2.Types.UpdateApiRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiResponse) => void): Request<ApiGatewayV2.Types.UpdateApiResponse, AWSError>;
  /**
   * Updates an Api resource.
   */
  updateApi(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiResponse) => void): Request<ApiGatewayV2.Types.UpdateApiResponse, AWSError>;
  /**
   * The API mapping.
   */
  updateApiMapping(params: ApiGatewayV2.Types.UpdateApiMappingRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiMappingResponse) => void): Request<ApiGatewayV2.Types.UpdateApiMappingResponse, AWSError>;
  /**
   * The API mapping.
   */
  updateApiMapping(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateApiMappingResponse) => void): Request<ApiGatewayV2.Types.UpdateApiMappingResponse, AWSError>;
  /**
   * Updates an Authorizer.
   */
  updateAuthorizer(params: ApiGatewayV2.Types.UpdateAuthorizerRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.UpdateAuthorizerResponse, AWSError>;
  /**
   * Updates an Authorizer.
   */
  updateAuthorizer(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateAuthorizerResponse) => void): Request<ApiGatewayV2.Types.UpdateAuthorizerResponse, AWSError>;
  /**
   * Updates a Deployment.
   */
  updateDeployment(params: ApiGatewayV2.Types.UpdateDeploymentRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDeploymentResponse) => void): Request<ApiGatewayV2.Types.UpdateDeploymentResponse, AWSError>;
  /**
   * Updates a Deployment.
   */
  updateDeployment(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDeploymentResponse) => void): Request<ApiGatewayV2.Types.UpdateDeploymentResponse, AWSError>;
  /**
   * Updates a domain name.
   */
  updateDomainName(params: ApiGatewayV2.Types.UpdateDomainNameRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDomainNameResponse) => void): Request<ApiGatewayV2.Types.UpdateDomainNameResponse, AWSError>;
  /**
   * Updates a domain name.
   */
  updateDomainName(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateDomainNameResponse) => void): Request<ApiGatewayV2.Types.UpdateDomainNameResponse, AWSError>;
  /**
   * Updates an Integration.
   */
  updateIntegration(params: ApiGatewayV2.Types.UpdateIntegrationRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResponse) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResponse, AWSError>;
  /**
   * Updates an Integration.
   */
  updateIntegration(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResponse) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResponse, AWSError>;
  /**
   * Updates an IntegrationResponses.
   */
  updateIntegrationResponse(params: ApiGatewayV2.Types.UpdateIntegrationResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResponseResponse, AWSError>;
  /**
   * Updates an IntegrationResponses.
   */
  updateIntegrationResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateIntegrationResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateIntegrationResponseResponse, AWSError>;
  /**
   * Updates a Model.
   */
  updateModel(params: ApiGatewayV2.Types.UpdateModelRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateModelResponse) => void): Request<ApiGatewayV2.Types.UpdateModelResponse, AWSError>;
  /**
   * Updates a Model.
   */
  updateModel(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateModelResponse) => void): Request<ApiGatewayV2.Types.UpdateModelResponse, AWSError>;
  /**
   * Updates a Route.
   */
  updateRoute(params: ApiGatewayV2.Types.UpdateRouteRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResponse) => void): Request<ApiGatewayV2.Types.UpdateRouteResponse, AWSError>;
  /**
   * Updates a Route.
   */
  updateRoute(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResponse) => void): Request<ApiGatewayV2.Types.UpdateRouteResponse, AWSError>;
  /**
   * Updates a RouteResponse.
   */
  updateRouteResponse(params: ApiGatewayV2.Types.UpdateRouteResponseRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateRouteResponseResponse, AWSError>;
  /**
   * Updates a RouteResponse.
   */
  updateRouteResponse(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateRouteResponseResponse) => void): Request<ApiGatewayV2.Types.UpdateRouteResponseResponse, AWSError>;
  /**
   * Updates a Stage.
   */
  updateStage(params: ApiGatewayV2.Types.UpdateStageRequest, callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateStageResponse) => void): Request<ApiGatewayV2.Types.UpdateStageResponse, AWSError>;
  /**
   * Updates a Stage.
   */
  updateStage(callback?: (err: AWSError, data: ApiGatewayV2.Types.UpdateStageResponse) => void): Request<ApiGatewayV2.Types.UpdateStageResponse, AWSError>;
}
declare namespace ApiGatewayV2 {
  export interface AccessLogSettings {
    /**
     * The ARN of the CloudWatch Logs log group to receive access logs.
     */
    DestinationArn?: Arn;
    /**
     * A single line format of the access logs of data, as specified by selected $context
 variables. The format must include at least $context.requestId.
     */
    Format?: StringWithLengthBetween1And1024;
  }
  export interface Api {
    /**
     * 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.
     */
    ApiEndpoint?: __string;
    /**
     * The API ID.
     */
    ApiId?: Id;
    /**
     * An API key selection expression. See API Key Selection Expressions.
     */
    ApiKeySelectionExpression?: SelectionExpression;
    /**
     * The timestamp when the API was created.
     */
    CreatedDate?: __timestampIso8601;
    /**
     * The description of the API.
     */
    Description?: StringWithLengthBetween0And1024;
    /**
     * Avoid validating models when creating a deployment.
     */
    DisableSchemaValidation?: __boolean;
    /**
     * The name of the API.
     */
    Name: StringWithLengthBetween1And128;
    /**
     * The API protocol: Currently only WEBSOCKET is supported.
     */
    ProtocolType: ProtocolType;
    /**
     * The route selection expression for the API.
     */
    RouteSelectionExpression: SelectionExpression;
    /**
     * A version identifier for the API.
     */
    Version?: StringWithLengthBetween1And64;
    /**
     * The warning messages reported when failonwarnings is turned on during
 API import.
     */
    Warnings?: __listOf__string;
    /**
     * The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters..
     */
    Tags?: Tags;
  }
  export interface ApiMapping {
    /**
     * The API identifier.
     */
    ApiId: Id;
    /**
     * The API mapping identifier.
     */
    ApiMappingId?: Id;
    /**
     * The API mapping key.
     */
    ApiMappingKey?: SelectionKey;
    /**
     * The API stage.
     */
    Stage: StringWithLengthBetween1And128;
  }
  export type Arn = string;
  export type AuthorizationScopes = StringWithLengthBetween1And64[];
  export type AuthorizationType = "NONE"|"AWS_IAM"|"CUSTOM"|string;
  export interface Authorizer {
    /**
     * Specifies the required credentials as an IAM role for API Gateway to invoke the
 authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon
 Resource Name (ARN). To use resource-based permissions on the Lambda function,
 specify null.
     */
    AuthorizerCredentialsArn?: Arn;
    /**
     * The authorizer identifier.
     */
    AuthorizerId?: Id;
    /**
     * The time to live (TTL), in seconds, of cached authorizer results. If it equals 0,
 authorization caching is disabled. If it is greater than 0, API Gateway will cache
 authorizer responses. If this field is not set, the default value is 300. The maximum
 value is 3600, or 1 hour.
     */
    AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
    /**
     * The authorizer type. Currently the only valid value is REQUEST, for a
 Lambda function using incoming request parameters.
     */
    AuthorizerType?: AuthorizerType;
    /**
     * The authorizer's Uniform Resource Identifier (URI).
 ForREQUEST authorizers, this must be a
 well-formed Lambda function URI, for example,
 arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations.
 In general, the URI has this form:
 arn:aws:apigateway:{region}:lambda:path/{service_api}
 , 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.
     */
    AuthorizerUri?: UriWithLengthBetween1And2048;
    /**
     * The identity source for which authorization is requested.For the REQUEST authorizer, this is required when authorization
 caching is enabled. The value is a comma-separated string of one or more mapping
 expressions of the specified request parameters. For example, if an Auth
 header and a Name query string parameters are defined as identity
 sources, this value is method.request.header.Auth,
 method.request.querystring.Name. These parameters will be used to
 derive the authorization caching key and to perform runtime validation of the
 REQUEST authorizer by verifying all of the identity-related request
 parameters are present, 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. The valid value
 is a string of comma-separated mapping expressions of the specified request
 parameters. When the authorization caching is not enabled, this property is
 optional.
     */
    IdentitySource?: IdentitySourceList;
    /**
     * The
 validation expression does not apply to the REQUEST authorizer.
     */
    IdentityValidationExpression?: StringWithLengthBetween0And1024;
    /**
     * The name of the authorizer.
     */
    Name: StringWithLengthBetween1And128;
    /**
     * For
 REQUEST authorizer, this is not
 defined.
     */
    ProviderArns?: ProviderArnList;
  }
  export type AuthorizerType = "REQUEST"|string;
  export type ConnectionType = "INTERNET"|"VPC_LINK"|string;
  export type ContentHandlingStrategy = "CONVERT_TO_BINARY"|"CONVERT_TO_TEXT"|string;
  export interface CreateApiMappingRequest {
    /**
     * The API identifier.
     */
    ApiId: Id;
    ApiMappingKey?: SelectionKey;
    /**
     * The domain name.
     */
    DomainName: __string;
    /**
     * The API stage.
     */
    Stage: StringWithLengthBetween1And128;
  }
  export interface CreateApiMappingResponse {
    /**
     * The API identifier.
     */
    ApiId?: Id;
    /**
     * The API mapping identifier.
     */
    ApiMappingId?: Id;
    /**
     * The API mapping key.
     */
    ApiMappingKey?: SelectionKey;
    /**
     * The API stage.
     */
    Stage?: StringWithLengthBetween1And128;
  }
  export interface CreateApiRequest {
    /**
     * An API key selection expression. See API Key Selection Expressions.
     */
    ApiKeySelectionExpression?: SelectionExpression;
    /**
     * The description of the API.
     */
    Description?: StringWithLengthBetween0And1024;
    /**
     * Avoid validating models when creating a deployment.
     */
    DisableSchemaValidation?: __boolean;
    /**
     * The name of the API.
     */
    Name: StringWithLengthBetween1And128;
    /**
     * The API protocol: Currently only WEBSOCKET is supported.
     */
    ProtocolType: ProtocolType;
    /**
     * The route selection expression for the API.
     */
    RouteSelectionExpression: SelectionExpression;
    /**
     * A version identifier for the API.
     */
    Version?: StringWithLengthBetween1And64;
    /**
     * The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters..
     */
    Tags?: Tags;
  }
  export interface CreateApiResponse {
    /**
     * 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.
     */
    ApiEndpoint?: __string;
    /**
     * The API ID.
     */
    ApiId?: Id;
    /**
     * An API key selection expression. See API Key Selection Expressions.
     */
    ApiKeySelectionExpression?: SelectionExpression;
    /**
     * The timestamp when the API was created.
     */
    CreatedDate?: __timestampIso8601;
    /**
     * The description of the API.
     */
    Description?: StringWithLengthBetween0And1024;
    /**
     * Avoid validating models when creating a deployment.
     */
    DisableSchemaValidation?: __boolean;
    /**
     * The name of the API.
     */
    Name?: StringWithLengthBetween1And128;
    /**
     * The API protocol: Currently only WEBSOCKET is supported.
     */
    ProtocolType?: ProtocolType;
    /**
     * The route selection expression for the API.
     */
    RouteSelectionExpression?: SelectionExpression;
    /**
     * A version identifier for the API.
     */
    Version?: StringWithLengthBetween1And64;
    /**
     * The warning messages reported when failonwarnings is turned on during
 API import.
     */
    Warnings?: __listOf__string;
    /**
     * The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters..
     */
    Tags?: Tags;
  }
  export interface CreateAuthorizerRequest {
    /**
     * The API identifier.
     */
    ApiId: __string;
    /**
     * Specifies the required credentials as an IAM role for API Gateway to invoke the
 authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon
 Resource Name (ARN). To use resource-based permissions on the Lambda function,
 specify null.
     */
    AuthorizerCredentialsArn?: Arn;
    /**
     * The time to live (TTL), in seconds, of cached authorizer results. If it equals 0,
 authorization caching is disabled. If it is greater than 0, API Gateway will cache
 authorizer responses. If this field is not set, the default value is 300. The maximum
 value is 3600, or 1 hour.
     */
    AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
    /**
     * The authorizer type. Currently the only valid value is REQUEST, for a
 Lambda function using incoming request parameters.
     */
    AuthorizerType: AuthorizerType;
    /**
     * 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}
 , 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.
     */
    AuthorizerUri: UriWithLengthBetween1And2048;
    /**
     * The identity source for which authorization is requested.For the REQUEST authorizer, this is required when authorization
 caching is enabled. The value is a comma-separated string of one or more mapping
 expressions of the specified request parameters. For example, if an Auth
 header and a Name query string parameters are defined as identity
 sources, this value is method.request.header.Auth,
 method.request.querystring.Name. These parameters will be used to
 derive the authorization caching key and to perform runtime validation of the
 REQUEST authorizer by verifying all of the identity-related request
 parameters are present, 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. The valid value
 is a string of comma-separated mapping expressions of the specified request
 parameters. When the authorization caching is not enabled, this property is
 optional.
     */
    IdentitySource: IdentitySourceList;
    /**
     * The
 validation expression does not apply to the REQUEST authorizer.
     */
    IdentityValidationExpression?: StringWithLengthBetween0And1024;
    /**
     * The name of the authorizer.
     */
    Name: StringWithLengthBetween1And128;
    /**
     * For
 REQUEST authorizer, this is not
 defined.
     */
    ProviderArns?: ProviderArnList;
  }
  export interface CreateAuthorizerResponse {
    /**
     * Specifies the required credentials as an IAM role for API Gateway to invoke the
 authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon
 Resource Name (ARN). To use resource-based permissions on the Lambda function,
 specify null.
     */
    AuthorizerCredentialsArn?: Arn;
    /**
     * The authorizer identifier.
     */
    AuthorizerId?: Id;
    /**
     * The time to live (TTL), in seconds, of cached authorizer results. If it equals 0,
 authorization caching is disabled. If it is greater than 0, API Gateway will cache
 authorizer responses. If this field is not set, the default value is 300. The maximum
 value is 3600, or 1 hour.
     */
    AuthorizerResultTtlInSeconds?: IntegerWithLengthBetween0And3600;
    /**
     * The authorizer type. Currently the only valid value is REQUEST, for a
 Lambda function using incoming request parameters.
     */
    AuthorizerType?: AuthorizerType;
    /**
     * The authorizer's Uniform Resource Identifier (URI).
 ForREQUEST authorizers, this must be a
 well-formed Lambda function URI, for example,
 arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations.
 In general, the URI has this form:
 arn:aws:apigateway:{region}:lambda:path/{service_api}
 , 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.
     */
    AuthorizerUri?: UriWithLengthBetween1And2048;
    /**
     * The identity source for which authorization is requested.For the REQUEST authorizer, this is required when authorization
 caching is enabled. The value is a comma-separated string of one or more mapping
 expressions of the specified request parameters. For example, if an Auth
 header and a Name query string parameters are defined as identity
 sources, this value is method.request.header.Auth,
 method.request.querystring.Name. These parameters will be used to
 derive the authorization caching key and to perform runtime validation of the
 REQUEST authorizer by verifying all of the identity-related request
 parameters are present, 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. The valid value
 is a string of comma-separated mapping expressions of the specified request
 parameters. When the authorization caching is not enabled, this property is
 optional.
     */
    IdentitySource?: IdentitySourceList;
    /**
     * The
 validation expression does not apply to the REQUEST authorizer.
     */
    IdentityValidationExpression?: StringWithLengthBetween0And1024;
    /**
     * The name of the authorizer.
     */
    Name?: StringWithLengthBetween1And128;
    /**
     * For
 REQUEST authorizer, this is not
 defined.
     */
    ProviderArns?: ProviderArnList;
  }
  export interface CreateDeploymentRequest {
    /**
     * The API identifier.
     */
    ApiId: __string;
    /**
     * The description for the deployment resource.
     */
    Description?: StringWithLengthBetween0And1024;
    /**
     * The name of the Stage resource for the Deployment
 resource to create.
     */
    StageName?: StringWithLengthBetween1And128;
  }
  export interface CreateDeploymentResponse {
    /**
     * The date and time when the Deployment resource was created.
     */
    CreatedDate?: __timestampIso8601;
    /**
     * The identifier for the deployment.
     */
    DeploymentId?: Id;
    /**
     * The status of the deployment: PENDING, FAILED, or
 SUCCEEDED.
     */
    DeploymentStatus?: DeploymentStatus;
    /**
     * May contain additional feedback on the status of an API deployment.
     */
    DeploymentStatusMessage?: __string;
    /**
     * The description for the deployment.
     */
    Description?: StringWithLengthBetween0And1024;
  }
  export interface CreateDomainNameRequest {
    /**
     * The domain name.
     */
    DomainName: StringWithLengthBetween1And512;
    /**
     * The domain name configurations.
     */
    DomainNameConfigurations?: DomainNameConfigurations;
    /**
     * The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters..
     */
    Tags?: Tags;
  }
  export interface CreateDomainNameResponse {
    /**
     * The API mapping selection expression.
     */
    ApiMappingSelectionExpression?: SelectionExpression;
    /**
     * The name of the DomainName resource.
     */
    DomainName?: StringWithLengthBetween1And512;
    /**
     * The domain name configurations.
     */
    DomainNameConfigurations?: DomainNameConfigurations;
    /**
     * The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters..
     */
    Tags?: Tags;
  }
  export interface CreateIntegrationRequest {
    /**
     * The API identifier.
     */
    ApiId: __string;
    /**
     * The connection ID.
     */
    ConnectionId?: StringWithLengthBetween1And1024;
    /**
     * The type of the network connection to the integration endpoint. Currently the only
 valid value is INTERNET, for connections through the public routable
 internet.
     */
    ConnectionType?: ConnectionType;
    /**
     * 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.
     */
    ContentHandlingStrategy?: ContentHandlingStrategy;
    /**
     * 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.
     */
    CredentialsArn?: Arn;
    /**
     * The description of the integration.
     */
    Description?: StringWithLengthBetween0And1024;
    /**
     * Specifies the integration's HTTP method type.
     */
    IntegrationMethod?: StringWithLengthBetween1And64;
    /**
     * 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.
 AWS_PROXY: for integrating the route or method request with the Lambda
 function-invoking action with the client request passed through as-is. This
 integration is also referred to as Lambda proxy integration.
 HTTP: for integrating the route or method request with an HTTP
 endpoint. This
 integration is also referred to as HTTP custom integration.
 HTTP_PROXY: for integrating 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.
     */
    IntegrationType: IntegrationType;
    /**
     * For a Lambda proxy integration, this is the URI of the Lambda function.
     */
    IntegrationUri?: UriWithLengthBetween1And2048;
    /**
     * 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.
 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.
     */
    PassthroughBehavior?: PassthroughBehavior;
    /**
     * 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}
 , where 
 {location}
  is querystring, path, or header; and 
 {name}
  must be a valid and unique method request parameter name.
     */
    RequestParameters?: IntegrationParameters;
    /**
     * 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.
     */
    RequestTemplates?: TemplateMap;
    /**
     * The template selection expression for the integration.
     */
    TemplateSelectionExpression?: SelectionExpression;
    /**
     * Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000
 milliseconds or 29 seconds.
     */
    TimeoutInMillis?: IntegerWithLengthBetween50And29000;
  }
  export interface CreateIntegrationResponse {
    /**
     * The connection ID.
     */
    ConnectionId?: StringWithLengthBetween1And1024;
    /**
     * The type of the network connection to the integration endpoint. Currently the only
 valid value is INTERNET, for connections through the public routable
 internet.
     */
    ConnectionType?: ConnectionType;
    /**
     * 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.
     */
    ContentHandlingStrategy?: ContentHandlingStrategy;
    /**
     * 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.
     */
    Credentials