{-# LANGUAGE DisambiguateRecordFields #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.ApiGatewayV2.Types -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) module Amazonka.ApiGatewayV2.Types ( -- * Service Configuration defaultService, -- * Errors _AccessDeniedException, _BadRequestException, _ConflictException, _NotFoundException, _TooManyRequestsException, -- * AuthorizationType AuthorizationType (..), -- * AuthorizerType AuthorizerType (..), -- * ConnectionType ConnectionType (..), -- * ContentHandlingStrategy ContentHandlingStrategy (..), -- * DeploymentStatus DeploymentStatus (..), -- * DomainNameStatus DomainNameStatus (..), -- * EndpointType EndpointType (..), -- * IntegrationType IntegrationType (..), -- * LoggingLevel LoggingLevel (..), -- * PassthroughBehavior PassthroughBehavior (..), -- * ProtocolType ProtocolType (..), -- * SecurityPolicy SecurityPolicy (..), -- * VpcLinkStatus VpcLinkStatus (..), -- * VpcLinkVersion VpcLinkVersion (..), -- * AccessLogSettings AccessLogSettings (..), newAccessLogSettings, accessLogSettings_destinationArn, accessLogSettings_format, -- * Api Api (..), newApi, api_apiEndpoint, api_apiGatewayManaged, api_apiId, api_apiKeySelectionExpression, api_corsConfiguration, api_createdDate, api_description, api_disableExecuteApiEndpoint, api_disableSchemaValidation, api_importInfo, api_tags, api_version, api_warnings, api_routeSelectionExpression, api_name, api_protocolType, -- * ApiMapping ApiMapping (..), newApiMapping, apiMapping_apiMappingId, apiMapping_apiMappingKey, apiMapping_stage, apiMapping_apiId, -- * Authorizer Authorizer (..), newAuthorizer, authorizer_authorizerCredentialsArn, authorizer_authorizerId, authorizer_authorizerPayloadFormatVersion, authorizer_authorizerResultTtlInSeconds, authorizer_authorizerType, authorizer_authorizerUri, authorizer_enableSimpleResponses, authorizer_identitySource, authorizer_identityValidationExpression, authorizer_jwtConfiguration, authorizer_name, -- * Cors Cors (..), newCors, cors_allowCredentials, cors_allowHeaders, cors_allowMethods, cors_allowOrigins, cors_exposeHeaders, cors_maxAge, -- * Deployment Deployment (..), newDeployment, deployment_autoDeployed, deployment_createdDate, deployment_deploymentId, deployment_deploymentStatus, deployment_deploymentStatusMessage, deployment_description, -- * DomainName DomainName (..), newDomainName, domainName_apiMappingSelectionExpression, domainName_domainNameConfigurations, domainName_mutualTlsAuthentication, domainName_tags, domainName_domainName, -- * DomainNameConfiguration DomainNameConfiguration (..), newDomainNameConfiguration, domainNameConfiguration_apiGatewayDomainName, domainNameConfiguration_certificateArn, domainNameConfiguration_certificateName, domainNameConfiguration_certificateUploadDate, domainNameConfiguration_domainNameStatus, domainNameConfiguration_domainNameStatusMessage, domainNameConfiguration_endpointType, domainNameConfiguration_hostedZoneId, domainNameConfiguration_ownershipVerificationCertificateArn, domainNameConfiguration_securityPolicy, -- * Integration Integration (..), newIntegration, integration_apiGatewayManaged, integration_connectionId, integration_connectionType, integration_contentHandlingStrategy, integration_credentialsArn, integration_description, integration_integrationId, integration_integrationMethod, integration_integrationResponseSelectionExpression, integration_integrationSubtype, integration_integrationType, integration_integrationUri, integration_passthroughBehavior, integration_payloadFormatVersion, integration_requestParameters, integration_requestTemplates, integration_responseParameters, integration_templateSelectionExpression, integration_timeoutInMillis, integration_tlsConfig, -- * IntegrationResponse IntegrationResponse (..), newIntegrationResponse, integrationResponse_contentHandlingStrategy, integrationResponse_integrationResponseId, integrationResponse_responseParameters, integrationResponse_responseTemplates, integrationResponse_templateSelectionExpression, integrationResponse_integrationResponseKey, -- * JWTConfiguration JWTConfiguration (..), newJWTConfiguration, jWTConfiguration_audience, jWTConfiguration_issuer, -- * Model Model (..), newModel, model_contentType, model_description, model_modelId, model_schema, model_name, -- * MutualTlsAuthentication MutualTlsAuthentication (..), newMutualTlsAuthentication, mutualTlsAuthentication_truststoreUri, mutualTlsAuthentication_truststoreVersion, mutualTlsAuthentication_truststoreWarnings, -- * MutualTlsAuthenticationInput MutualTlsAuthenticationInput (..), newMutualTlsAuthenticationInput, mutualTlsAuthenticationInput_truststoreUri, mutualTlsAuthenticationInput_truststoreVersion, -- * ParameterConstraints ParameterConstraints (..), newParameterConstraints, parameterConstraints_required, -- * Route Route (..), newRoute, route_apiGatewayManaged, route_apiKeyRequired, route_authorizationScopes, route_authorizationType, route_authorizerId, route_modelSelectionExpression, route_operationName, route_requestModels, route_requestParameters, route_routeId, route_routeResponseSelectionExpression, route_target, route_routeKey, -- * RouteResponse RouteResponse (..), newRouteResponse, routeResponse_modelSelectionExpression, routeResponse_responseModels, routeResponse_responseParameters, routeResponse_routeResponseId, routeResponse_routeResponseKey, -- * RouteSettings RouteSettings (..), newRouteSettings, routeSettings_dataTraceEnabled, routeSettings_detailedMetricsEnabled, routeSettings_loggingLevel, routeSettings_throttlingBurstLimit, routeSettings_throttlingRateLimit, -- * Stage Stage (..), newStage, stage_accessLogSettings, stage_apiGatewayManaged, stage_autoDeploy, stage_clientCertificateId, stage_createdDate, stage_defaultRouteSettings, stage_deploymentId, stage_description, stage_lastDeploymentStatusMessage, stage_lastUpdatedDate, stage_routeSettings, stage_stageVariables, stage_tags, stage_stageName, -- * TlsConfig TlsConfig (..), newTlsConfig, tlsConfig_serverNameToVerify, -- * TlsConfigInput TlsConfigInput (..), newTlsConfigInput, tlsConfigInput_serverNameToVerify, -- * VpcLink VpcLink (..), newVpcLink, vpcLink_createdDate, vpcLink_tags, vpcLink_vpcLinkStatus, vpcLink_vpcLinkStatusMessage, vpcLink_vpcLinkVersion, vpcLink_vpcLinkId, vpcLink_securityGroupIds, vpcLink_subnetIds, vpcLink_name, ) where import Amazonka.ApiGatewayV2.Types.AccessLogSettings import Amazonka.ApiGatewayV2.Types.Api import Amazonka.ApiGatewayV2.Types.ApiMapping import Amazonka.ApiGatewayV2.Types.AuthorizationType import Amazonka.ApiGatewayV2.Types.Authorizer import Amazonka.ApiGatewayV2.Types.AuthorizerType import Amazonka.ApiGatewayV2.Types.ConnectionType import Amazonka.ApiGatewayV2.Types.ContentHandlingStrategy import Amazonka.ApiGatewayV2.Types.Cors import Amazonka.ApiGatewayV2.Types.Deployment import Amazonka.ApiGatewayV2.Types.DeploymentStatus import Amazonka.ApiGatewayV2.Types.DomainName import Amazonka.ApiGatewayV2.Types.DomainNameConfiguration import Amazonka.ApiGatewayV2.Types.DomainNameStatus import Amazonka.ApiGatewayV2.Types.EndpointType import Amazonka.ApiGatewayV2.Types.Integration import Amazonka.ApiGatewayV2.Types.IntegrationResponse import Amazonka.ApiGatewayV2.Types.IntegrationType import Amazonka.ApiGatewayV2.Types.JWTConfiguration import Amazonka.ApiGatewayV2.Types.LoggingLevel import Amazonka.ApiGatewayV2.Types.Model import Amazonka.ApiGatewayV2.Types.MutualTlsAuthentication import Amazonka.ApiGatewayV2.Types.MutualTlsAuthenticationInput import Amazonka.ApiGatewayV2.Types.ParameterConstraints import Amazonka.ApiGatewayV2.Types.PassthroughBehavior import Amazonka.ApiGatewayV2.Types.ProtocolType import Amazonka.ApiGatewayV2.Types.Route import Amazonka.ApiGatewayV2.Types.RouteResponse import Amazonka.ApiGatewayV2.Types.RouteSettings import Amazonka.ApiGatewayV2.Types.SecurityPolicy import Amazonka.ApiGatewayV2.Types.Stage import Amazonka.ApiGatewayV2.Types.TlsConfig import Amazonka.ApiGatewayV2.Types.TlsConfigInput import Amazonka.ApiGatewayV2.Types.VpcLink import Amazonka.ApiGatewayV2.Types.VpcLinkStatus import Amazonka.ApiGatewayV2.Types.VpcLinkVersion import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Sign.V4 as Sign -- | API version @2018-11-29@ of the Amazon ApiGatewayV2 SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "ApiGatewayV2", Core.signer = Sign.v4, Core.endpointPrefix = "apigateway", Core.signingName = "apigateway", Core.version = "2018-11-29", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "ApiGatewayV2", Core.retry = retry } where retry = Core.Exponential { Core.base = 5.0e-2, Core.growth = 2, Core.attempts = 5, Core.check = check } check e | Lens.has (Core.hasStatus 502) e = Prelude.Just "bad_gateway" | Lens.has (Core.hasStatus 504) e = Prelude.Just "gateway_timeout" | Lens.has (Core.hasStatus 500) e = Prelude.Just "general_server_error" | Lens.has (Core.hasStatus 509) e = Prelude.Just "limit_exceeded" | Lens.has ( Core.hasCode "RequestThrottledException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "request_throttled_exception" | Lens.has (Core.hasStatus 503) e = Prelude.Just "service_unavailable" | Lens.has ( Core.hasCode "ThrottledException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttled_exception" | Lens.has ( Core.hasCode "Throttling" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttling" | Lens.has ( Core.hasCode "ThrottlingException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttling_exception" | Lens.has ( Core.hasCode "ProvisionedThroughputExceededException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throughput_exceeded" | Lens.has (Core.hasStatus 429) e = Prelude.Just "too_many_requests" | Prelude.otherwise = Prelude.Nothing -- | Prism for AccessDeniedException' errors. _AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _AccessDeniedException = Core._MatchServiceError defaultService "AccessDeniedException" Prelude.. Core.hasStatus 403 -- | The request is not valid, for example, the input is incomplete or -- incorrect. See the accompanying error message for details. _BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _BadRequestException = Core._MatchServiceError defaultService "BadRequestException" Prelude.. Core.hasStatus 400 -- | The requested operation would cause a conflict with the current state of -- a service resource associated with the request. Resolve the conflict -- before retrying this request. See the accompanying error message for -- details. _ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ConflictException = Core._MatchServiceError defaultService "ConflictException" Prelude.. Core.hasStatus 409 -- | The resource specified in the request was not found. See the message -- field for more information. _NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _NotFoundException = Core._MatchServiceError defaultService "NotFoundException" Prelude.. Core.hasStatus 404 -- | A limit has been exceeded. See the accompanying error message for -- details. _TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _TooManyRequestsException = Core._MatchServiceError defaultService "TooManyRequestsException" Prelude.. Core.hasStatus 429