Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
- Service Configuration
- Errors
- ApiKeySourceType
- ApiKeysFormat
- AuthorizerType
- CacheClusterSize
- CacheClusterStatus
- ConnectionType
- ContentHandlingStrategy
- DocumentationPartType
- DomainNameStatus
- EndpointType
- GatewayResponseType
- IntegrationType
- LocationStatusType
- Op
- PutMode
- QuotaPeriodType
- SecurityPolicy
- UnauthorizedCacheControlHeaderStrategy
- VpcLinkStatus
- AccessLogSettings
- Account
- ApiKey
- ApiStage
- Authorizer
- BasePathMapping
- CanarySettings
- ClientCertificate
- Deployment
- DeploymentCanarySettings
- DocumentationPart
- DocumentationPartLocation
- DocumentationVersion
- DomainName
- EndpointConfiguration
- GatewayResponse
- Integration
- IntegrationResponse
- Method
- MethodResponse
- MethodSetting
- MethodSnapshot
- Model
- MutualTlsAuthentication
- MutualTlsAuthenticationInput
- PatchOperation
- QuotaSettings
- RequestValidator
- Resource
- RestApi
- SdkConfigurationProperty
- SdkType
- Stage
- StageKey
- ThrottleSettings
- TlsConfig
- Usage
- UsagePlan
- UsagePlanKey
- VpcLink
Synopsis
- defaultService :: Service
- _ConflictException :: AsError a => Getting (First ServiceError) a ServiceError
- _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _TooManyRequestsException :: AsError a => Getting (First ServiceError) a ServiceError
- _ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
- _UnauthorizedException :: AsError a => Getting (First ServiceError) a ServiceError
- _BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError
- _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- newtype ApiKeySourceType where
- ApiKeySourceType' { }
- pattern ApiKeySourceType_AUTHORIZER :: ApiKeySourceType
- pattern ApiKeySourceType_HEADER :: ApiKeySourceType
- newtype ApiKeysFormat where
- ApiKeysFormat' { }
- pattern ApiKeysFormat_Csv :: ApiKeysFormat
- newtype AuthorizerType where
- AuthorizerType' { }
- pattern AuthorizerType_COGNITO_USER_POOLS :: AuthorizerType
- pattern AuthorizerType_REQUEST :: AuthorizerType
- pattern AuthorizerType_TOKEN :: AuthorizerType
- newtype CacheClusterSize where
- CacheClusterSize' { }
- pattern CacheClusterSize_ :: CacheClusterSize
- newtype CacheClusterStatus where
- CacheClusterStatus' { }
- pattern CacheClusterStatus_AVAILABLE :: CacheClusterStatus
- pattern CacheClusterStatus_CREATE_IN_PROGRESS :: CacheClusterStatus
- pattern CacheClusterStatus_DELETE_IN_PROGRESS :: CacheClusterStatus
- pattern CacheClusterStatus_FLUSH_IN_PROGRESS :: CacheClusterStatus
- pattern CacheClusterStatus_NOT_AVAILABLE :: CacheClusterStatus
- newtype ConnectionType where
- ConnectionType' { }
- pattern ConnectionType_INTERNET :: ConnectionType
- pattern ConnectionType_VPC_LINK :: ConnectionType
- newtype ContentHandlingStrategy where
- newtype DocumentationPartType where
- DocumentationPartType' { }
- pattern DocumentationPartType_API :: DocumentationPartType
- pattern DocumentationPartType_AUTHORIZER :: DocumentationPartType
- pattern DocumentationPartType_METHOD :: DocumentationPartType
- pattern DocumentationPartType_MODEL :: DocumentationPartType
- pattern DocumentationPartType_PATH_PARAMETER :: DocumentationPartType
- pattern DocumentationPartType_QUERY_PARAMETER :: DocumentationPartType
- pattern DocumentationPartType_REQUEST_BODY :: DocumentationPartType
- pattern DocumentationPartType_REQUEST_HEADER :: DocumentationPartType
- pattern DocumentationPartType_RESOURCE :: DocumentationPartType
- pattern DocumentationPartType_RESPONSE :: DocumentationPartType
- pattern DocumentationPartType_RESPONSE_BODY :: DocumentationPartType
- pattern DocumentationPartType_RESPONSE_HEADER :: DocumentationPartType
- newtype DomainNameStatus where
- DomainNameStatus' { }
- pattern DomainNameStatus_AVAILABLE :: DomainNameStatus
- pattern DomainNameStatus_PENDING :: DomainNameStatus
- pattern DomainNameStatus_PENDING_CERTIFICATE_REIMPORT :: DomainNameStatus
- pattern DomainNameStatus_PENDING_OWNERSHIP_VERIFICATION :: DomainNameStatus
- pattern DomainNameStatus_UPDATING :: DomainNameStatus
- newtype EndpointType where
- EndpointType' { }
- pattern EndpointType_EDGE :: EndpointType
- pattern EndpointType_PRIVATE :: EndpointType
- pattern EndpointType_REGIONAL :: EndpointType
- newtype GatewayResponseType where
- GatewayResponseType' { }
- pattern GatewayResponseType_ACCESS_DENIED :: GatewayResponseType
- pattern GatewayResponseType_API_CONFIGURATION_ERROR :: GatewayResponseType
- pattern GatewayResponseType_AUTHORIZER_CONFIGURATION_ERROR :: GatewayResponseType
- pattern GatewayResponseType_AUTHORIZER_FAILURE :: GatewayResponseType
- pattern GatewayResponseType_BAD_REQUEST_BODY :: GatewayResponseType
- pattern GatewayResponseType_BAD_REQUEST_PARAMETERS :: GatewayResponseType
- pattern GatewayResponseType_DEFAULT_4XX :: GatewayResponseType
- pattern GatewayResponseType_DEFAULT_5XX :: GatewayResponseType
- pattern GatewayResponseType_EXPIRED_TOKEN :: GatewayResponseType
- pattern GatewayResponseType_INTEGRATION_FAILURE :: GatewayResponseType
- pattern GatewayResponseType_INTEGRATION_TIMEOUT :: GatewayResponseType
- pattern GatewayResponseType_INVALID_API_KEY :: GatewayResponseType
- pattern GatewayResponseType_INVALID_SIGNATURE :: GatewayResponseType
- pattern GatewayResponseType_MISSING_AUTHENTICATION_TOKEN :: GatewayResponseType
- pattern GatewayResponseType_QUOTA_EXCEEDED :: GatewayResponseType
- pattern GatewayResponseType_REQUEST_TOO_LARGE :: GatewayResponseType
- pattern GatewayResponseType_RESOURCE_NOT_FOUND :: GatewayResponseType
- pattern GatewayResponseType_THROTTLED :: GatewayResponseType
- pattern GatewayResponseType_UNAUTHORIZED :: GatewayResponseType
- pattern GatewayResponseType_UNSUPPORTED_MEDIA_TYPE :: GatewayResponseType
- pattern GatewayResponseType_WAF_FILTERED :: GatewayResponseType
- newtype IntegrationType where
- IntegrationType' { }
- pattern IntegrationType_AWS :: IntegrationType
- pattern IntegrationType_AWS_PROXY :: IntegrationType
- pattern IntegrationType_HTTP :: IntegrationType
- pattern IntegrationType_HTTP_PROXY :: IntegrationType
- pattern IntegrationType_MOCK :: IntegrationType
- newtype LocationStatusType where
- newtype Op where
- newtype PutMode where
- PutMode' {
- fromPutMode :: Text
- pattern PutMode_Merge :: PutMode
- pattern PutMode_Overwrite :: PutMode
- PutMode' {
- newtype QuotaPeriodType where
- QuotaPeriodType' { }
- pattern QuotaPeriodType_DAY :: QuotaPeriodType
- pattern QuotaPeriodType_MONTH :: QuotaPeriodType
- pattern QuotaPeriodType_WEEK :: QuotaPeriodType
- newtype SecurityPolicy where
- SecurityPolicy' { }
- pattern SecurityPolicy_TLS_1_0 :: SecurityPolicy
- pattern SecurityPolicy_TLS_1_2 :: SecurityPolicy
- newtype UnauthorizedCacheControlHeaderStrategy where
- UnauthorizedCacheControlHeaderStrategy' { }
- pattern UnauthorizedCacheControlHeaderStrategy_FAIL_WITH_403 :: UnauthorizedCacheControlHeaderStrategy
- pattern UnauthorizedCacheControlHeaderStrategy_SUCCEED_WITHOUT_RESPONSE_HEADER :: UnauthorizedCacheControlHeaderStrategy
- pattern UnauthorizedCacheControlHeaderStrategy_SUCCEED_WITH_RESPONSE_HEADER :: UnauthorizedCacheControlHeaderStrategy
- newtype VpcLinkStatus where
- VpcLinkStatus' { }
- pattern VpcLinkStatus_AVAILABLE :: VpcLinkStatus
- pattern VpcLinkStatus_DELETING :: VpcLinkStatus
- pattern VpcLinkStatus_FAILED :: VpcLinkStatus
- pattern VpcLinkStatus_PENDING :: VpcLinkStatus
- data AccessLogSettings = AccessLogSettings' {}
- newAccessLogSettings :: AccessLogSettings
- accessLogSettings_format :: Lens' AccessLogSettings (Maybe Text)
- accessLogSettings_destinationArn :: Lens' AccessLogSettings (Maybe Text)
- data Account = Account' {}
- newAccount :: Account
- account_apiKeyVersion :: Lens' Account (Maybe Text)
- account_cloudwatchRoleArn :: Lens' Account (Maybe Text)
- account_features :: Lens' Account (Maybe [Text])
- account_throttleSettings :: Lens' Account (Maybe ThrottleSettings)
- data ApiKey = ApiKey' {}
- newApiKey :: ApiKey
- apiKey_enabled :: Lens' ApiKey (Maybe Bool)
- apiKey_value :: Lens' ApiKey (Maybe Text)
- apiKey_customerId :: Lens' ApiKey (Maybe Text)
- apiKey_createdDate :: Lens' ApiKey (Maybe UTCTime)
- apiKey_name :: Lens' ApiKey (Maybe Text)
- apiKey_id :: Lens' ApiKey (Maybe Text)
- apiKey_stageKeys :: Lens' ApiKey (Maybe [Text])
- apiKey_lastUpdatedDate :: Lens' ApiKey (Maybe UTCTime)
- apiKey_description :: Lens' ApiKey (Maybe Text)
- apiKey_tags :: Lens' ApiKey (Maybe (HashMap Text Text))
- data ApiStage = ApiStage' {}
- newApiStage :: ApiStage
- apiStage_stage :: Lens' ApiStage (Maybe Text)
- apiStage_apiId :: Lens' ApiStage (Maybe Text)
- apiStage_throttle :: Lens' ApiStage (Maybe (HashMap Text ThrottleSettings))
- data Authorizer = Authorizer' {}
- newAuthorizer :: Authorizer
- authorizer_authorizerUri :: Lens' Authorizer (Maybe Text)
- authorizer_identityValidationExpression :: Lens' Authorizer (Maybe Text)
- authorizer_providerARNs :: Lens' Authorizer (Maybe [Text])
- authorizer_name :: Lens' Authorizer (Maybe Text)
- authorizer_id :: Lens' Authorizer (Maybe Text)
- authorizer_authorizerResultTtlInSeconds :: Lens' Authorizer (Maybe Int)
- authorizer_authType :: Lens' Authorizer (Maybe Text)
- authorizer_type :: Lens' Authorizer (Maybe AuthorizerType)
- authorizer_identitySource :: Lens' Authorizer (Maybe Text)
- authorizer_authorizerCredentials :: Lens' Authorizer (Maybe Text)
- data BasePathMapping = BasePathMapping' {}
- newBasePathMapping :: BasePathMapping
- basePathMapping_stage :: Lens' BasePathMapping (Maybe Text)
- basePathMapping_basePath :: Lens' BasePathMapping (Maybe Text)
- basePathMapping_restApiId :: Lens' BasePathMapping (Maybe Text)
- data CanarySettings = CanarySettings' {}
- newCanarySettings :: CanarySettings
- canarySettings_deploymentId :: Lens' CanarySettings (Maybe Text)
- canarySettings_stageVariableOverrides :: Lens' CanarySettings (Maybe (HashMap Text Text))
- canarySettings_useStageCache :: Lens' CanarySettings (Maybe Bool)
- canarySettings_percentTraffic :: Lens' CanarySettings (Maybe Double)
- data ClientCertificate = ClientCertificate' {}
- newClientCertificate :: ClientCertificate
- clientCertificate_pemEncodedCertificate :: Lens' ClientCertificate (Maybe Text)
- clientCertificate_clientCertificateId :: Lens' ClientCertificate (Maybe Text)
- clientCertificate_createdDate :: Lens' ClientCertificate (Maybe UTCTime)
- clientCertificate_expirationDate :: Lens' ClientCertificate (Maybe UTCTime)
- clientCertificate_description :: Lens' ClientCertificate (Maybe Text)
- clientCertificate_tags :: Lens' ClientCertificate (Maybe (HashMap Text Text))
- data Deployment = Deployment' {
- apiSummary :: Maybe (HashMap Text (HashMap Text MethodSnapshot))
- createdDate :: Maybe POSIX
- id :: Maybe Text
- description :: Maybe Text
- newDeployment :: Deployment
- deployment_apiSummary :: Lens' Deployment (Maybe (HashMap Text (HashMap Text MethodSnapshot)))
- deployment_createdDate :: Lens' Deployment (Maybe UTCTime)
- deployment_id :: Lens' Deployment (Maybe Text)
- deployment_description :: Lens' Deployment (Maybe Text)
- data DeploymentCanarySettings = DeploymentCanarySettings' {}
- newDeploymentCanarySettings :: DeploymentCanarySettings
- deploymentCanarySettings_stageVariableOverrides :: Lens' DeploymentCanarySettings (Maybe (HashMap Text Text))
- deploymentCanarySettings_useStageCache :: Lens' DeploymentCanarySettings (Maybe Bool)
- deploymentCanarySettings_percentTraffic :: Lens' DeploymentCanarySettings (Maybe Double)
- data DocumentationPart = DocumentationPart' {}
- newDocumentationPart :: DocumentationPart
- documentationPart_location :: Lens' DocumentationPart (Maybe DocumentationPartLocation)
- documentationPart_id :: Lens' DocumentationPart (Maybe Text)
- documentationPart_properties :: Lens' DocumentationPart (Maybe Text)
- data DocumentationPartLocation = DocumentationPartLocation' {}
- newDocumentationPartLocation :: DocumentationPartType -> DocumentationPartLocation
- documentationPartLocation_path :: Lens' DocumentationPartLocation (Maybe Text)
- documentationPartLocation_name :: Lens' DocumentationPartLocation (Maybe Text)
- documentationPartLocation_method :: Lens' DocumentationPartLocation (Maybe Text)
- documentationPartLocation_statusCode :: Lens' DocumentationPartLocation (Maybe Text)
- documentationPartLocation_type :: Lens' DocumentationPartLocation DocumentationPartType
- data DocumentationVersion = DocumentationVersion' {
- createdDate :: Maybe POSIX
- version :: Maybe Text
- description :: Maybe Text
- newDocumentationVersion :: DocumentationVersion
- documentationVersion_createdDate :: Lens' DocumentationVersion (Maybe UTCTime)
- documentationVersion_version :: Lens' DocumentationVersion (Maybe Text)
- documentationVersion_description :: Lens' DocumentationVersion (Maybe Text)
- data DomainName = DomainName' {
- regionalHostedZoneId :: Maybe Text
- certificateName :: Maybe Text
- ownershipVerificationCertificateArn :: Maybe Text
- regionalCertificateArn :: Maybe Text
- certificateArn :: Maybe Text
- distributionHostedZoneId :: Maybe Text
- securityPolicy :: Maybe SecurityPolicy
- domainName :: Maybe Text
- mutualTlsAuthentication :: Maybe MutualTlsAuthentication
- regionalCertificateName :: Maybe Text
- regionalDomainName :: Maybe Text
- certificateUploadDate :: Maybe POSIX
- distributionDomainName :: Maybe Text
- domainNameStatusMessage :: Maybe Text
- endpointConfiguration :: Maybe EndpointConfiguration
- domainNameStatus :: Maybe DomainNameStatus
- tags :: Maybe (HashMap Text Text)
- newDomainName :: DomainName
- domainName_regionalHostedZoneId :: Lens' DomainName (Maybe Text)
- domainName_certificateName :: Lens' DomainName (Maybe Text)
- domainName_ownershipVerificationCertificateArn :: Lens' DomainName (Maybe Text)
- domainName_regionalCertificateArn :: Lens' DomainName (Maybe Text)
- domainName_certificateArn :: Lens' DomainName (Maybe Text)
- domainName_distributionHostedZoneId :: Lens' DomainName (Maybe Text)
- domainName_securityPolicy :: Lens' DomainName (Maybe SecurityPolicy)
- domainName_domainName :: Lens' DomainName (Maybe Text)
- domainName_mutualTlsAuthentication :: Lens' DomainName (Maybe MutualTlsAuthentication)
- domainName_regionalCertificateName :: Lens' DomainName (Maybe Text)
- domainName_regionalDomainName :: Lens' DomainName (Maybe Text)
- domainName_certificateUploadDate :: Lens' DomainName (Maybe UTCTime)
- domainName_distributionDomainName :: Lens' DomainName (Maybe Text)
- domainName_domainNameStatusMessage :: Lens' DomainName (Maybe Text)
- domainName_endpointConfiguration :: Lens' DomainName (Maybe EndpointConfiguration)
- domainName_domainNameStatus :: Lens' DomainName (Maybe DomainNameStatus)
- domainName_tags :: Lens' DomainName (Maybe (HashMap Text Text))
- data EndpointConfiguration = EndpointConfiguration' {
- types :: Maybe [EndpointType]
- vpcEndpointIds :: Maybe [Text]
- newEndpointConfiguration :: EndpointConfiguration
- endpointConfiguration_types :: Lens' EndpointConfiguration (Maybe [EndpointType])
- endpointConfiguration_vpcEndpointIds :: Lens' EndpointConfiguration (Maybe [Text])
- data GatewayResponse = GatewayResponse' {}
- newGatewayResponse :: GatewayResponse
- gatewayResponse_defaultResponse :: Lens' GatewayResponse (Maybe Bool)
- gatewayResponse_responseTemplates :: Lens' GatewayResponse (Maybe (HashMap Text Text))
- gatewayResponse_responseType :: Lens' GatewayResponse (Maybe GatewayResponseType)
- gatewayResponse_statusCode :: Lens' GatewayResponse (Maybe Text)
- gatewayResponse_responseParameters :: Lens' GatewayResponse (Maybe (HashMap Text Text))
- data Integration = Integration' {
- httpMethod :: Maybe Text
- requestTemplates :: Maybe (HashMap Text Text)
- credentials :: Maybe Text
- connectionId :: Maybe Text
- requestParameters :: Maybe (HashMap Text Text)
- contentHandling :: Maybe ContentHandlingStrategy
- passthroughBehavior :: Maybe Text
- uri :: Maybe Text
- integrationResponses :: Maybe (HashMap Text IntegrationResponse)
- tlsConfig :: Maybe TlsConfig
- cacheNamespace :: Maybe Text
- timeoutInMillis :: Maybe Int
- type' :: Maybe IntegrationType
- connectionType :: Maybe ConnectionType
- cacheKeyParameters :: Maybe [Text]
- newIntegration :: Integration
- integration_httpMethod :: Lens' Integration (Maybe Text)
- integration_requestTemplates :: Lens' Integration (Maybe (HashMap Text Text))
- integration_credentials :: Lens' Integration (Maybe Text)
- integration_connectionId :: Lens' Integration (Maybe Text)
- integration_requestParameters :: Lens' Integration (Maybe (HashMap Text Text))
- integration_contentHandling :: Lens' Integration (Maybe ContentHandlingStrategy)
- integration_passthroughBehavior :: Lens' Integration (Maybe Text)
- integration_uri :: Lens' Integration (Maybe Text)
- integration_integrationResponses :: Lens' Integration (Maybe (HashMap Text IntegrationResponse))
- integration_tlsConfig :: Lens' Integration (Maybe TlsConfig)
- integration_cacheNamespace :: Lens' Integration (Maybe Text)
- integration_timeoutInMillis :: Lens' Integration (Maybe Int)
- integration_type :: Lens' Integration (Maybe IntegrationType)
- integration_connectionType :: Lens' Integration (Maybe ConnectionType)
- integration_cacheKeyParameters :: Lens' Integration (Maybe [Text])
- data IntegrationResponse = IntegrationResponse' {}
- newIntegrationResponse :: IntegrationResponse
- integrationResponse_contentHandling :: Lens' IntegrationResponse (Maybe ContentHandlingStrategy)
- integrationResponse_responseTemplates :: Lens' IntegrationResponse (Maybe (HashMap Text Text))
- integrationResponse_selectionPattern :: Lens' IntegrationResponse (Maybe Text)
- integrationResponse_statusCode :: Lens' IntegrationResponse (Maybe Text)
- integrationResponse_responseParameters :: Lens' IntegrationResponse (Maybe (HashMap Text Text))
- data Method = Method' {
- methodResponses :: Maybe (HashMap Text MethodResponse)
- httpMethod :: Maybe Text
- authorizationScopes :: Maybe [Text]
- requestValidatorId :: Maybe Text
- requestModels :: Maybe (HashMap Text Text)
- requestParameters :: Maybe (HashMap Text Bool)
- authorizerId :: Maybe Text
- operationName :: Maybe Text
- authorizationType :: Maybe Text
- apiKeyRequired :: Maybe Bool
- methodIntegration :: Maybe Integration
- newMethod :: Method
- method_methodResponses :: Lens' Method (Maybe (HashMap Text MethodResponse))
- method_httpMethod :: Lens' Method (Maybe Text)
- method_authorizationScopes :: Lens' Method (Maybe [Text])
- method_requestValidatorId :: Lens' Method (Maybe Text)
- method_requestModels :: Lens' Method (Maybe (HashMap Text Text))
- method_requestParameters :: Lens' Method (Maybe (HashMap Text Bool))
- method_authorizerId :: Lens' Method (Maybe Text)
- method_operationName :: Lens' Method (Maybe Text)
- method_authorizationType :: Lens' Method (Maybe Text)
- method_apiKeyRequired :: Lens' Method (Maybe Bool)
- method_methodIntegration :: Lens' Method (Maybe Integration)
- data MethodResponse = MethodResponse' {
- responseModels :: Maybe (HashMap Text Text)
- statusCode :: Maybe Text
- responseParameters :: Maybe (HashMap Text Bool)
- newMethodResponse :: MethodResponse
- methodResponse_responseModels :: Lens' MethodResponse (Maybe (HashMap Text Text))
- methodResponse_statusCode :: Lens' MethodResponse (Maybe Text)
- methodResponse_responseParameters :: Lens' MethodResponse (Maybe (HashMap Text Bool))
- data MethodSetting = MethodSetting' {
- cacheTtlInSeconds :: Maybe Int
- dataTraceEnabled :: Maybe Bool
- throttlingBurstLimit :: Maybe Int
- cacheDataEncrypted :: Maybe Bool
- loggingLevel :: Maybe Text
- requireAuthorizationForCacheControl :: Maybe Bool
- cachingEnabled :: Maybe Bool
- metricsEnabled :: Maybe Bool
- throttlingRateLimit :: Maybe Double
- unauthorizedCacheControlHeaderStrategy :: Maybe UnauthorizedCacheControlHeaderStrategy
- newMethodSetting :: MethodSetting
- methodSetting_cacheTtlInSeconds :: Lens' MethodSetting (Maybe Int)
- methodSetting_dataTraceEnabled :: Lens' MethodSetting (Maybe Bool)
- methodSetting_throttlingBurstLimit :: Lens' MethodSetting (Maybe Int)
- methodSetting_cacheDataEncrypted :: Lens' MethodSetting (Maybe Bool)
- methodSetting_loggingLevel :: Lens' MethodSetting (Maybe Text)
- methodSetting_requireAuthorizationForCacheControl :: Lens' MethodSetting (Maybe Bool)
- methodSetting_cachingEnabled :: Lens' MethodSetting (Maybe Bool)
- methodSetting_metricsEnabled :: Lens' MethodSetting (Maybe Bool)
- methodSetting_throttlingRateLimit :: Lens' MethodSetting (Maybe Double)
- methodSetting_unauthorizedCacheControlHeaderStrategy :: Lens' MethodSetting (Maybe UnauthorizedCacheControlHeaderStrategy)
- data MethodSnapshot = MethodSnapshot' {}
- newMethodSnapshot :: MethodSnapshot
- methodSnapshot_authorizationType :: Lens' MethodSnapshot (Maybe Text)
- methodSnapshot_apiKeyRequired :: Lens' MethodSnapshot (Maybe Bool)
- data Model = Model' {}
- newModel :: Model
- model_schema :: Lens' Model (Maybe Text)
- model_name :: Lens' Model (Maybe Text)
- model_id :: Lens' Model (Maybe Text)
- model_description :: Lens' Model (Maybe Text)
- model_contentType :: Lens' Model (Maybe Text)
- data MutualTlsAuthentication = MutualTlsAuthentication' {}
- newMutualTlsAuthentication :: MutualTlsAuthentication
- mutualTlsAuthentication_truststoreWarnings :: Lens' MutualTlsAuthentication (Maybe [Text])
- mutualTlsAuthentication_truststoreUri :: Lens' MutualTlsAuthentication (Maybe Text)
- mutualTlsAuthentication_truststoreVersion :: Lens' MutualTlsAuthentication (Maybe Text)
- data MutualTlsAuthenticationInput = MutualTlsAuthenticationInput' {}
- newMutualTlsAuthenticationInput :: MutualTlsAuthenticationInput
- mutualTlsAuthenticationInput_truststoreUri :: Lens' MutualTlsAuthenticationInput (Maybe Text)
- mutualTlsAuthenticationInput_truststoreVersion :: Lens' MutualTlsAuthenticationInput (Maybe Text)
- data PatchOperation = PatchOperation' {}
- newPatchOperation :: PatchOperation
- patchOperation_op :: Lens' PatchOperation (Maybe Op)
- patchOperation_path :: Lens' PatchOperation (Maybe Text)
- patchOperation_value :: Lens' PatchOperation (Maybe Text)
- patchOperation_from :: Lens' PatchOperation (Maybe Text)
- data QuotaSettings = QuotaSettings' {}
- newQuotaSettings :: QuotaSettings
- quotaSettings_offset :: Lens' QuotaSettings (Maybe Int)
- quotaSettings_period :: Lens' QuotaSettings (Maybe QuotaPeriodType)
- quotaSettings_limit :: Lens' QuotaSettings (Maybe Int)
- data RequestValidator = RequestValidator' {}
- newRequestValidator :: RequestValidator
- requestValidator_validateRequestParameters :: Lens' RequestValidator (Maybe Bool)
- requestValidator_name :: Lens' RequestValidator (Maybe Text)
- requestValidator_validateRequestBody :: Lens' RequestValidator (Maybe Bool)
- requestValidator_id :: Lens' RequestValidator (Maybe Text)
- data Resource = Resource' {}
- newResource :: Resource
- resource_pathPart :: Lens' Resource (Maybe Text)
- resource_path :: Lens' Resource (Maybe Text)
- resource_id :: Lens' Resource (Maybe Text)
- resource_resourceMethods :: Lens' Resource (Maybe (HashMap Text Method))
- resource_parentId :: Lens' Resource (Maybe Text)
- data RestApi = RestApi' {
- minimumCompressionSize :: Maybe Int
- disableExecuteApiEndpoint :: Maybe Bool
- binaryMediaTypes :: Maybe [Text]
- warnings :: Maybe [Text]
- createdDate :: Maybe POSIX
- name :: Maybe Text
- version :: Maybe Text
- apiKeySource :: Maybe ApiKeySourceType
- id :: Maybe Text
- policy :: Maybe Text
- endpointConfiguration :: Maybe EndpointConfiguration
- description :: Maybe Text
- tags :: Maybe (HashMap Text Text)
- newRestApi :: RestApi
- restApi_minimumCompressionSize :: Lens' RestApi (Maybe Int)
- restApi_disableExecuteApiEndpoint :: Lens' RestApi (Maybe Bool)
- restApi_binaryMediaTypes :: Lens' RestApi (Maybe [Text])
- restApi_warnings :: Lens' RestApi (Maybe [Text])
- restApi_createdDate :: Lens' RestApi (Maybe UTCTime)
- restApi_name :: Lens' RestApi (Maybe Text)
- restApi_version :: Lens' RestApi (Maybe Text)
- restApi_apiKeySource :: Lens' RestApi (Maybe ApiKeySourceType)
- restApi_id :: Lens' RestApi (Maybe Text)
- restApi_policy :: Lens' RestApi (Maybe Text)
- restApi_endpointConfiguration :: Lens' RestApi (Maybe EndpointConfiguration)
- restApi_description :: Lens' RestApi (Maybe Text)
- restApi_tags :: Lens' RestApi (Maybe (HashMap Text Text))
- data SdkConfigurationProperty = SdkConfigurationProperty' {
- friendlyName :: Maybe Text
- required :: Maybe Bool
- name :: Maybe Text
- defaultValue :: Maybe Text
- description :: Maybe Text
- newSdkConfigurationProperty :: SdkConfigurationProperty
- sdkConfigurationProperty_friendlyName :: Lens' SdkConfigurationProperty (Maybe Text)
- sdkConfigurationProperty_required :: Lens' SdkConfigurationProperty (Maybe Bool)
- sdkConfigurationProperty_name :: Lens' SdkConfigurationProperty (Maybe Text)
- sdkConfigurationProperty_defaultValue :: Lens' SdkConfigurationProperty (Maybe Text)
- sdkConfigurationProperty_description :: Lens' SdkConfigurationProperty (Maybe Text)
- data SdkType = SdkType' {}
- newSdkType :: SdkType
- sdkType_friendlyName :: Lens' SdkType (Maybe Text)
- sdkType_configurationProperties :: Lens' SdkType (Maybe [SdkConfigurationProperty])
- sdkType_id :: Lens' SdkType (Maybe Text)
- sdkType_description :: Lens' SdkType (Maybe Text)
- data Stage = Stage' {
- deploymentId :: Maybe Text
- variables :: Maybe (HashMap Text Text)
- accessLogSettings :: Maybe AccessLogSettings
- documentationVersion :: Maybe Text
- clientCertificateId :: Maybe Text
- tracingEnabled :: Maybe Bool
- createdDate :: Maybe POSIX
- cacheClusterStatus :: Maybe CacheClusterStatus
- methodSettings :: Maybe (HashMap Text MethodSetting)
- lastUpdatedDate :: Maybe POSIX
- cacheClusterSize :: Maybe CacheClusterSize
- webAclArn :: Maybe Text
- canarySettings :: Maybe CanarySettings
- cacheClusterEnabled :: Maybe Bool
- stageName :: Maybe Text
- description :: Maybe Text
- tags :: Maybe (HashMap Text Text)
- newStage :: Stage
- stage_deploymentId :: Lens' Stage (Maybe Text)
- stage_variables :: Lens' Stage (Maybe (HashMap Text Text))
- stage_accessLogSettings :: Lens' Stage (Maybe AccessLogSettings)
- stage_documentationVersion :: Lens' Stage (Maybe Text)
- stage_clientCertificateId :: Lens' Stage (Maybe Text)
- stage_tracingEnabled :: Lens' Stage (Maybe Bool)
- stage_createdDate :: Lens' Stage (Maybe UTCTime)
- stage_cacheClusterStatus :: Lens' Stage (Maybe CacheClusterStatus)
- stage_methodSettings :: Lens' Stage (Maybe (HashMap Text MethodSetting))
- stage_lastUpdatedDate :: Lens' Stage (Maybe UTCTime)
- stage_cacheClusterSize :: Lens' Stage (Maybe CacheClusterSize)
- stage_webAclArn :: Lens' Stage (Maybe Text)
- stage_canarySettings :: Lens' Stage (Maybe CanarySettings)
- stage_cacheClusterEnabled :: Lens' Stage (Maybe Bool)
- stage_stageName :: Lens' Stage (Maybe Text)
- stage_description :: Lens' Stage (Maybe Text)
- stage_tags :: Lens' Stage (Maybe (HashMap Text Text))
- data StageKey = StageKey' {}
- newStageKey :: StageKey
- stageKey_restApiId :: Lens' StageKey (Maybe Text)
- stageKey_stageName :: Lens' StageKey (Maybe Text)
- data ThrottleSettings = ThrottleSettings' {}
- newThrottleSettings :: ThrottleSettings
- throttleSettings_burstLimit :: Lens' ThrottleSettings (Maybe Int)
- throttleSettings_rateLimit :: Lens' ThrottleSettings (Maybe Double)
- data TlsConfig = TlsConfig' {}
- newTlsConfig :: TlsConfig
- tlsConfig_insecureSkipVerification :: Lens' TlsConfig (Maybe Bool)
- data Usage = Usage' {}
- newUsage :: Usage
- usage_usagePlanId :: Lens' Usage (Maybe Text)
- usage_endDate :: Lens' Usage (Maybe Text)
- usage_items :: Lens' Usage (Maybe (HashMap Text [[Integer]]))
- usage_startDate :: Lens' Usage (Maybe Text)
- usage_position :: Lens' Usage (Maybe Text)
- data UsagePlan = UsagePlan' {}
- newUsagePlan :: UsagePlan
- usagePlan_apiStages :: Lens' UsagePlan (Maybe [ApiStage])
- usagePlan_name :: Lens' UsagePlan (Maybe Text)
- usagePlan_id :: Lens' UsagePlan (Maybe Text)
- usagePlan_throttle :: Lens' UsagePlan (Maybe ThrottleSettings)
- usagePlan_quota :: Lens' UsagePlan (Maybe QuotaSettings)
- usagePlan_description :: Lens' UsagePlan (Maybe Text)
- usagePlan_productCode :: Lens' UsagePlan (Maybe Text)
- usagePlan_tags :: Lens' UsagePlan (Maybe (HashMap Text Text))
- data UsagePlanKey = UsagePlanKey' {}
- newUsagePlanKey :: UsagePlanKey
- usagePlanKey_value :: Lens' UsagePlanKey (Maybe Text)
- usagePlanKey_name :: Lens' UsagePlanKey (Maybe Text)
- usagePlanKey_id :: Lens' UsagePlanKey (Maybe Text)
- usagePlanKey_type :: Lens' UsagePlanKey (Maybe Text)
- data VpcLink = VpcLink' {}
- newVpcLink :: VpcLink
- vpcLink_status :: Lens' VpcLink (Maybe VpcLinkStatus)
- vpcLink_targetArns :: Lens' VpcLink (Maybe [Text])
- vpcLink_name :: Lens' VpcLink (Maybe Text)
- vpcLink_statusMessage :: Lens' VpcLink (Maybe Text)
- vpcLink_id :: Lens' VpcLink (Maybe Text)
- vpcLink_description :: Lens' VpcLink (Maybe Text)
- vpcLink_tags :: Lens' VpcLink (Maybe (HashMap Text Text))
Service Configuration
defaultService :: Service Source #
API version 2015-07-09
of the Amazon API Gateway SDK configuration.
Errors
_ConflictException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The request configuration has conflicts. For details, see the accompanying error message.
_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The requested resource is not found. Make sure that the request URI is correct.
_TooManyRequestsException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The request has reached its throttling limit. Retry after the specified time period.
_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The requested service is not available. For details see the accompanying error message. Retry after the specified time period.
_UnauthorizedException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The request is denied because the caller has insufficient permissions.
_BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The request exceeded the rate limit. Retry after the specified time period.
ApiKeySourceType
newtype ApiKeySourceType Source #
pattern ApiKeySourceType_AUTHORIZER :: ApiKeySourceType | |
pattern ApiKeySourceType_HEADER :: ApiKeySourceType |
Instances
ApiKeysFormat
newtype ApiKeysFormat Source #
pattern ApiKeysFormat_Csv :: ApiKeysFormat |
Instances
AuthorizerType
newtype AuthorizerType Source #
The authorizer type. Valid values are TOKEN
for a Lambda function
using a single authorization token submitted in a custom header,
REQUEST
for a Lambda function using incoming request parameters, and
COGNITO_USER_POOLS
for using an Amazon Cognito user pool.
pattern AuthorizerType_COGNITO_USER_POOLS :: AuthorizerType | |
pattern AuthorizerType_REQUEST :: AuthorizerType | |
pattern AuthorizerType_TOKEN :: AuthorizerType |
Instances
CacheClusterSize
newtype CacheClusterSize Source #
Returns the size of the CacheCluster.
pattern CacheClusterSize_ :: CacheClusterSize |
Instances
CacheClusterStatus
newtype CacheClusterStatus Source #
Returns the status of the CacheCluster.
Instances
ConnectionType
newtype ConnectionType Source #
pattern ConnectionType_INTERNET :: ConnectionType | |
pattern ConnectionType_VPC_LINK :: ConnectionType |
Instances
ContentHandlingStrategy
newtype ContentHandlingStrategy Source #
pattern ContentHandlingStrategy_CONVERT_TO_BINARY :: ContentHandlingStrategy | |
pattern ContentHandlingStrategy_CONVERT_TO_TEXT :: ContentHandlingStrategy |
Instances
DocumentationPartType
newtype DocumentationPartType Source #
Instances
DomainNameStatus
newtype DomainNameStatus Source #
pattern DomainNameStatus_AVAILABLE :: DomainNameStatus | |
pattern DomainNameStatus_PENDING :: DomainNameStatus | |
pattern DomainNameStatus_PENDING_CERTIFICATE_REIMPORT :: DomainNameStatus | |
pattern DomainNameStatus_PENDING_OWNERSHIP_VERIFICATION :: DomainNameStatus | |
pattern DomainNameStatus_UPDATING :: DomainNameStatus |
Instances
EndpointType
newtype EndpointType Source #
The endpoint type. The valid values are EDGE
for edge-optimized API
setup, most suitable for mobile applications; REGIONAL
for regional
API endpoint setup, most suitable for calling from AWS Region; and
PRIVATE
for private APIs.
pattern EndpointType_EDGE :: EndpointType | |
pattern EndpointType_PRIVATE :: EndpointType | |
pattern EndpointType_REGIONAL :: EndpointType |
Instances
GatewayResponseType
newtype GatewayResponseType Source #
Instances
IntegrationType
newtype IntegrationType Source #
The integration type. The valid value is HTTP
for integrating an API
method with an HTTP backend; AWS
with any AWS service endpoints;
MOCK
for testing without actually invoking the backend; HTTP_PROXY
for integrating with the HTTP proxy integration; AWS_PROXY
for
integrating with the Lambda proxy integration.
pattern IntegrationType_AWS :: IntegrationType | |
pattern IntegrationType_AWS_PROXY :: IntegrationType | |
pattern IntegrationType_HTTP :: IntegrationType | |
pattern IntegrationType_HTTP_PROXY :: IntegrationType | |
pattern IntegrationType_MOCK :: IntegrationType |
Instances
LocationStatusType
newtype LocationStatusType Source #
pattern LocationStatusType_DOCUMENTED :: LocationStatusType | |
pattern LocationStatusType_UNDOCUMENTED :: LocationStatusType |
Instances
Op
pattern Op_Add :: Op | |
pattern Op_Copy :: Op | |
pattern Op_Move :: Op | |
pattern Op_Remove :: Op | |
pattern Op_Replace :: Op | |
pattern Op_Test :: Op |
Instances
PutMode
pattern PutMode_Merge :: PutMode | |
pattern PutMode_Overwrite :: PutMode |
Instances
QuotaPeriodType
newtype QuotaPeriodType Source #
pattern QuotaPeriodType_DAY :: QuotaPeriodType | |
pattern QuotaPeriodType_MONTH :: QuotaPeriodType | |
pattern QuotaPeriodType_WEEK :: QuotaPeriodType |
Instances
SecurityPolicy
newtype SecurityPolicy Source #
pattern SecurityPolicy_TLS_1_0 :: SecurityPolicy | |
pattern SecurityPolicy_TLS_1_2 :: SecurityPolicy |
Instances
UnauthorizedCacheControlHeaderStrategy
newtype UnauthorizedCacheControlHeaderStrategy Source #
Instances
VpcLinkStatus
newtype VpcLinkStatus Source #
pattern VpcLinkStatus_AVAILABLE :: VpcLinkStatus | |
pattern VpcLinkStatus_DELETING :: VpcLinkStatus | |
pattern VpcLinkStatus_FAILED :: VpcLinkStatus | |
pattern VpcLinkStatus_PENDING :: VpcLinkStatus |
Instances
AccessLogSettings
data AccessLogSettings Source #
Access log settings, including the access log format and access log destination ARN.
See: newAccessLogSettings
smart constructor.
AccessLogSettings' | |
|
Instances
newAccessLogSettings :: AccessLogSettings Source #
Create a value of AccessLogSettings
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:format:AccessLogSettings'
, accessLogSettings_format
- A single line format of the access logs of data, as specified by
selected
$context variables.
The format must include at least $context.requestId
.
$sel:destinationArn:AccessLogSettings'
, accessLogSettings_destinationArn
- The Amazon Resource Name (ARN) of the CloudWatch Logs log group or
Kinesis Data Firehose delivery stream to receive access logs. If you
specify a Kinesis Data Firehose delivery stream, the stream name must
begin with amazon-apigateway-
.
accessLogSettings_format :: Lens' AccessLogSettings (Maybe Text) Source #
A single line format of the access logs of data, as specified by
selected
$context variables.
The format must include at least $context.requestId
.
accessLogSettings_destinationArn :: Lens' AccessLogSettings (Maybe Text) Source #
The Amazon Resource Name (ARN) of the CloudWatch Logs log group or
Kinesis Data Firehose delivery stream to receive access logs. If you
specify a Kinesis Data Firehose delivery stream, the stream name must
begin with amazon-apigateway-
.
Account
Represents an AWS account that is associated with API Gateway.
To view the account info, call GET
on this resource.
Error Codes
The following exception may be thrown when the request fails.
- UnauthorizedException
- NotFoundException
- TooManyRequestsException
For detailed error code information, including the corresponding HTTP Status Codes, see API Gateway Error Codes
Example: Get the information about an account.
Request
GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns a 200 OK
status code and a payload
similar to the following:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html", "name": "account", "templated": true }, "self": { "href": "/account" }, "account:update": { "href": "/account" } }, "cloudwatchRoleArn": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "throttleSettings": { "rateLimit": 500, "burstLimit": 1000 } }
In addition to making the REST API call directly, you can use the AWS CLI and an AWS SDK to access this resource.
API Gateway Limits Developer Guide, AWS CLI
See: newAccount
smart constructor.
Account' | |
|
Instances
newAccount :: Account Source #
Create a value of Account
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:apiKeyVersion:Account'
, account_apiKeyVersion
- The version of the API keys used for the account.
$sel:cloudwatchRoleArn:Account'
, account_cloudwatchRoleArn
- The ARN of an Amazon CloudWatch role for the current Account.
$sel:features:Account'
, account_features
- A list of features supported for the account. When usage plans are
enabled, the features list will include an entry of "UsagePlans"
.
$sel:throttleSettings:Account'
, account_throttleSettings
- Specifies the API request limits configured for the current Account.
account_apiKeyVersion :: Lens' Account (Maybe Text) Source #
The version of the API keys used for the account.
account_cloudwatchRoleArn :: Lens' Account (Maybe Text) Source #
The ARN of an Amazon CloudWatch role for the current Account.
account_features :: Lens' Account (Maybe [Text]) Source #
A list of features supported for the account. When usage plans are
enabled, the features list will include an entry of "UsagePlans"
.
account_throttleSettings :: Lens' Account (Maybe ThrottleSettings) Source #
Specifies the API request limits configured for the current Account.
ApiKey
A resource that can be distributed to callers for executing Method resources that require an API key. API keys can be mapped to any Stage on any RestApi, which indicates that the callers with the API key can make requests to that stage.
See: newApiKey
smart constructor.
ApiKey' | |
|
Instances
Create a value of ApiKey
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:enabled:ApiKey'
, apiKey_enabled
- Specifies whether the API Key can be used by callers.
$sel:value:ApiKey'
, apiKey_value
- The value of the API Key.
$sel:customerId:ApiKey'
, apiKey_customerId
- An AWS Marketplace customer identifier , when integrating with the AWS
SaaS Marketplace.
$sel:createdDate:ApiKey'
, apiKey_createdDate
- The timestamp when the API Key was created.
$sel:name:ApiKey'
, apiKey_name
- The name of the API Key.
$sel:id:ApiKey'
, apiKey_id
- The identifier of the API Key.
$sel:stageKeys:ApiKey'
, apiKey_stageKeys
- A list of Stage resources that are associated with the ApiKey resource.
$sel:lastUpdatedDate:ApiKey'
, apiKey_lastUpdatedDate
- The timestamp when the API Key was last updated.
$sel:description:ApiKey'
, apiKey_description
- The description of the API Key.
$sel:tags:ApiKey'
, apiKey_tags
- The collection of tags. Each tag element is associated with a given
resource.
apiKey_enabled :: Lens' ApiKey (Maybe Bool) Source #
Specifies whether the API Key can be used by callers.
apiKey_customerId :: Lens' ApiKey (Maybe Text) Source #
An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.
apiKey_createdDate :: Lens' ApiKey (Maybe UTCTime) Source #
The timestamp when the API Key was created.
apiKey_stageKeys :: Lens' ApiKey (Maybe [Text]) Source #
A list of Stage resources that are associated with the ApiKey resource.
apiKey_lastUpdatedDate :: Lens' ApiKey (Maybe UTCTime) Source #
The timestamp when the API Key was last updated.
apiKey_tags :: Lens' ApiKey (Maybe (HashMap Text Text)) Source #
The collection of tags. Each tag element is associated with a given resource.
ApiStage
API stage name of the associated API stage in a usage plan.
See: newApiStage
smart constructor.
Instances
Eq ApiStage Source # | |
Read ApiStage Source # | |
Show ApiStage Source # | |
Generic ApiStage Source # | |
NFData ApiStage Source # | |
Defined in Amazonka.APIGateway.Types.ApiStage | |
Hashable ApiStage Source # | |
Defined in Amazonka.APIGateway.Types.ApiStage | |
ToJSON ApiStage Source # | |
Defined in Amazonka.APIGateway.Types.ApiStage | |
FromJSON ApiStage Source # | |
type Rep ApiStage Source # | |
Defined in Amazonka.APIGateway.Types.ApiStage type Rep ApiStage = D1 ('MetaData "ApiStage" "Amazonka.APIGateway.Types.ApiStage" "libZSservicesZSamazonka-apigatewayZSamazonka-apigateway" 'False) (C1 ('MetaCons "ApiStage'" 'PrefixI 'True) (S1 ('MetaSel ('Just "stage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "apiId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "throttle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text ThrottleSettings)))))) |
newApiStage :: ApiStage Source #
Create a value of ApiStage
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:stage:ApiStage'
, apiStage_stage
- API stage name of the associated API stage in a usage plan.
$sel:apiId:ApiStage'
, apiStage_apiId
- API Id of the associated API stage in a usage plan.
$sel:throttle:ApiStage'
, apiStage_throttle
- Map containing method level throttling information for API stage in a
usage plan.
apiStage_stage :: Lens' ApiStage (Maybe Text) Source #
API stage name of the associated API stage in a usage plan.
apiStage_apiId :: Lens' ApiStage (Maybe Text) Source #
API Id of the associated API stage in a usage plan.
apiStage_throttle :: Lens' ApiStage (Maybe (HashMap Text ThrottleSettings)) Source #
Map containing method level throttling information for API stage in a usage plan.
Authorizer
data Authorizer Source #
Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.
Use Lambda Function as Authorizer Use Cognito User Pool as Authorizer
See: newAuthorizer
smart constructor.
Authorizer' | |
|
Instances
newAuthorizer :: Authorizer Source #
Create a value of Authorizer
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:authorizerUri:Authorizer'
, authorizer_authorizerUri
- Specifies the authorizer's Uniform Resource Identifier (URI). For
TOKEN
or 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
.
$sel:identityValidationExpression:Authorizer'
, authorizer_identityValidationExpression
- A validation expression for the incoming identity token. For TOKEN
authorizers, this value is a regular expression. For
COGNITO_USER_POOLS
authorizers, API Gateway will match the aud
field
of the incoming token from the client against the specified regular
expression. It will invoke the authorizer's Lambda function when there
is a match. Otherwise, it will return a 401 Unauthorized response
without calling the Lambda function. The validation expression does not
apply to the REQUEST
authorizer.
$sel:providerARNs:Authorizer'
, authorizer_providerARNs
- A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS
authorizer. Each element is of this format:
arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}
.
For a TOKEN
or REQUEST
authorizer, this is not defined.
$sel:name:Authorizer'
, authorizer_name
- [Required] The name of the authorizer.
$sel:id:Authorizer'
, authorizer_id
- The identifier for the authorizer resource.
$sel:authorizerResultTtlInSeconds:Authorizer'
, authorizer_authorizerResultTtlInSeconds
- The 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.
$sel:authType:Authorizer'
, authorizer_authType
- Optional customer-defined field, used in OpenAPI imports and exports
without functional impact.
$sel:type':Authorizer'
, authorizer_type
- The authorizer type. Valid values are TOKEN
for a Lambda function
using a single authorization token submitted in a custom header,
REQUEST
for a Lambda function using incoming request parameters, and
COGNITO_USER_POOLS
for using an Amazon Cognito user pool.
$sel:identitySource:Authorizer'
, authorizer_identitySource
- The identity source for which authorization is requested.
- For a
TOKEN
orCOGNITO_USER_POOLS
authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name isAuth
, the header mapping expression ismethod.request.header.Auth
. - 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 anAuth
header, aName
query string parameter are defined as identity sources, this value ismethod.request.header.Auth, method.request.querystring.Name
. These parameters will be used to derive the authorization caching key and to perform runtime validation of theREQUEST
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.
$sel:authorizerCredentials:Authorizer'
, authorizer_authorizerCredentials
- 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.
authorizer_authorizerUri :: Lens' Authorizer (Maybe Text) Source #
Specifies the authorizer's Uniform Resource Identifier (URI). For
TOKEN
or 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
.
authorizer_identityValidationExpression :: Lens' Authorizer (Maybe Text) Source #
A validation expression for the incoming identity token. For TOKEN
authorizers, this value is a regular expression. For
COGNITO_USER_POOLS
authorizers, API Gateway will match the aud
field
of the incoming token from the client against the specified regular
expression. It will invoke the authorizer's Lambda function when there
is a match. Otherwise, it will return a 401 Unauthorized response
without calling the Lambda function. The validation expression does not
apply to the REQUEST
authorizer.
authorizer_providerARNs :: Lens' Authorizer (Maybe [Text]) Source #
A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS
authorizer. Each element is of this format:
arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}
.
For a TOKEN
or REQUEST
authorizer, this is not defined.
authorizer_name :: Lens' Authorizer (Maybe Text) Source #
- Required
- The name of the authorizer.
authorizer_id :: Lens' Authorizer (Maybe Text) Source #
The identifier for the authorizer resource.
authorizer_authorizerResultTtlInSeconds :: Lens' Authorizer (Maybe Int) Source #
The 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.
authorizer_authType :: Lens' Authorizer (Maybe Text) Source #
Optional customer-defined field, used in OpenAPI imports and exports without functional impact.
authorizer_type :: Lens' Authorizer (Maybe AuthorizerType) Source #
The authorizer type. Valid values are TOKEN
for a Lambda function
using a single authorization token submitted in a custom header,
REQUEST
for a Lambda function using incoming request parameters, and
COGNITO_USER_POOLS
for using an Amazon Cognito user pool.
authorizer_identitySource :: Lens' Authorizer (Maybe Text) Source #
The identity source for which authorization is requested.
- For a
TOKEN
orCOGNITO_USER_POOLS
authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name isAuth
, the header mapping expression ismethod.request.header.Auth
. - 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 anAuth
header, aName
query string parameter are defined as identity sources, this value ismethod.request.header.Auth, method.request.querystring.Name
. These parameters will be used to derive the authorization caching key and to perform runtime validation of theREQUEST
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.
authorizer_authorizerCredentials :: Lens' Authorizer (Maybe Text) Source #
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.
BasePathMapping
data BasePathMapping Source #
Represents the base path that callers of the API must provide as part of the URL after the domain name.
A custom domain name plus a BasePathMapping
specification identifies a
deployed RestApi in a given stage of the owner Account.
See: newBasePathMapping
smart constructor.
Instances
newBasePathMapping :: BasePathMapping Source #
Create a value of BasePathMapping
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:stage:BasePathMapping'
, basePathMapping_stage
- The name of the associated stage.
$sel:basePath:BasePathMapping'
, basePathMapping_basePath
- The base path name that callers of the API must provide as part of the
URL after the domain name.
$sel:restApiId:BasePathMapping'
, basePathMapping_restApiId
- The string identifier of the associated RestApi.
basePathMapping_stage :: Lens' BasePathMapping (Maybe Text) Source #
The name of the associated stage.
basePathMapping_basePath :: Lens' BasePathMapping (Maybe Text) Source #
The base path name that callers of the API must provide as part of the URL after the domain name.
basePathMapping_restApiId :: Lens' BasePathMapping (Maybe Text) Source #
The string identifier of the associated RestApi.
CanarySettings
data CanarySettings Source #
Configuration settings of a canary deployment.
See: newCanarySettings
smart constructor.
CanarySettings' | |
|
Instances
newCanarySettings :: CanarySettings Source #
Create a value of CanarySettings
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:deploymentId:CanarySettings'
, canarySettings_deploymentId
- The ID of the canary deployment.
$sel:stageVariableOverrides:CanarySettings'
, canarySettings_stageVariableOverrides
- Stage variables overridden for a canary release deployment, including
new stage variables introduced in the canary. These stage variables are
represented as a string-to-string map between stage variable names and
their values.
$sel:useStageCache:CanarySettings'
, canarySettings_useStageCache
- A Boolean flag to indicate whether the canary deployment uses the stage
cache or not.
$sel:percentTraffic:CanarySettings'
, canarySettings_percentTraffic
- The percent (0-100) of traffic diverted to a canary deployment.
canarySettings_deploymentId :: Lens' CanarySettings (Maybe Text) Source #
The ID of the canary deployment.
canarySettings_stageVariableOverrides :: Lens' CanarySettings (Maybe (HashMap Text Text)) Source #
Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.
canarySettings_useStageCache :: Lens' CanarySettings (Maybe Bool) Source #
A Boolean flag to indicate whether the canary deployment uses the stage cache or not.
canarySettings_percentTraffic :: Lens' CanarySettings (Maybe Double) Source #
The percent (0-100) of traffic diverted to a canary deployment.
ClientCertificate
data ClientCertificate Source #
Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.
Client certificates are used to authenticate an API by the backend server. To authenticate an API client (or user), use IAM roles and policies, a custom Authorizer or an Amazon Cognito user pool.
See: newClientCertificate
smart constructor.
ClientCertificate' | |
|
Instances
newClientCertificate :: ClientCertificate Source #
Create a value of ClientCertificate
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:pemEncodedCertificate:ClientCertificate'
, clientCertificate_pemEncodedCertificate
- The PEM-encoded public key of the client certificate, which can be used
to configure certificate authentication in the integration endpoint .
$sel:clientCertificateId:ClientCertificate'
, clientCertificate_clientCertificateId
- The identifier of the client certificate.
$sel:createdDate:ClientCertificate'
, clientCertificate_createdDate
- The timestamp when the client certificate was created.
$sel:expirationDate:ClientCertificate'
, clientCertificate_expirationDate
- The timestamp when the client certificate will expire.
$sel:description:ClientCertificate'
, clientCertificate_description
- The description of the client certificate.
$sel:tags:ClientCertificate'
, clientCertificate_tags
- The collection of tags. Each tag element is associated with a given
resource.
clientCertificate_pemEncodedCertificate :: Lens' ClientCertificate (Maybe Text) Source #
The PEM-encoded public key of the client certificate, which can be used to configure certificate authentication in the integration endpoint .
clientCertificate_clientCertificateId :: Lens' ClientCertificate (Maybe Text) Source #
The identifier of the client certificate.
clientCertificate_createdDate :: Lens' ClientCertificate (Maybe UTCTime) Source #
The timestamp when the client certificate was created.
clientCertificate_expirationDate :: Lens' ClientCertificate (Maybe UTCTime) Source #
The timestamp when the client certificate will expire.
clientCertificate_description :: Lens' ClientCertificate (Maybe Text) Source #
The description of the client certificate.
clientCertificate_tags :: Lens' ClientCertificate (Maybe (HashMap Text Text)) Source #
The collection of tags. Each tag element is associated with a given resource.
Deployment
data Deployment Source #
An immutable representation of a RestApi resource that can be called by users using Stages. A deployment must be associated with a Stage for it to be callable over the Internet.
To create a deployment, call POST
on the Deployments resource of a
RestApi. To view, update, or delete a deployment, call GET
, PATCH
,
or DELETE
on the specified deployment resource
(/restapis/{restapi_id}/deployments/{deployment_id}
).
RestApi, Deployments, Stage, AWS CLI, AWS SDKs
See: newDeployment
smart constructor.
Deployment' | |
|
Instances
newDeployment :: Deployment Source #
Create a value of Deployment
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:apiSummary:Deployment'
, deployment_apiSummary
- A summary of the RestApi at the date and time that the deployment
resource was created.
$sel:createdDate:Deployment'
, deployment_createdDate
- The date and time that the deployment resource was created.
$sel:id:Deployment'
, deployment_id
- The identifier for the deployment resource.
$sel:description:Deployment'
, deployment_description
- The description for the deployment resource.
deployment_apiSummary :: Lens' Deployment (Maybe (HashMap Text (HashMap Text MethodSnapshot))) Source #
A summary of the RestApi at the date and time that the deployment resource was created.
deployment_createdDate :: Lens' Deployment (Maybe UTCTime) Source #
The date and time that the deployment resource was created.
deployment_id :: Lens' Deployment (Maybe Text) Source #
The identifier for the deployment resource.
deployment_description :: Lens' Deployment (Maybe Text) Source #
The description for the deployment resource.
DeploymentCanarySettings
data DeploymentCanarySettings Source #
The input configuration for a canary deployment.
See: newDeploymentCanarySettings
smart constructor.
DeploymentCanarySettings' | |
|
Instances
newDeploymentCanarySettings :: DeploymentCanarySettings Source #
Create a value of DeploymentCanarySettings
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:stageVariableOverrides:DeploymentCanarySettings'
, deploymentCanarySettings_stageVariableOverrides
- A stage variable overrides used for the canary release deployment. They
can override existing stage variables or add new stage variables for the
canary release deployment. These stage variables are represented as a
string-to-string map between stage variable names and their values.
$sel:useStageCache:DeploymentCanarySettings'
, deploymentCanarySettings_useStageCache
- A Boolean flag to indicate whether the canary release deployment uses
the stage cache or not.
$sel:percentTraffic:DeploymentCanarySettings'
, deploymentCanarySettings_percentTraffic
- The percentage (0.0-100.0) of traffic routed to the canary deployment.
deploymentCanarySettings_stageVariableOverrides :: Lens' DeploymentCanarySettings (Maybe (HashMap Text Text)) Source #
A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.
deploymentCanarySettings_useStageCache :: Lens' DeploymentCanarySettings (Maybe Bool) Source #
A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.
deploymentCanarySettings_percentTraffic :: Lens' DeploymentCanarySettings (Maybe Double) Source #
The percentage (0.0-100.0) of traffic routed to the canary deployment.
DocumentationPart
data DocumentationPart Source #
A documentation part for a targeted API entity.
A documentation part consists of a content map (properties
) and a
target (location
). The target specifies an API entity to which the
documentation content applies. The supported API entity types are API
,
AUTHORIZER
, MODEL
, RESOURCE
, METHOD
, PATH_PARAMETER
,
QUERY_PARAMETER
, REQUEST_HEADER
, REQUEST_BODY
, RESPONSE
,
RESPONSE_HEADER
, and RESPONSE_BODY
. Valid location
fields depend
on the API entity type. All valid fields are not required.
The content map is a JSON string of API-specific key-value pairs. Although an API can use any shape for the content map, only the OpenAPI-compliant documentation fields will be injected into the associated API entity definition in the exported OpenAPI definition file.
Documenting an API, DocumentationParts
See: newDocumentationPart
smart constructor.
DocumentationPart' | |
|
Instances
newDocumentationPart :: DocumentationPart Source #
Create a value of DocumentationPart
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:location:DocumentationPart'
, documentationPart_location
- The location of the API entity to which the documentation applies. Valid
fields depend on the targeted API entity type. All the valid location
fields are not required. If not explicitly specified, a valid location
field is treated as a wildcard and associated documentation content may
be inherited by matching entities, unless overridden.
$sel:id:DocumentationPart'
, documentationPart_id
- The DocumentationPart identifier, generated by API Gateway when the
DocumentationPart
is created.
$sel:properties:DocumentationPart'
, documentationPart_properties
- A content map of API-specific key-value pairs describing the targeted
API entity. The map must be encoded as a JSON string, e.g.,
"{ \"description\": \"The API does ...\" }"
. Only
OpenAPI-compliant documentation-related fields from the properties map
are exported and, hence, published as part of the API entity
definitions, while the original documentation parts are exported in a
OpenAPI extension of x-amazon-apigateway-documentation
.
documentationPart_location :: Lens' DocumentationPart (Maybe DocumentationPartLocation) Source #
The location of the API entity to which the documentation applies. Valid fields depend on the targeted API entity type. All the valid location fields are not required. If not explicitly specified, a valid location field is treated as a wildcard and associated documentation content may be inherited by matching entities, unless overridden.
documentationPart_id :: Lens' DocumentationPart (Maybe Text) Source #
The DocumentationPart identifier, generated by API Gateway when the
DocumentationPart
is created.
documentationPart_properties :: Lens' DocumentationPart (Maybe Text) Source #
A content map of API-specific key-value pairs describing the targeted
API entity. The map must be encoded as a JSON string, e.g.,
"{ \"description\": \"The API does ...\" }"
. Only
OpenAPI-compliant documentation-related fields from the properties map
are exported and, hence, published as part of the API entity
definitions, while the original documentation parts are exported in a
OpenAPI extension of x-amazon-apigateway-documentation
.
DocumentationPartLocation
data DocumentationPartLocation Source #
Specifies the target API entity to which the documentation applies.
See: newDocumentationPartLocation
smart constructor.
DocumentationPartLocation' | |
|
Instances
newDocumentationPartLocation Source #
Create a value of DocumentationPartLocation
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:path:DocumentationPartLocation'
, documentationPartLocation_path
- The URL path of the target. It is a valid field for the API entity types
of RESOURCE
, METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
,
REQUEST_HEADER
, REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and
RESPONSE_BODY
. The default value is /
for the root resource. When
an applicable child entity inherits the content of another entity of the
same type with more general specifications of the other location
attributes, the child entity's path
attribute must match that of the
parent entity as a prefix.
$sel:name:DocumentationPartLocation'
, documentationPartLocation_name
- The name of the targeted API entity. It is a valid and required field
for the API entity types of AUTHORIZER
, MODEL
, PATH_PARAMETER
,
QUERY_PARAMETER
, REQUEST_HEADER
, REQUEST_BODY
and
RESPONSE_HEADER
. It is an invalid field for any other entity type.
$sel:method:DocumentationPartLocation'
, documentationPartLocation_method
- The HTTP verb of a method. It is a valid field for the API entity types
of METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
, REQUEST_HEADER
,
REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The
default value is *
for any method. When an applicable child entity
inherits the content of an entity of the same type with more general
specifications of the other location
attributes, the child entity's
method
attribute must match that of the parent entity exactly.
$sel:statusCode:DocumentationPartLocation'
, documentationPartLocation_statusCode
- The HTTP status code of a response. It is a valid field for the API
entity types of RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The
default value is *
for any status code. When an applicable child
entity inherits the content of an entity of the same type with more
general specifications of the other location
attributes, the child
entity's statusCode
attribute must match that of the parent entity
exactly.
$sel:type':DocumentationPartLocation'
, documentationPartLocation_type
- [Required] The type of API entity to which the documentation content
applies. Valid values are API
, AUTHORIZER
, MODEL
, RESOURCE
,
METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
, REQUEST_HEADER
,
REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
.
Content inheritance does not apply to any entity of the API
,
AUTHORIZER
, METHOD
, MODEL
, REQUEST_BODY
, or RESOURCE
type.
documentationPartLocation_path :: Lens' DocumentationPartLocation (Maybe Text) Source #
The URL path of the target. It is a valid field for the API entity types
of RESOURCE
, METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
,
REQUEST_HEADER
, REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and
RESPONSE_BODY
. The default value is /
for the root resource. When
an applicable child entity inherits the content of another entity of the
same type with more general specifications of the other location
attributes, the child entity's path
attribute must match that of the
parent entity as a prefix.
documentationPartLocation_name :: Lens' DocumentationPartLocation (Maybe Text) Source #
The name of the targeted API entity. It is a valid and required field
for the API entity types of AUTHORIZER
, MODEL
, PATH_PARAMETER
,
QUERY_PARAMETER
, REQUEST_HEADER
, REQUEST_BODY
and
RESPONSE_HEADER
. It is an invalid field for any other entity type.
documentationPartLocation_method :: Lens' DocumentationPartLocation (Maybe Text) Source #
The HTTP verb of a method. It is a valid field for the API entity types
of METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
, REQUEST_HEADER
,
REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The
default value is *
for any method. When an applicable child entity
inherits the content of an entity of the same type with more general
specifications of the other location
attributes, the child entity's
method
attribute must match that of the parent entity exactly.
documentationPartLocation_statusCode :: Lens' DocumentationPartLocation (Maybe Text) Source #
The HTTP status code of a response. It is a valid field for the API
entity types of RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The
default value is *
for any status code. When an applicable child
entity inherits the content of an entity of the same type with more
general specifications of the other location
attributes, the child
entity's statusCode
attribute must match that of the parent entity
exactly.
documentationPartLocation_type :: Lens' DocumentationPartLocation DocumentationPartType Source #
- Required
- The type of API entity to which the documentation content
applies. Valid values are
API
,AUTHORIZER
,MODEL
,RESOURCE
,METHOD
,PATH_PARAMETER
,QUERY_PARAMETER
,REQUEST_HEADER
,REQUEST_BODY
,RESPONSE
,RESPONSE_HEADER
, andRESPONSE_BODY
. Content inheritance does not apply to any entity of theAPI
,AUTHORIZER
,METHOD
,MODEL
,REQUEST_BODY
, orRESOURCE
type.
DocumentationVersion
data DocumentationVersion Source #
A snapshot of the documentation of an API.
Publishing API documentation involves creating a documentation version associated with an API stage and exporting the versioned documentation to an external (e.g., OpenAPI) file.
Documenting an API, DocumentationPart, DocumentationVersions
See: newDocumentationVersion
smart constructor.
DocumentationVersion' | |
|
Instances
newDocumentationVersion :: DocumentationVersion Source #
Create a value of DocumentationVersion
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:createdDate:DocumentationVersion'
, documentationVersion_createdDate
- The date when the API documentation snapshot is created.
$sel:version:DocumentationVersion'
, documentationVersion_version
- The version identifier of the API documentation snapshot.
$sel:description:DocumentationVersion'
, documentationVersion_description
- The description of the API documentation snapshot.
documentationVersion_createdDate :: Lens' DocumentationVersion (Maybe UTCTime) Source #
The date when the API documentation snapshot is created.
documentationVersion_version :: Lens' DocumentationVersion (Maybe Text) Source #
The version identifier of the API documentation snapshot.
documentationVersion_description :: Lens' DocumentationVersion (Maybe Text) Source #
The description of the API documentation snapshot.
DomainName
data DomainName Source #
Represents a custom domain name as a user-friendly host name of an API (RestApi).
When you deploy an API, API Gateway creates a default host name for the
API. This default API host name is of the
{restapi-id}.execute-api.{region}.amazonaws.com
format. With the
default host name, you can access the API's root resource with the URL
of
https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/
.
When you set up a custom domain name of apis.example.com
for this API,
you can then access the same resource using the URL of the
https://apis.examples.com/myApi
, where myApi
is the base path
mapping (BasePathMapping) of your API under the custom domain name.
Set a Custom Host Name for an API
See: newDomainName
smart constructor.
DomainName' | |
|
Instances
newDomainName :: DomainName Source #
Create a value of DomainName
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:regionalHostedZoneId:DomainName'
, domainName_regionalHostedZoneId
- The region-specific Amazon Route 53 Hosted Zone ID of the regional
endpoint. For more information, see
Set up a Regional Custom Domain Name
and
AWS Regions and Endpoints for API Gateway.
$sel:certificateName:DomainName'
, domainName_certificateName
- The name of the certificate that will be used by edge-optimized endpoint
for this domain name.
$sel:ownershipVerificationCertificateArn:DomainName'
, domainName_ownershipVerificationCertificateArn
- 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.
$sel:regionalCertificateArn:DomainName'
, domainName_regionalCertificateArn
- The reference to an AWS-managed certificate that will be used for
validating the regional domain name. AWS Certificate Manager is the only
supported source.
$sel:certificateArn:DomainName'
, domainName_certificateArn
- The reference to an AWS-managed certificate that will be used by
edge-optimized endpoint for this domain name. AWS Certificate Manager is
the only supported source.
$sel:distributionHostedZoneId:DomainName'
, domainName_distributionHostedZoneId
- The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized
endpoint. The valid value is Z2FDTNDATAQYW2
for all the regions. For
more information, see
Set up a Regional Custom Domain Name
and
AWS Regions and Endpoints for API Gateway.
$sel:securityPolicy:DomainName'
, domainName_securityPolicy
- The Transport Layer Security (TLS) version + cipher suite for this
DomainName. The valid values are TLS_1_0
and TLS_1_2
.
$sel:domainName:DomainName'
, domainName_domainName
- The custom domain name as an API host name, for example,
my-api.example.com
.
$sel:mutualTlsAuthentication:DomainName'
, domainName_mutualTlsAuthentication
- The mutual TLS authentication configuration for a custom domain name. If
specified, API Gateway performs two-way authentication between the
client and the server. Clients must present a trusted certificate to
access your API.
$sel:regionalCertificateName:DomainName'
, domainName_regionalCertificateName
- The name of the certificate that will be used for validating the
regional domain name.
$sel:regionalDomainName:DomainName'
, domainName_regionalDomainName
- The domain name associated with the regional endpoint for this custom
domain name. You set up this association by adding a DNS record that
points the custom domain name to this regional domain name. The regional
domain name is returned by API Gateway when you create a regional
endpoint.
$sel:certificateUploadDate:DomainName'
, domainName_certificateUploadDate
- The timestamp when the certificate that was used by edge-optimized
endpoint for this domain name was uploaded.
$sel:distributionDomainName:DomainName'
, domainName_distributionDomainName
- The domain name of the Amazon CloudFront distribution associated with
this custom domain name for an edge-optimized endpoint. You set up this
association when adding a DNS record pointing the custom domain name to
this distribution name. For more information about CloudFront
distributions, see the
Amazon CloudFront documentation.
$sel:domainNameStatusMessage:DomainName'
, domainName_domainNameStatusMessage
- An optional text message containing detailed information about status of
the DomainName migration.
$sel:endpointConfiguration:DomainName'
, domainName_endpointConfiguration
- The endpoint configuration of this DomainName showing the endpoint types
of the domain name.
$sel:domainNameStatus:DomainName'
, domainName_domainNameStatus
- The status of the DomainName 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.
$sel:tags:DomainName'
, domainName_tags
- The collection of tags. Each tag element is associated with a given
resource.
domainName_regionalHostedZoneId :: Lens' DomainName (Maybe Text) Source #
The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.
domainName_certificateName :: Lens' DomainName (Maybe Text) Source #
The name of the certificate that will be used by edge-optimized endpoint for this domain name.
domainName_ownershipVerificationCertificateArn :: Lens' DomainName (Maybe Text) Source #
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.
domainName_regionalCertificateArn :: Lens' DomainName (Maybe Text) Source #
The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.
domainName_certificateArn :: Lens' DomainName (Maybe Text) Source #
The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
domainName_distributionHostedZoneId :: Lens' DomainName (Maybe Text) Source #
The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized
endpoint. The valid value is Z2FDTNDATAQYW2
for all the regions. For
more information, see
Set up a Regional Custom Domain Name
and
AWS Regions and Endpoints for API Gateway.
domainName_securityPolicy :: Lens' DomainName (Maybe SecurityPolicy) Source #
The Transport Layer Security (TLS) version + cipher suite for this
DomainName. The valid values are TLS_1_0
and TLS_1_2
.
domainName_domainName :: Lens' DomainName (Maybe Text) Source #
The custom domain name as an API host name, for example,
my-api.example.com
.
domainName_mutualTlsAuthentication :: Lens' DomainName (Maybe MutualTlsAuthentication) Source #
The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
domainName_regionalCertificateName :: Lens' DomainName (Maybe Text) Source #
The name of the certificate that will be used for validating the regional domain name.
domainName_regionalDomainName :: Lens' DomainName (Maybe Text) Source #
The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.
domainName_certificateUploadDate :: Lens' DomainName (Maybe UTCTime) Source #
The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.
domainName_distributionDomainName :: Lens' DomainName (Maybe Text) Source #
The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.
domainName_domainNameStatusMessage :: Lens' DomainName (Maybe Text) Source #
An optional text message containing detailed information about status of the DomainName migration.
domainName_endpointConfiguration :: Lens' DomainName (Maybe EndpointConfiguration) Source #
The endpoint configuration of this DomainName showing the endpoint types of the domain name.
domainName_domainNameStatus :: Lens' DomainName (Maybe DomainNameStatus) Source #
The status of the DomainName 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.
domainName_tags :: Lens' DomainName (Maybe (HashMap Text Text)) Source #
The collection of tags. Each tag element is associated with a given resource.
EndpointConfiguration
data EndpointConfiguration Source #
The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
See: newEndpointConfiguration
smart constructor.
EndpointConfiguration' | |
|
Instances
newEndpointConfiguration :: EndpointConfiguration Source #
Create a value of EndpointConfiguration
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:types:EndpointConfiguration'
, endpointConfiguration_types
- A list of endpoint types of an API (RestApi) or its custom domain name
(DomainName). For an edge-optimized API and its custom domain name, the
endpoint type is "EDGE"
. For a regional API and its custom domain
name, the endpoint type is REGIONAL
. For a private API, the endpoint
type is PRIVATE
.
$sel:vpcEndpointIds:EndpointConfiguration'
, endpointConfiguration_vpcEndpointIds
- A list of VpcEndpointIds of an API (RestApi) against which to create
Route53 ALIASes. It is only supported for PRIVATE
endpoint type.
endpointConfiguration_types :: Lens' EndpointConfiguration (Maybe [EndpointType]) Source #
A list of endpoint types of an API (RestApi) or its custom domain name
(DomainName). For an edge-optimized API and its custom domain name, the
endpoint type is "EDGE"
. For a regional API and its custom domain
name, the endpoint type is REGIONAL
. For a private API, the endpoint
type is PRIVATE
.
endpointConfiguration_vpcEndpointIds :: Lens' EndpointConfiguration (Maybe [Text]) Source #
A list of VpcEndpointIds of an API (RestApi) against which to create
Route53 ALIASes. It is only supported for PRIVATE
endpoint type.
GatewayResponse
data GatewayResponse Source #
A gateway response of a given response type and status code, with optional response parameters and mapping templates.
For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway
Example: Get a Gateway Response of a given response type
Request
This example shows how to get a gateway response of the
MISSING_AUTHENTICATION_TOKEN
type.
GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45
The response type is specified as a URL path.
Response
The successful operation returns the 200 OK
status code and a payload
similar to the following:
{ "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html", "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path": "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin": "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q", "gatewayresponse.header.x-request-header": "method.request.header.Accept" }, "responseTemplates": { "application/json": "{\n \"message\": $context.error.messageString,\n \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN", "statusCode": "404" }
See: newGatewayResponse
smart constructor.
GatewayResponse' | |
|
Instances
newGatewayResponse :: GatewayResponse Source #
Create a value of GatewayResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:defaultResponse:GatewayResponse'
, gatewayResponse_defaultResponse
- A Boolean flag to indicate whether this GatewayResponse is the default
gateway response (true
) or not (false
). A default gateway response
is one generated by API Gateway without any customization by an API
developer.
$sel:responseTemplates:GatewayResponse'
, gatewayResponse_responseTemplates
- Response templates of the GatewayResponse as a string-to-string map of
key-value pairs.
$sel:responseType:GatewayResponse'
, gatewayResponse_responseType
- The response type of the associated GatewayResponse.
$sel:statusCode:GatewayResponse'
, gatewayResponse_statusCode
- The HTTP status code for this GatewayResponse.
$sel:responseParameters:GatewayResponse'
, gatewayResponse_responseParameters
- Response parameters (paths, query strings and headers) of the
GatewayResponse as a string-to-string map of key-value pairs.
gatewayResponse_defaultResponse :: Lens' GatewayResponse (Maybe Bool) Source #
A Boolean flag to indicate whether this GatewayResponse is the default
gateway response (true
) or not (false
). A default gateway response
is one generated by API Gateway without any customization by an API
developer.
gatewayResponse_responseTemplates :: Lens' GatewayResponse (Maybe (HashMap Text Text)) Source #
Response templates of the GatewayResponse as a string-to-string map of key-value pairs.
gatewayResponse_responseType :: Lens' GatewayResponse (Maybe GatewayResponseType) Source #
The response type of the associated GatewayResponse.
gatewayResponse_statusCode :: Lens' GatewayResponse (Maybe Text) Source #
The HTTP status code for this GatewayResponse.
gatewayResponse_responseParameters :: Lens' GatewayResponse (Maybe (HashMap Text Text)) Source #
Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.
Integration
data Integration Source #
Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.
In the API Gateway console, the built-in Lambda integration is an AWS integration.
See: newIntegration
smart constructor.
Integration' | |
|
Instances
newIntegration :: Integration Source #
Create a value of Integration
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:httpMethod:Integration'
, integration_httpMethod
- Specifies the integration's HTTP method type.
$sel:requestTemplates:Integration'
, integration_requestTemplates
- 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.
$sel:credentials:Integration'
, integration_credentials
- 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.
$sel:connectionId:Integration'
, integration_connectionId
- The
(id)
of the VpcLink used for the integration when connectionType=VPC_LINK
and undefined, otherwise.
$sel:requestParameters:Integration'
, integration_requestParameters
- A key-value map specifying request parameters that are passed from the
method request to the back end. 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 back end. 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.
$sel:contentHandling:Integration'
, integration_contentHandling
- Specifies how to handle request payload content type conversions.
Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the
following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.CONVERT_TO_TEXT
: Converts a request payload from a binary blob to a Base64-encoded string.
If this property is not defined, the request payload will be passed
through from the method request to integration request without
modification, provided that the passthroughBehavior
is configured to
support payload pass-through.
$sel:passthroughBehavior:Integration'
, integration_passthroughBehavior
- Specifies how the method request body of an unmapped content type will
be passed through the integration request to the back end without
transformation. A content type is unmapped if no mapping template is
defined in the integration or the content type does not match any of the
mapped content types, as specified in requestTemplates
. The valid
value is one of the following:
WHEN_NO_MATCH
: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES
: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP415 Unsupported Media Type
response.NEVER
: rejects the method request with an HTTP415 Unsupported Media Type
response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
$sel:uri:Integration'
, integration_uri
- Specifies Uniform Resource Identifier (URI) of the integration endpoint.
- For
HTTP
orHTTP_PROXY
integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, whereconnectionType
is notVPC_LINK
, or private integration, whereconnectionType
isVPC_LINK
. For a private HTTP integration, the URI is not used for routing. - For
AWS
orAWS_PROXY
integrations, the URI is of the formarn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}
. Here,{Region}
is the API Gateway region (e.g.,us-east-1
);{service}
is the name of the integrated AWS service (e.g.,s3
); and{subdomain}
is a designated subdomain supported by certain AWS service for fast host-name lookup.action
can be used for an AWS service action-based API, using anAction={name}&{p1}={v1}&p2={v2}...
query string. The ensuing{service_api}
refers to a supported action{name}
plus any required input parameters. Alternatively,path
can be used for an AWS service path-based API. The ensuingservice_api
refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API ofGetObject
, theuri
can be eitherarn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
orarn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
$sel:integrationResponses:Integration'
, integration_integrationResponses
- Specifies the integration's responses.
Example: Get integration responses of a method
Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns 200 OK
status and a payload as
follows:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" }
$sel:tlsConfig:Integration'
, integration_tlsConfig
- Specifies the TLS configuration for an integration.
$sel:cacheNamespace:Integration'
, integration_cacheNamespace
- Specifies a group of related cached parameters. By default, API Gateway
uses the resource ID as the cacheNamespace
. You can specify the same
cacheNamespace
across resources to return the same cached data for
requests to different resources.
$sel:timeoutInMillis:Integration'
, integration_timeoutInMillis
- Custom timeout between 50 and 29,000 milliseconds. The default value is
29,000 milliseconds or 29 seconds.
$sel:type':Integration'
, integration_type
- Specifies an API method integration type. The valid value is one of the
following:
AWS
: for integrating the API 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 API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.HTTP
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.MOCK
: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
For the HTTP and HTTP proxy integrations, each integration can specify a
protocol (http/https
), port and path. Standard 80 and 443 ports are
supported as well as custom ports above 1024. An HTTP or HTTP proxy
integration with a connectionType
of VPC_LINK
is referred to as a
private integration and uses a VpcLink to connect API Gateway to a
network load balancer of a VPC.
$sel:connectionType:Integration'
, integration_connectionType
- The type of the network connection to the integration endpoint. The
valid value is INTERNET
for connections through the public routable
internet or VPC_LINK
for private connections between API Gateway and a
network load balancer in a VPC. The default value is INTERNET
.
$sel:cacheKeyParameters:Integration'
, integration_cacheKeyParameters
- A list of request parameters whose values API Gateway caches. To be
valid values for cacheKeyParameters
, these parameters must also be
specified for Method requestParameters
.
integration_httpMethod :: Lens' Integration (Maybe Text) Source #
Specifies the integration's HTTP method type.
integration_requestTemplates :: Lens' Integration (Maybe (HashMap Text Text)) Source #
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.
integration_credentials :: Lens' Integration (Maybe Text) Source #
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.
integration_connectionId :: Lens' Integration (Maybe Text) Source #
The
(id)
of the VpcLink used for the integration when connectionType=VPC_LINK
and undefined, otherwise.
integration_requestParameters :: Lens' Integration (Maybe (HashMap Text Text)) Source #
A key-value map specifying request parameters that are passed from the
method request to the back end. 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 back end. 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.
integration_contentHandling :: Lens' Integration (Maybe ContentHandlingStrategy) Source #
Specifies how to handle request payload content type conversions.
Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the
following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.CONVERT_TO_TEXT
: Converts a request payload from a binary blob to a Base64-encoded string.
If this property is not defined, the request payload will be passed
through from the method request to integration request without
modification, provided that the passthroughBehavior
is configured to
support payload pass-through.
integration_passthroughBehavior :: Lens' Integration (Maybe Text) Source #
Specifies how the method request body of an unmapped content type will
be passed through the integration request to the back end without
transformation. A content type is unmapped if no mapping template is
defined in the integration or the content type does not match any of the
mapped content types, as specified in requestTemplates
. The valid
value is one of the following:
WHEN_NO_MATCH
: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES
: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP415 Unsupported Media Type
response.NEVER
: rejects the method request with an HTTP415 Unsupported Media Type
response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
integration_uri :: Lens' Integration (Maybe Text) Source #
Specifies Uniform Resource Identifier (URI) of the integration endpoint.
- For
HTTP
orHTTP_PROXY
integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, whereconnectionType
is notVPC_LINK
, or private integration, whereconnectionType
isVPC_LINK
. For a private HTTP integration, the URI is not used for routing. - For
AWS
orAWS_PROXY
integrations, the URI is of the formarn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}
. Here,{Region}
is the API Gateway region (e.g.,us-east-1
);{service}
is the name of the integrated AWS service (e.g.,s3
); and{subdomain}
is a designated subdomain supported by certain AWS service for fast host-name lookup.action
can be used for an AWS service action-based API, using anAction={name}&{p1}={v1}&p2={v2}...
query string. The ensuing{service_api}
refers to a supported action{name}
plus any required input parameters. Alternatively,path
can be used for an AWS service path-based API. The ensuingservice_api
refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API ofGetObject
, theuri
can be eitherarn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
orarn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
integration_integrationResponses :: Lens' Integration (Maybe (HashMap Text IntegrationResponse)) Source #
Specifies the integration's responses.
Example: Get integration responses of a method
Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns 200 OK
status and a payload as
follows:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" }
integration_tlsConfig :: Lens' Integration (Maybe TlsConfig) Source #
Specifies the TLS configuration for an integration.
integration_cacheNamespace :: Lens' Integration (Maybe Text) Source #
Specifies a group of related cached parameters. By default, API Gateway
uses the resource ID as the cacheNamespace
. You can specify the same
cacheNamespace
across resources to return the same cached data for
requests to different resources.
integration_timeoutInMillis :: Lens' Integration (Maybe Int) Source #
Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
integration_type :: Lens' Integration (Maybe IntegrationType) Source #
Specifies an API method integration type. The valid value is one of the following:
AWS
: for integrating the API 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 API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.HTTP
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.MOCK
: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
For the HTTP and HTTP proxy integrations, each integration can specify a
protocol (http/https
), port and path. Standard 80 and 443 ports are
supported as well as custom ports above 1024. An HTTP or HTTP proxy
integration with a connectionType
of VPC_LINK
is referred to as a
private integration and uses a VpcLink to connect API Gateway to a
network load balancer of a VPC.
integration_connectionType :: Lens' Integration (Maybe ConnectionType) Source #
The type of the network connection to the integration endpoint. The
valid value is INTERNET
for connections through the public routable
internet or VPC_LINK
for private connections between API Gateway and a
network load balancer in a VPC. The default value is INTERNET
.
integration_cacheKeyParameters :: Lens' Integration (Maybe [Text]) Source #
A list of request parameters whose values API Gateway caches. To be
valid values for cacheKeyParameters
, these parameters must also be
specified for Method requestParameters
.
IntegrationResponse
data IntegrationResponse Source #
Represents an integration response. The status code must map to an existing MethodResponse, and parameters and templates can be used to transform the back-end response.
See: newIntegrationResponse
smart constructor.
IntegrationResponse' | |
|
Instances
newIntegrationResponse :: IntegrationResponse Source #
Create a value of IntegrationResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:contentHandling:IntegrationResponse'
, integrationResponse_contentHandling
- 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 method response without modification.
$sel:responseTemplates:IntegrationResponse'
, integrationResponse_responseTemplates
- Specifies the templates used to transform the integration response body.
Response templates are represented as a key/value map, with a
content-type as the key and a template as the value.
$sel:selectionPattern:IntegrationResponse'
, integrationResponse_selectionPattern
- Specifies the regular expression (regex) pattern used to choose an
integration response based on the response from the back end. For
example, if the success response returns nothing and the error response
returns some string, you could use the .+
regex to match error
response. However, make sure that the error response does not contain
any newline (\n
) character in such cases. If the back end is an AWS
Lambda function, the AWS Lambda function error header is matched. For
all other HTTP and AWS back ends, the HTTP status code is matched.
$sel:statusCode:IntegrationResponse'
, integrationResponse_statusCode
- Specifies the status code that is used to map the integration response
to an existing MethodResponse.
$sel:responseParameters:IntegrationResponse'
, integrationResponse_responseParameters
- A key-value map specifying response parameters that are passed to the
method response from the back end. 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.
integrationResponse_contentHandling :: Lens' IntegrationResponse (Maybe ContentHandlingStrategy) Source #
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 method response without modification.
integrationResponse_responseTemplates :: Lens' IntegrationResponse (Maybe (HashMap Text Text)) Source #
Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
integrationResponse_selectionPattern :: Lens' IntegrationResponse (Maybe Text) Source #
Specifies the regular expression (regex) pattern used to choose an
integration response based on the response from the back end. For
example, if the success response returns nothing and the error response
returns some string, you could use the .+
regex to match error
response. However, make sure that the error response does not contain
any newline (\n
) character in such cases. If the back end is an AWS
Lambda function, the AWS Lambda function error header is matched. For
all other HTTP and AWS back ends, the HTTP status code is matched.
integrationResponse_statusCode :: Lens' IntegrationResponse (Maybe Text) Source #
Specifies the status code that is used to map the integration response to an existing MethodResponse.
integrationResponse_responseParameters :: Lens' IntegrationResponse (Maybe (HashMap Text Text)) Source #
A key-value map specifying response parameters that are passed to the
method response from the back end. 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.
Method
Represents a client-facing interface by which the client calls the API to access back-end resources. A Method resource is integrated with an Integration resource. Both consist of a request and one or more responses. The method request takes the client input that is passed to the back end through the integration request. A method response returns the output from the back end to the client through an integration response. A method request is embodied in a Method resource, whereas an integration request is embodied in an Integration resource. On the other hand, a method response is represented by a MethodResponse resource, whereas an integration response is represented by an IntegrationResponse resource.
Example: Retrive the GET method on a specified resource
Request
The following example request retrieves the information about the GET
method on an API resource (3kzxbg5sa2
) of an API (fugvjdxtri
).
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns a 200 OK
status code and a payload
similar to the following:
{ "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}", "templated": true } }, "apiKeyRequired": true, "authorizationType": "NONE", "httpMethod": "GET", "_embedded": { "method:integration": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json": "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\")" }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" } } }
In the example above, the response template for the 200 OK
response
maps the JSON output from the ListStreams
action in the back end to an
XML output. The mapping template is URL-encoded as
%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E
and the output is decoded using the
$util.urlDecode()
helper function.
MethodResponse, Integration, IntegrationResponse, Resource, Set up an API's method
See: newMethod
smart constructor.
Method' | |
|
Instances
Create a value of Method
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:methodResponses:Method'
, method_methodResponses
- Gets a method response associated with a given HTTP status code.
The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.
Example: Get a 200 OK response of a GET method
Request
GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns a 200 OK
status code and a payload
similar to the following:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.operator": false, "method.response.header.operand_2": false, "method.response.header.operand_1": false }, "statusCode": "200" }
$sel:httpMethod:Method'
, method_httpMethod
- The method's HTTP verb.
$sel:authorizationScopes:Method'
, method_authorizationScopes
- A list of authorization scopes configured on the method. The scopes are
used with a COGNITO_USER_POOLS
authorizer to authorize the method
invocation. The authorization works by matching the method scopes
against the scopes parsed from the access token in the incoming request.
The method invocation is authorized if any method scopes matches a
claimed scope in the access token. Otherwise, the invocation is not
authorized. When the method scope is configured, the client must provide
an access token instead of an identity token for authorization purposes.
$sel:requestValidatorId:Method'
, method_requestValidatorId
- The identifier of a RequestValidator for request validation.
$sel:requestModels:Method'
, method_requestModels
- A key-value map specifying data schemas, represented by Model resources,
(as the mapped value) of the request payloads of given content types (as
the mapping key).
$sel:requestParameters:Method'
, method_requestParameters
- A key-value map defining required or optional method request parameters
that can be accepted by API Gateway. A key is a method request parameter
name matching the pattern of method.request.{location}.{name}
, where
location
is querystring
, path
, or header
and name
is a valid
and unique parameter name. The value associated with the key is a
Boolean flag indicating whether the parameter is required (true
) or
optional (false
). The method request parameter names defined here are
available in Integration to be mapped to integration request parameters
or templates.
$sel:authorizerId:Method'
, method_authorizerId
- The identifier of an Authorizer to use on this method. The
authorizationType
must be CUSTOM
.
$sel:operationName:Method'
, method_operationName
- A human-friendly operation identifier for the method. For example, you
can assign the operationName
of ListPets
for the GET /pets
method
in the PetStore
example.
$sel:authorizationType:Method'
, method_authorizationType
- The method's authorization type. Valid values are NONE
for open
access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a
custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user
pool.
$sel:apiKeyRequired:Method'
, method_apiKeyRequired
- A boolean flag specifying whether a valid ApiKey is required to invoke
this method.
$sel:methodIntegration:Method'
, method_methodIntegration
- Gets the method's integration responsible for passing the
client-submitted request to the back end and performing necessary
transformations to make the request compliant with the back end.
Example:
Request
GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns a 200 OK
status code and a payload
similar to the following:
{ "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true } ], "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:responses": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": { "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\": \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations", "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.operator": "integration.response.body.op", "method.response.header.operand_2": "integration.response.body.b", "method.response.header.operand_1": "integration.response.body.a" }, "responseTemplates": { "application/json": "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op => $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } } }
method_methodResponses :: Lens' Method (Maybe (HashMap Text MethodResponse)) Source #
Gets a method response associated with a given HTTP status code.
The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.
Example: Get a 200 OK response of a GET method
Request
GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns a 200 OK
status code and a payload
similar to the following:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.operator": false, "method.response.header.operand_2": false, "method.response.header.operand_1": false }, "statusCode": "200" }
method_authorizationScopes :: Lens' Method (Maybe [Text]) Source #
A list of authorization scopes configured on the method. The scopes are
used with a COGNITO_USER_POOLS
authorizer to authorize the method
invocation. The authorization works by matching the method scopes
against the scopes parsed from the access token in the incoming request.
The method invocation is authorized if any method scopes matches a
claimed scope in the access token. Otherwise, the invocation is not
authorized. When the method scope is configured, the client must provide
an access token instead of an identity token for authorization purposes.
method_requestValidatorId :: Lens' Method (Maybe Text) Source #
The identifier of a RequestValidator for request validation.
method_requestModels :: Lens' Method (Maybe (HashMap Text Text)) Source #
A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).
method_requestParameters :: Lens' Method (Maybe (HashMap Text Bool)) Source #
A key-value map defining required or optional method request parameters
that can be accepted by API Gateway. A key is a method request parameter
name matching the pattern of method.request.{location}.{name}
, where
location
is querystring
, path
, or header
and name
is a valid
and unique parameter name. The value associated with the key is a
Boolean flag indicating whether the parameter is required (true
) or
optional (false
). The method request parameter names defined here are
available in Integration to be mapped to integration request parameters
or templates.
method_authorizerId :: Lens' Method (Maybe Text) Source #
The identifier of an Authorizer to use on this method. The
authorizationType
must be CUSTOM
.
method_operationName :: Lens' Method (Maybe Text) Source #
A human-friendly operation identifier for the method. For example, you
can assign the operationName
of ListPets
for the GET /pets
method
in the PetStore
example.
method_authorizationType :: Lens' Method (Maybe Text) Source #
The method's authorization type. Valid values are NONE
for open
access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a
custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user
pool.
method_apiKeyRequired :: Lens' Method (Maybe Bool) Source #
A boolean flag specifying whether a valid ApiKey is required to invoke this method.
method_methodIntegration :: Lens' Method (Maybe Integration) Source #
Gets the method's integration responsible for passing the client-submitted request to the back end and performing necessary transformations to make the request compliant with the back end.
Example:
Request
GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns a 200 OK
status code and a payload
similar to the following:
{ "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true } ], "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:responses": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": { "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\": \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations", "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.operator": "integration.response.body.op", "method.response.header.operand_2": "integration.response.body.b", "method.response.header.operand_1": "integration.response.body.a" }, "responseTemplates": { "application/json": "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op => $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } } }
MethodResponse
data MethodResponse Source #
Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.
Example: A MethodResponse instance of an API
Request
The example request retrieves a MethodResponse of the 200 status code.
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
The successful response returns 200 OK
status and a payload as
follows:
{ "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" }
Method, IntegrationResponse, Integration Creating an API
See: newMethodResponse
smart constructor.
MethodResponse' | |
|
Instances
newMethodResponse :: MethodResponse Source #
Create a value of MethodResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:responseModels:MethodResponse'
, methodResponse_responseModels
- Specifies the Model resources used for the response's content-type.
Response models are represented as a key/value map, with a content-type
as the key and a Model name as the value.
$sel:statusCode:MethodResponse'
, methodResponse_statusCode
- The method response's status code.
$sel:responseParameters:MethodResponse'
, methodResponse_responseParameters
- A key-value map specifying required or optional response parameters that
API Gateway can send back to the caller. A key defines a method response
header and the value specifies whether the associated method response
header is required or not. The expression of the key must match the
pattern method.response.header.{name}
, where name
is a valid and
unique header name. API Gateway passes certain integration response data
to the method response headers specified here according to the mapping
you prescribe in the API's IntegrationResponse. The integration
response data that can be mapped include an integration response header
expressed in integration.response.header.{name}
, a static value
enclosed within a pair of single quotes (e.g., 'application/json'
),
or a JSON expression from the back-end response payload in the form of
integration.response.body.{JSON-expression}
, where JSON-expression
is a valid JSON expression without the $
prefix.)
methodResponse_responseModels :: Lens' MethodResponse (Maybe (HashMap Text Text)) Source #
Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.
methodResponse_statusCode :: Lens' MethodResponse (Maybe Text) Source #
The method response's status code.
methodResponse_responseParameters :: Lens' MethodResponse (Maybe (HashMap Text Bool)) Source #
A key-value map specifying required or optional response parameters that
API Gateway can send back to the caller. A key defines a method response
header and the value specifies whether the associated method response
header is required or not. The expression of the key must match the
pattern method.response.header.{name}
, where name
is a valid and
unique header name. API Gateway passes certain integration response data
to the method response headers specified here according to the mapping
you prescribe in the API's IntegrationResponse. The integration
response data that can be mapped include an integration response header
expressed in integration.response.header.{name}
, a static value
enclosed within a pair of single quotes (e.g., 'application/json'
),
or a JSON expression from the back-end response payload in the form of
integration.response.body.{JSON-expression}
, where JSON-expression
is a valid JSON expression without the $
prefix.)
MethodSetting
data MethodSetting Source #
Specifies the method setting properties.
See: newMethodSetting
smart constructor.
MethodSetting' | |
|
Instances
newMethodSetting :: MethodSetting Source #
Create a value of MethodSetting
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:cacheTtlInSeconds:MethodSetting'
, methodSetting_cacheTtlInSeconds
- Specifies the time to live (TTL), in seconds, for cached responses. The
higher the TTL, the longer the response will be cached. The PATCH path
for this setting is /{method_setting_key}/caching/ttlInSeconds
, and
the value is an integer.
$sel:dataTraceEnabled:MethodSetting'
, methodSetting_dataTraceEnabled
- Specifies whether data trace logging is enabled for this method, which
affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path
for this setting is /{method_setting_key}/logging/dataTrace
, and
the value is a Boolean.
$sel:throttlingBurstLimit:MethodSetting'
, methodSetting_throttlingBurstLimit
- Specifies the throttling burst limit. The PATCH path for this setting is
/{method_setting_key}/throttling/burstLimit
, and the value is an
integer.
$sel:cacheDataEncrypted:MethodSetting'
, methodSetting_cacheDataEncrypted
- Specifies whether the cached responses are encrypted. The PATCH path for
this setting is /{method_setting_key}/caching/dataEncrypted
, and
the value is a Boolean.
$sel:loggingLevel:MethodSetting'
, methodSetting_loggingLevel
- Specifies the logging level for this method, which affects the log
entries pushed to Amazon CloudWatch Logs. The PATCH path for this
setting is /{method_setting_key}/logging/loglevel
, and the
available levels are OFF
, ERROR
, and INFO
. Choose ERROR
to write
only error-level entries to CloudWatch Logs, or choose INFO
to include
all ERROR
events as well as extra informational events.
$sel:requireAuthorizationForCacheControl:MethodSetting'
, methodSetting_requireAuthorizationForCacheControl
- Specifies whether authorization is required for a cache invalidation
request. The PATCH path for this setting is
/{method_setting_key}/caching/requireAuthorizationForCacheControl
,
and the value is a Boolean.
$sel:cachingEnabled:MethodSetting'
, methodSetting_cachingEnabled
- Specifies whether responses should be cached and returned for requests.
A cache cluster must be enabled on the stage for responses to be cached.
The PATCH path for this setting is
/{method_setting_key}/caching/enabled
, and the value is a Boolean.
$sel:metricsEnabled:MethodSetting'
, methodSetting_metricsEnabled
- Specifies whether Amazon CloudWatch metrics are enabled for this method.
The PATCH path for this setting is
/{method_setting_key}/metrics/enabled
, and the value is a Boolean.
$sel:throttlingRateLimit:MethodSetting'
, methodSetting_throttlingRateLimit
- Specifies the throttling rate limit. The PATCH path for this setting is
/{method_setting_key}/throttling/rateLimit
, and the value is a
double.
$sel:unauthorizedCacheControlHeaderStrategy:MethodSetting'
, methodSetting_unauthorizedCacheControlHeaderStrategy
- Specifies how to handle unauthorized requests for cache invalidation.
The PATCH path for this setting is
/{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy
,
and the available values are FAIL_WITH_403
,
SUCCEED_WITH_RESPONSE_HEADER
, SUCCEED_WITHOUT_RESPONSE_HEADER
.
methodSetting_cacheTtlInSeconds :: Lens' MethodSetting (Maybe Int) Source #
Specifies the time to live (TTL), in seconds, for cached responses. The
higher the TTL, the longer the response will be cached. The PATCH path
for this setting is /{method_setting_key}/caching/ttlInSeconds
, and
the value is an integer.
methodSetting_dataTraceEnabled :: Lens' MethodSetting (Maybe Bool) Source #
Specifies whether data trace logging is enabled for this method, which
affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path
for this setting is /{method_setting_key}/logging/dataTrace
, and
the value is a Boolean.
methodSetting_throttlingBurstLimit :: Lens' MethodSetting (Maybe Int) Source #
Specifies the throttling burst limit. The PATCH path for this setting is
/{method_setting_key}/throttling/burstLimit
, and the value is an
integer.
methodSetting_cacheDataEncrypted :: Lens' MethodSetting (Maybe Bool) Source #
Specifies whether the cached responses are encrypted. The PATCH path for
this setting is /{method_setting_key}/caching/dataEncrypted
, and
the value is a Boolean.
methodSetting_loggingLevel :: Lens' MethodSetting (Maybe Text) Source #
Specifies the logging level for this method, which affects the log
entries pushed to Amazon CloudWatch Logs. The PATCH path for this
setting is /{method_setting_key}/logging/loglevel
, and the
available levels are OFF
, ERROR
, and INFO
. Choose ERROR
to write
only error-level entries to CloudWatch Logs, or choose INFO
to include
all ERROR
events as well as extra informational events.
methodSetting_requireAuthorizationForCacheControl :: Lens' MethodSetting (Maybe Bool) Source #
Specifies whether authorization is required for a cache invalidation
request. The PATCH path for this setting is
/{method_setting_key}/caching/requireAuthorizationForCacheControl
,
and the value is a Boolean.
methodSetting_cachingEnabled :: Lens' MethodSetting (Maybe Bool) Source #
Specifies whether responses should be cached and returned for requests.
A cache cluster must be enabled on the stage for responses to be cached.
The PATCH path for this setting is
/{method_setting_key}/caching/enabled
, and the value is a Boolean.
methodSetting_metricsEnabled :: Lens' MethodSetting (Maybe Bool) Source #
Specifies whether Amazon CloudWatch metrics are enabled for this method.
The PATCH path for this setting is
/{method_setting_key}/metrics/enabled
, and the value is a Boolean.
methodSetting_throttlingRateLimit :: Lens' MethodSetting (Maybe Double) Source #
Specifies the throttling rate limit. The PATCH path for this setting is
/{method_setting_key}/throttling/rateLimit
, and the value is a
double.
methodSetting_unauthorizedCacheControlHeaderStrategy :: Lens' MethodSetting (Maybe UnauthorizedCacheControlHeaderStrategy) Source #
Specifies how to handle unauthorized requests for cache invalidation.
The PATCH path for this setting is
/{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy
,
and the available values are FAIL_WITH_403
,
SUCCEED_WITH_RESPONSE_HEADER
, SUCCEED_WITHOUT_RESPONSE_HEADER
.
MethodSnapshot
data MethodSnapshot Source #
Represents a summary of a Method resource, given a particular date and time.
See: newMethodSnapshot
smart constructor.
MethodSnapshot' | |
|
Instances
newMethodSnapshot :: MethodSnapshot Source #
Create a value of MethodSnapshot
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:authorizationType:MethodSnapshot'
, methodSnapshot_authorizationType
- The method's authorization type. Valid values are NONE
for open
access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a
custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user
pool.
$sel:apiKeyRequired:MethodSnapshot'
, methodSnapshot_apiKeyRequired
- Specifies whether the method requires a valid ApiKey.
methodSnapshot_authorizationType :: Lens' MethodSnapshot (Maybe Text) Source #
The method's authorization type. Valid values are NONE
for open
access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a
custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user
pool.
methodSnapshot_apiKeyRequired :: Lens' MethodSnapshot (Maybe Bool) Source #
Specifies whether the method requires a valid ApiKey.
Model
Represents the data structure of a method's request or response payload.
A request model defines the data structure of the client-supplied request payload. A response model defines the data structure of the response payload returned by the back end. Although not required, models are useful for mapping payloads between the front end and back end.
A model is used for generating an API's SDK, validating the input request body, and creating a skeletal mapping template.
Method, MethodResponse, Models and Mappings
See: newModel
smart constructor.
Model' | |
|
Instances
Create a value of Model
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:schema:Model'
, model_schema
- The schema for the model. For application/json
models, this should be
JSON schema draft 4
model. Do not include "\*/" characters in the description of any
properties because such "\*/" characters may be interpreted as the
closing marker for comments in some languages, such as Java or
JavaScript, causing the installation of your API's SDK generated by API
Gateway to fail.
$sel:name:Model'
, model_name
- The name of the model. Must be an alphanumeric string.
$sel:id:Model'
, model_id
- The identifier for the model resource.
$sel:description:Model'
, model_description
- The description of the model.
$sel:contentType:Model'
, model_contentType
- The content-type for the model.
model_schema :: Lens' Model (Maybe Text) Source #
The schema for the model. For application/json
models, this should be
JSON schema draft 4
model. Do not include "\*/" characters in the description of any
properties because such "\*/" characters may be interpreted as the
closing marker for comments in some languages, such as Java or
JavaScript, causing the installation of your API's SDK generated by API
Gateway to fail.
model_name :: Lens' Model (Maybe Text) Source #
The name of the model. Must be an alphanumeric string.
MutualTlsAuthentication
data MutualTlsAuthentication Source #
If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.
See: newMutualTlsAuthentication
smart constructor.
MutualTlsAuthentication' | |
|
Instances
newMutualTlsAuthentication :: MutualTlsAuthentication Source #
Create a value of MutualTlsAuthentication
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:truststoreWarnings:MutualTlsAuthentication'
, mutualTlsAuthentication_truststoreWarnings
- 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.
$sel:truststoreUri:MutualTlsAuthentication'
, mutualTlsAuthentication_truststoreUri
- 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.
$sel:truststoreVersion:MutualTlsAuthentication'
, mutualTlsAuthentication_truststoreVersion
- The version of the S3 object that contains your truststore. To specify a
version, you must have versioning enabled for the S3 bucket.
mutualTlsAuthentication_truststoreWarnings :: Lens' MutualTlsAuthentication (Maybe [Text]) Source #
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.
mutualTlsAuthentication_truststoreUri :: Lens' MutualTlsAuthentication (Maybe Text) Source #
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.
mutualTlsAuthentication_truststoreVersion :: Lens' MutualTlsAuthentication (Maybe Text) Source #
The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.
MutualTlsAuthenticationInput
data MutualTlsAuthenticationInput Source #
If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.
See: newMutualTlsAuthenticationInput
smart constructor.
MutualTlsAuthenticationInput' | |
|
Instances
newMutualTlsAuthenticationInput :: MutualTlsAuthenticationInput Source #
Create a value of MutualTlsAuthenticationInput
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:truststoreUri:MutualTlsAuthenticationInput'
, mutualTlsAuthenticationInput_truststoreUri
- An Amazon S3 resource ARN 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.
$sel:truststoreVersion:MutualTlsAuthenticationInput'
, mutualTlsAuthenticationInput_truststoreVersion
- The version of the S3 object that contains your truststore. To specify a
version, you must have versioning enabled for the S3 bucket.
mutualTlsAuthenticationInput_truststoreUri :: Lens' MutualTlsAuthenticationInput (Maybe Text) Source #
An Amazon S3 resource ARN 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.
mutualTlsAuthenticationInput_truststoreVersion :: Lens' MutualTlsAuthenticationInput (Maybe Text) Source #
The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.
PatchOperation
data PatchOperation Source #
A single patch operation to apply to the specified resource. Please refer to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used.
See: newPatchOperation
smart constructor.
PatchOperation' | |
|
Instances
newPatchOperation :: PatchOperation Source #
Create a value of PatchOperation
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:op:PatchOperation'
, patchOperation_op
- An update operation to be performed with this PATCH request. The valid
value can be add
, remove
, replace
or copy
. Not all valid
operations are supported for a given resource. Support of the operations
depends on specific operational contexts. Attempts to apply an
unsupported operation on a resource will return an error message.
$sel:path:PatchOperation'
, patchOperation_path
- The op
operation's target, as identified by a
JSON Pointer
value that references a location within the targeted resource. For
example, if the target resource has an updateable property of
{"name":"value"}
, the path for this property is /name
. If the
name
property value is a JSON object (e.g.,
{"name": {"child/name": "child-value"}}
), the path for the
child/name
property will be /name/child~1name
. Any slash ("/")
character appearing in path names must be escaped with "~1", as shown
in the example above. Each op
operation can have only one path
associated with it.
$sel:value:PatchOperation'
, patchOperation_value
- The new target value of the update operation. It is applicable for the
add
or replace
operation. When using AWS CLI to update a property of
a JSON value, enclose the JSON object with a pair of single quotes in a
Linux shell, e.g., '{"a": ...}'. In a Windows shell, see
Using JSON for Parameters.
$sel:from:PatchOperation'
, patchOperation_from
- The copy
update operation's source as identified by a JSON-Pointer
value referencing the location within the targeted resource to copy the
value from. For example, to promote a canary deployment, you copy the
canary deployment ID to the affiliated deployment ID by calling a PATCH
request on a Stage resource with "op":"copy"
,
"from":"/canarySettings/deploymentId"
and
"path":"/deploymentId"
.
patchOperation_op :: Lens' PatchOperation (Maybe Op) Source #
An update operation to be performed with this PATCH request. The valid
value can be add
, remove
, replace
or copy
. Not all valid
operations are supported for a given resource. Support of the operations
depends on specific operational contexts. Attempts to apply an
unsupported operation on a resource will return an error message.
patchOperation_path :: Lens' PatchOperation (Maybe Text) Source #
The op
operation's target, as identified by a
JSON Pointer
value that references a location within the targeted resource. For
example, if the target resource has an updateable property of
{"name":"value"}
, the path for this property is /name
. If the
name
property value is a JSON object (e.g.,
{"name": {"child/name": "child-value"}}
), the path for the
child/name
property will be /name/child~1name
. Any slash ("/")
character appearing in path names must be escaped with "~1", as shown
in the example above. Each op
operation can have only one path
associated with it.
patchOperation_value :: Lens' PatchOperation (Maybe Text) Source #
The new target value of the update operation. It is applicable for the
add
or replace
operation. When using AWS CLI to update a property of
a JSON value, enclose the JSON object with a pair of single quotes in a
Linux shell, e.g., '{"a": ...}'. In a Windows shell, see
Using JSON for Parameters.
patchOperation_from :: Lens' PatchOperation (Maybe Text) Source #
The copy
update operation's source as identified by a JSON-Pointer
value referencing the location within the targeted resource to copy the
value from. For example, to promote a canary deployment, you copy the
canary deployment ID to the affiliated deployment ID by calling a PATCH
request on a Stage resource with "op":"copy"
,
"from":"/canarySettings/deploymentId"
and
"path":"/deploymentId"
.
QuotaSettings
data QuotaSettings Source #
Quotas configured for a usage plan.
See: newQuotaSettings
smart constructor.
QuotaSettings' | |
|
Instances
newQuotaSettings :: QuotaSettings Source #
Create a value of QuotaSettings
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:offset:QuotaSettings'
, quotaSettings_offset
- The day that a time period starts. For example, with a time period of
WEEK
, an offset of 0
starts on Sunday, and an offset of 1
starts
on Monday.
$sel:period:QuotaSettings'
, quotaSettings_period
- The time period in which the limit applies. Valid values are "DAY",
"WEEK" or "MONTH".
$sel:limit:QuotaSettings'
, quotaSettings_limit
- The maximum number of requests that can be made in a given time period.
quotaSettings_offset :: Lens' QuotaSettings (Maybe Int) Source #
The day that a time period starts. For example, with a time period of
WEEK
, an offset of 0
starts on Sunday, and an offset of 1
starts
on Monday.
quotaSettings_period :: Lens' QuotaSettings (Maybe QuotaPeriodType) Source #
The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".
quotaSettings_limit :: Lens' QuotaSettings (Maybe Int) Source #
The maximum number of requests that can be made in a given time period.
RequestValidator
data RequestValidator Source #
A set of validation rules for incoming Method requests.
In OpenAPI, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator object. It the referenced using the x-amazon-apigateway-request-validator property.
Enable Basic Request Validation in API Gateway
See: newRequestValidator
smart constructor.
RequestValidator' | |
|
Instances
newRequestValidator :: RequestValidator Source #
Create a value of RequestValidator
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:validateRequestParameters:RequestValidator'
, requestValidator_validateRequestParameters
- A Boolean flag to indicate whether to validate request parameters
(true
) or not (false
).
$sel:name:RequestValidator'
, requestValidator_name
- The name of this RequestValidator
$sel:validateRequestBody:RequestValidator'
, requestValidator_validateRequestBody
- A Boolean flag to indicate whether to validate a request body according
to the configured Model schema.
$sel:id:RequestValidator'
, requestValidator_id
- The identifier of this RequestValidator.
requestValidator_validateRequestParameters :: Lens' RequestValidator (Maybe Bool) Source #
A Boolean flag to indicate whether to validate request parameters
(true
) or not (false
).
requestValidator_name :: Lens' RequestValidator (Maybe Text) Source #
The name of this RequestValidator
requestValidator_validateRequestBody :: Lens' RequestValidator (Maybe Bool) Source #
A Boolean flag to indicate whether to validate a request body according to the configured Model schema.
requestValidator_id :: Lens' RequestValidator (Maybe Text) Source #
The identifier of this RequestValidator.
Resource
Resource' | |
|
Instances
newResource :: Resource Source #
Create a value of Resource
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:pathPart:Resource'
, resource_pathPart
- The last path segment for this resource.
$sel:path:Resource'
, resource_path
- The full path for this resource.
$sel:id:Resource'
, resource_id
- The resource's identifier.
$sel:resourceMethods:Resource'
, resource_resourceMethods
- Gets an API resource's method of a given HTTP verb.
The resource methods are a map of methods indexed by methods' HTTP
verbs enabled on the resource. This method map is included in the
200 OK
response of the
GET /restapis/{restapi_id}/resources/{resource_id}
or
GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods
request.
Example: Get the GET method of an API resource
Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170223T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}", "templated": true } }, "apiKeyRequired": false, "authorizationType": "NONE", "httpMethod": "GET", "_embedded": { "method:integration": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json": "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" } } }
If the OPTIONS
is enabled on the resource, you can follow the example
here to get that method. Just replace the GET
of the last path segment
in the request URL with OPTIONS
.
$sel:parentId:Resource'
, resource_parentId
- The parent resource's identifier.
resource_resourceMethods :: Lens' Resource (Maybe (HashMap Text Method)) Source #
Gets an API resource's method of a given HTTP verb.
The resource methods are a map of methods indexed by methods' HTTP
verbs enabled on the resource. This method map is included in the
200 OK
response of the
GET /restapis/{restapi_id}/resources/{resource_id}
or
GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods
request.
Example: Get the GET method of an API resource
Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170223T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}", "templated": true } }, "apiKeyRequired": false, "authorizationType": "NONE", "httpMethod": "GET", "_embedded": { "method:integration": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json": "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" } } }
If the OPTIONS
is enabled on the resource, you can follow the example
here to get that method. Just replace the GET
of the last path segment
in the request URL with OPTIONS
.
RestApi
RestApi' | |
|
Instances
newRestApi :: RestApi Source #
Create a value of RestApi
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:minimumCompressionSize:RestApi'
, restApi_minimumCompressionSize
- A nullable integer that is used to enable compression (with non-negative
between 0 and 10485760 (10M) bytes, inclusive) or disable compression
(with a null value) on an API. When compression is enabled, compression
or decompression is not applied on the payload if the payload size is
smaller than this value. Setting it to zero allows compression for any
payload size.
$sel:disableExecuteApiEndpoint:RestApi'
, restApi_disableExecuteApiEndpoint
- 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.
$sel:binaryMediaTypes:RestApi'
, restApi_binaryMediaTypes
- The list of binary media types supported by the RestApi. By default, the
RestApi supports only UTF-8-encoded text payloads.
$sel:warnings:RestApi'
, restApi_warnings
- The warning messages reported when failonwarnings
is turned on during
API import.
$sel:createdDate:RestApi'
, restApi_createdDate
- The timestamp when the API was created.
$sel:name:RestApi'
, restApi_name
- The API's name.
$sel:version:RestApi'
, restApi_version
- A version identifier for the API.
$sel:apiKeySource:RestApi'
, restApi_apiKeySource
- The source of the API key for metering requests according to a usage
plan. Valid values are:
HEADER
to read the API key from theX-API-Key
header of a request.AUTHORIZER
to read the API key from theUsageIdentifierKey
from a custom authorizer.
$sel:id:RestApi'
, restApi_id
- The API's identifier. This identifier is unique across all of your APIs
in API Gateway.
$sel:policy:RestApi'
, restApi_policy
- A stringified JSON policy document that applies to this RestApi
regardless of the caller and Method configuration.
$sel:endpointConfiguration:RestApi'
, restApi_endpointConfiguration
- The endpoint configuration of this RestApi showing the endpoint types of
the API.
$sel:description:RestApi'
, restApi_description
- The API's description.
$sel:tags:RestApi'
, restApi_tags
- The collection of tags. Each tag element is associated with a given
resource.
restApi_minimumCompressionSize :: Lens' RestApi (Maybe Int) Source #
A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
restApi_disableExecuteApiEndpoint :: Lens' RestApi (Maybe Bool) Source #
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.
restApi_binaryMediaTypes :: Lens' RestApi (Maybe [Text]) Source #
The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.
restApi_warnings :: Lens' RestApi (Maybe [Text]) Source #
The warning messages reported when failonwarnings
is turned on during
API import.
restApi_createdDate :: Lens' RestApi (Maybe UTCTime) Source #
The timestamp when the API was created.
restApi_apiKeySource :: Lens' RestApi (Maybe ApiKeySourceType) Source #
The source of the API key for metering requests according to a usage plan. Valid values are:
HEADER
to read the API key from theX-API-Key
header of a request.AUTHORIZER
to read the API key from theUsageIdentifierKey
from a custom authorizer.
restApi_id :: Lens' RestApi (Maybe Text) Source #
The API's identifier. This identifier is unique across all of your APIs in API Gateway.
restApi_policy :: Lens' RestApi (Maybe Text) Source #
A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.
restApi_endpointConfiguration :: Lens' RestApi (Maybe EndpointConfiguration) Source #
The endpoint configuration of this RestApi showing the endpoint types of the API.
restApi_tags :: Lens' RestApi (Maybe (HashMap Text Text)) Source #
The collection of tags. Each tag element is associated with a given resource.
SdkConfigurationProperty
data SdkConfigurationProperty Source #
A configuration property of an SDK type.
See: newSdkConfigurationProperty
smart constructor.
SdkConfigurationProperty' | |
|
Instances
newSdkConfigurationProperty :: SdkConfigurationProperty Source #
Create a value of SdkConfigurationProperty
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:friendlyName:SdkConfigurationProperty'
, sdkConfigurationProperty_friendlyName
- The user-friendly name of an SdkType configuration property.
$sel:required:SdkConfigurationProperty'
, sdkConfigurationProperty_required
- A boolean flag of an SdkType configuration property to indicate if the
associated SDK configuration property is required (true
) or not
(false
).
$sel:name:SdkConfigurationProperty'
, sdkConfigurationProperty_name
- The name of a an SdkType configuration property.
$sel:defaultValue:SdkConfigurationProperty'
, sdkConfigurationProperty_defaultValue
- The default value of an SdkType configuration property.
$sel:description:SdkConfigurationProperty'
, sdkConfigurationProperty_description
- The description of an SdkType configuration property.
sdkConfigurationProperty_friendlyName :: Lens' SdkConfigurationProperty (Maybe Text) Source #
The user-friendly name of an SdkType configuration property.
sdkConfigurationProperty_required :: Lens' SdkConfigurationProperty (Maybe Bool) Source #
A boolean flag of an SdkType configuration property to indicate if the
associated SDK configuration property is required (true
) or not
(false
).
sdkConfigurationProperty_name :: Lens' SdkConfigurationProperty (Maybe Text) Source #
The name of a an SdkType configuration property.
sdkConfigurationProperty_defaultValue :: Lens' SdkConfigurationProperty (Maybe Text) Source #
The default value of an SdkType configuration property.
sdkConfigurationProperty_description :: Lens' SdkConfigurationProperty (Maybe Text) Source #
The description of an SdkType configuration property.
SdkType
A type of SDK that API Gateway can generate.
See: newSdkType
smart constructor.
SdkType' | |
|
Instances
newSdkType :: SdkType Source #
Create a value of SdkType
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:friendlyName:SdkType'
, sdkType_friendlyName
- The user-friendly name of an SdkType instance.
$sel:configurationProperties:SdkType'
, sdkType_configurationProperties
- A list of configuration properties of an SdkType.
$sel:id:SdkType'
, sdkType_id
- The identifier of an SdkType instance.
$sel:description:SdkType'
, sdkType_description
- The description of an SdkType.
sdkType_friendlyName :: Lens' SdkType (Maybe Text) Source #
The user-friendly name of an SdkType instance.
sdkType_configurationProperties :: Lens' SdkType (Maybe [SdkConfigurationProperty]) Source #
A list of configuration properties of an SdkType.
Stage
Represents a unique identifier for a version of a deployed RestApi that is callable by users.
See: newStage
smart constructor.
Stage' | |
|
Instances
Create a value of Stage
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:deploymentId:Stage'
, stage_deploymentId
- The identifier of the Deployment that the stage points to.
$sel:variables:Stage'
, stage_variables
- 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-._~:/?#&=,]+
.
$sel:accessLogSettings:Stage'
, stage_accessLogSettings
- Settings for logging access in this stage.
$sel:documentationVersion:Stage'
, stage_documentationVersion
- The version of the associated API documentation.
$sel:clientCertificateId:Stage'
, stage_clientCertificateId
- The identifier of a client certificate for an API stage.
$sel:tracingEnabled:Stage'
, stage_tracingEnabled
- Specifies whether active tracing with X-ray is enabled for the Stage.
$sel:createdDate:Stage'
, stage_createdDate
- The timestamp when the stage was created.
$sel:cacheClusterStatus:Stage'
, stage_cacheClusterStatus
- The status of the cache cluster for the stage, if enabled.
$sel:methodSettings:Stage'
, stage_methodSettings
- A map that defines the method settings for a Stage resource. Keys
(designated as /{method_setting_key
below) are method paths defined
as {resource_path}/{http_method}
for an individual method override,
or /\*/\*
for overriding all methods in the stage.
$sel:lastUpdatedDate:Stage'
, stage_lastUpdatedDate
- The timestamp when the stage last updated.
$sel:cacheClusterSize:Stage'
, stage_cacheClusterSize
- The size of the cache cluster for the stage, if enabled.
$sel:webAclArn:Stage'
, stage_webAclArn
- The ARN of the WebAcl associated with the Stage.
$sel:canarySettings:Stage'
, stage_canarySettings
- Settings for the canary deployment in this stage.
$sel:cacheClusterEnabled:Stage'
, stage_cacheClusterEnabled
- Specifies whether a cache cluster is enabled for the stage.
$sel:stageName:Stage'
, stage_stageName
- The name of the stage is the first path segment in the Uniform Resource
Identifier (URI) of a call to API Gateway. Stage names can only contain
alphanumeric characters, hyphens, and underscores. Maximum length is 128
characters.
$sel:description:Stage'
, stage_description
- The stage's description.
$sel:tags:Stage'
, stage_tags
- The collection of tags. Each tag element is associated with a given
resource.
stage_deploymentId :: Lens' Stage (Maybe Text) Source #
The identifier of the Deployment that the stage points to.
stage_variables :: Lens' Stage (Maybe (HashMap Text Text)) Source #
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-._~:/?#&=,]+
.
stage_accessLogSettings :: Lens' Stage (Maybe AccessLogSettings) Source #
Settings for logging access in this stage.
stage_documentationVersion :: Lens' Stage (Maybe Text) Source #
The version of the associated API documentation.
stage_clientCertificateId :: Lens' Stage (Maybe Text) Source #
The identifier of a client certificate for an API stage.
stage_tracingEnabled :: Lens' Stage (Maybe Bool) Source #
Specifies whether active tracing with X-ray is enabled for the Stage.
stage_cacheClusterStatus :: Lens' Stage (Maybe CacheClusterStatus) Source #
The status of the cache cluster for the stage, if enabled.
stage_methodSettings :: Lens' Stage (Maybe (HashMap Text MethodSetting)) Source #
A map that defines the method settings for a Stage resource. Keys
(designated as /{method_setting_key
below) are method paths defined
as {resource_path}/{http_method}
for an individual method override,
or /\*/\*
for overriding all methods in the stage.
stage_lastUpdatedDate :: Lens' Stage (Maybe UTCTime) Source #
The timestamp when the stage last updated.
stage_cacheClusterSize :: Lens' Stage (Maybe CacheClusterSize) Source #
The size of the cache cluster for the stage, if enabled.
stage_webAclArn :: Lens' Stage (Maybe Text) Source #
The ARN of the WebAcl associated with the Stage.
stage_canarySettings :: Lens' Stage (Maybe CanarySettings) Source #
Settings for the canary deployment in this stage.
stage_cacheClusterEnabled :: Lens' Stage (Maybe Bool) Source #
Specifies whether a cache cluster is enabled for the stage.
stage_stageName :: Lens' Stage (Maybe Text) Source #
The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
stage_tags :: Lens' Stage (Maybe (HashMap Text Text)) Source #
The collection of tags. Each tag element is associated with a given resource.
StageKey
A reference to a unique stage identified in the format
{restApiId}/{stage}
.
See: newStageKey
smart constructor.
Instances
Eq StageKey Source # | |
Read StageKey Source # | |
Show StageKey Source # | |
Generic StageKey Source # | |
NFData StageKey Source # | |
Defined in Amazonka.APIGateway.Types.StageKey | |
Hashable StageKey Source # | |
Defined in Amazonka.APIGateway.Types.StageKey | |
ToJSON StageKey Source # | |
Defined in Amazonka.APIGateway.Types.StageKey | |
type Rep StageKey Source # | |
Defined in Amazonka.APIGateway.Types.StageKey type Rep StageKey = D1 ('MetaData "StageKey" "Amazonka.APIGateway.Types.StageKey" "libZSservicesZSamazonka-apigatewayZSamazonka-apigateway" 'False) (C1 ('MetaCons "StageKey'" 'PrefixI 'True) (S1 ('MetaSel ('Just "restApiId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "stageName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) |
newStageKey :: StageKey Source #
Create a value of StageKey
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:restApiId:StageKey'
, stageKey_restApiId
- The string identifier of the associated RestApi.
$sel:stageName:StageKey'
, stageKey_stageName
- The stage name associated with the stage key.
stageKey_restApiId :: Lens' StageKey (Maybe Text) Source #
The string identifier of the associated RestApi.
stageKey_stageName :: Lens' StageKey (Maybe Text) Source #
The stage name associated with the stage key.
ThrottleSettings
data ThrottleSettings Source #
The API request rate limits.
See: newThrottleSettings
smart constructor.
Instances
newThrottleSettings :: ThrottleSettings Source #
Create a value of ThrottleSettings
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:burstLimit:ThrottleSettings'
, throttleSettings_burstLimit
- The API request burst limit, the maximum rate limit over a time ranging
from one to a few seconds, depending upon whether the underlying token
bucket is at its full capacity.
$sel:rateLimit:ThrottleSettings'
, throttleSettings_rateLimit
- The API request steady-state rate limit.
throttleSettings_burstLimit :: Lens' ThrottleSettings (Maybe Int) Source #
The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.
throttleSettings_rateLimit :: Lens' ThrottleSettings (Maybe Double) Source #
The API request steady-state rate limit.
TlsConfig
See: newTlsConfig
smart constructor.
TlsConfig' | |
|
Instances
Eq TlsConfig Source # | |
Read TlsConfig Source # | |
Show TlsConfig Source # | |
Generic TlsConfig Source # | |
NFData TlsConfig Source # | |
Defined in Amazonka.APIGateway.Types.TlsConfig | |
Hashable TlsConfig Source # | |
Defined in Amazonka.APIGateway.Types.TlsConfig | |
ToJSON TlsConfig Source # | |
Defined in Amazonka.APIGateway.Types.TlsConfig | |
FromJSON TlsConfig Source # | |
type Rep TlsConfig Source # | |
Defined in Amazonka.APIGateway.Types.TlsConfig type Rep TlsConfig = D1 ('MetaData "TlsConfig" "Amazonka.APIGateway.Types.TlsConfig" "libZSservicesZSamazonka-apigatewayZSamazonka-apigateway" 'False) (C1 ('MetaCons "TlsConfig'" 'PrefixI 'True) (S1 ('MetaSel ('Just "insecureSkipVerification") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))) |
newTlsConfig :: TlsConfig Source #
Create a value of TlsConfig
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:insecureSkipVerification:TlsConfig'
, tlsConfig_insecureSkipVerification
- Specifies whether or not API Gateway skips verification that the
certificate for an integration endpoint is issued by a
supported certificate authority.
This isn’t recommended, but it enables you to use certificates that are
signed by private certificate authorities, or certificates that are
self-signed. If enabled, API Gateway still performs basic certificate
validation, which includes checking the certificate's expiration date,
hostname, and presence of a root certificate authority. Supported only
for HTTP
and HTTP_PROXY
integrations.
tlsConfig_insecureSkipVerification :: Lens' TlsConfig (Maybe Bool) Source #
Specifies whether or not API Gateway skips verification that the
certificate for an integration endpoint is issued by a
supported certificate authority.
This isn’t recommended, but it enables you to use certificates that are
signed by private certificate authorities, or certificates that are
self-signed. If enabled, API Gateway still performs basic certificate
validation, which includes checking the certificate's expiration date,
hostname, and presence of a root certificate authority. Supported only
for HTTP
and HTTP_PROXY
integrations.
Usage
Represents the usage data of a usage plan.
Create and Use Usage Plans, Manage Usage in a Usage Plan
See: newUsage
smart constructor.
Usage' | |
|
Instances
Create a value of Usage
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:usagePlanId:Usage'
, usage_usagePlanId
- The plan Id associated with this usage data.
$sel:endDate:Usage'
, usage_endDate
- The ending date of the usage data.
$sel:items:Usage'
, usage_items
- The usage data, as daily logs of used and remaining quotas, over the
specified time interval indexed over the API keys in a usage plan. For
example,
{..., "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}
,
where {api_key}
stands for an API key value and the daily log entry is
of the format [used quota, remaining quota]
.
$sel:startDate:Usage'
, usage_startDate
- The starting date of the usage data.
$sel:position:Usage'
, usage_position
- Undocumented member.
usage_items :: Lens' Usage (Maybe (HashMap Text [[Integer]])) Source #
The usage data, as daily logs of used and remaining quotas, over the
specified time interval indexed over the API keys in a usage plan. For
example,
{..., "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}
,
where {api_key}
stands for an API key value and the daily log entry is
of the format [used quota, remaining quota]
.
UsagePlan
Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.
In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.
See: newUsagePlan
smart constructor.
UsagePlan' | |
|
Instances
newUsagePlan :: UsagePlan Source #
Create a value of UsagePlan
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:apiStages:UsagePlan'
, usagePlan_apiStages
- The associated API stages of a usage plan.
$sel:name:UsagePlan'
, usagePlan_name
- The name of a usage plan.
$sel:id:UsagePlan'
, usagePlan_id
- The identifier of a UsagePlan resource.
$sel:throttle:UsagePlan'
, usagePlan_throttle
- The request throttle limits of a usage plan.
$sel:quota:UsagePlan'
, usagePlan_quota
- The maximum number of permitted requests per a given unit time interval.
$sel:description:UsagePlan'
, usagePlan_description
- The description of a usage plan.
$sel:productCode:UsagePlan'
, usagePlan_productCode
- The AWS Markeplace product identifier to associate with the usage plan
as a SaaS product on AWS Marketplace.
$sel:tags:UsagePlan'
, usagePlan_tags
- The collection of tags. Each tag element is associated with a given
resource.
usagePlan_apiStages :: Lens' UsagePlan (Maybe [ApiStage]) Source #
The associated API stages of a usage plan.
usagePlan_throttle :: Lens' UsagePlan (Maybe ThrottleSettings) Source #
The request throttle limits of a usage plan.
usagePlan_quota :: Lens' UsagePlan (Maybe QuotaSettings) Source #
The maximum number of permitted requests per a given unit time interval.
usagePlan_productCode :: Lens' UsagePlan (Maybe Text) Source #
The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.
usagePlan_tags :: Lens' UsagePlan (Maybe (HashMap Text Text)) Source #
The collection of tags. Each tag element is associated with a given resource.
UsagePlanKey
data UsagePlanKey Source #
Represents a usage plan key to identify a plan customer.
To associate an API stage with a selected API key in a usage plan, you must create a UsagePlanKey resource to represent the selected ApiKey.
"
See: newUsagePlanKey
smart constructor.
Instances
newUsagePlanKey :: UsagePlanKey Source #
Create a value of UsagePlanKey
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:value:UsagePlanKey'
, usagePlanKey_value
- The value of a usage plan key.
$sel:name:UsagePlanKey'
, usagePlanKey_name
- The name of a usage plan key.
$sel:id:UsagePlanKey'
, usagePlanKey_id
- The Id of a usage plan key.
$sel:type':UsagePlanKey'
, usagePlanKey_type
- The type of a usage plan key. Currently, the valid key type is
API_KEY
.
usagePlanKey_value :: Lens' UsagePlanKey (Maybe Text) Source #
The value of a usage plan key.
usagePlanKey_name :: Lens' UsagePlanKey (Maybe Text) Source #
The name of a usage plan key.
usagePlanKey_id :: Lens' UsagePlanKey (Maybe Text) Source #
The Id of a usage plan key.
usagePlanKey_type :: Lens' UsagePlanKey (Maybe Text) Source #
The type of a usage plan key. Currently, the valid key type is
API_KEY
.
VpcLink
An API Gateway VPC link for a RestApi to access resources in an Amazon Virtual Private Cloud (VPC).
To enable access to a resource in an Amazon Virtual Private Cloud
through Amazon API Gateway, you, as an API developer, create a VpcLink
resource targeted for one or more network load balancers of the VPC and
then integrate an API method with a private integration that uses the
VpcLink. The private integration has an integration type of HTTP
or
HTTP_PROXY
and has a connection type of VPC_LINK
. The integration
uses the connectionId
property to identify the VpcLink used.
See: newVpcLink
smart constructor.
VpcLink' | |
|
Instances
newVpcLink :: VpcLink Source #
Create a value of VpcLink
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:status:VpcLink'
, vpcLink_status
- The status of the VPC link. The valid values are AVAILABLE
, PENDING
,
DELETING
, or FAILED
. Deploying an API will wait if the status is
PENDING
and will fail if the status is DELETING
.
$sel:targetArns:VpcLink'
, vpcLink_targetArns
- The ARN of the network load balancer of the VPC targeted by the VPC
link. The network load balancer must be owned by the same AWS account of
the API owner.
$sel:name:VpcLink'
, vpcLink_name
- The name used to label and identify the VPC link.
$sel:statusMessage:VpcLink'
, vpcLink_statusMessage
- A description about the VPC link status.
$sel:id:VpcLink'
, vpcLink_id
- The identifier of the VpcLink. It is used in an Integration to reference
this VpcLink.
$sel:description:VpcLink'
, vpcLink_description
- The description of the VPC link.
$sel:tags:VpcLink'
, vpcLink_tags
- The collection of tags. Each tag element is associated with a given
resource.
vpcLink_status :: Lens' VpcLink (Maybe VpcLinkStatus) Source #
The status of the VPC link. The valid values are AVAILABLE
, PENDING
,
DELETING
, or FAILED
. Deploying an API will wait if the status is
PENDING
and will fail if the status is DELETING
.
vpcLink_targetArns :: Lens' VpcLink (Maybe [Text]) Source #
The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.
vpcLink_name :: Lens' VpcLink (Maybe Text) Source #
The name used to label and identify the VPC link.
vpcLink_statusMessage :: Lens' VpcLink (Maybe Text) Source #
A description about the VPC link status.