{-# LANGUAGE OverloadedStrings #-}
module Network.AWS.EFS.Types
(
efs
, _MountTargetNotFound
, _SecurityGroupLimitExceeded
, _SecurityGroupNotFound
, _MountTargetConflict
, _UnsupportedAvailabilityZone
, _FileSystemLimitExceeded
, _NetworkInterfaceLimitExceeded
, _FileSystemAlreadyExists
, _SubnetNotFound
, _FileSystemNotFound
, _IncorrectFileSystemLifeCycleState
, _BadRequest
, _NoFreeAddressesInSubnet
, _DependencyTimeout
, _FileSystemInUse
, _IncorrectMountTargetState
, _InternalServerError
, _IPAddressInUse
, LifeCycleState (..)
, PerformanceMode (..)
, FileSystemDescription
, fileSystemDescription
, fsdEncrypted
, fsdKMSKeyId
, fsdName
, fsdOwnerId
, fsdCreationToken
, fsdFileSystemId
, fsdCreationTime
, fsdLifeCycleState
, fsdNumberOfMountTargets
, fsdSizeInBytes
, fsdPerformanceMode
, FileSystemSize
, fileSystemSize
, fssTimestamp
, fssValue
, MountTargetDescription
, mountTargetDescription
, mtdIPAddress
, mtdNetworkInterfaceId
, mtdOwnerId
, mtdMountTargetId
, mtdFileSystemId
, mtdSubnetId
, mtdLifeCycleState
, Tag
, tag
, tagKey
, tagValue
) where
import Network.AWS.EFS.Types.Product
import Network.AWS.EFS.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Sign.V4
efs :: Service
efs =
Service
{ _svcAbbrev = "EFS"
, _svcSigner = v4
, _svcPrefix = "elasticfilesystem"
, _svcVersion = "2015-02-01"
, _svcEndpoint = defaultEndpoint efs
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseJSONError "EFS"
, _svcRetry = retry
}
where
retry =
Exponential
{ _retryBase = 5.0e-2
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check e
| has (hasCode "ThrottledException" . hasStatus 400) e =
Just "throttled_exception"
| has (hasStatus 429) e = Just "too_many_requests"
| has (hasCode "ThrottlingException" . hasStatus 400) e =
Just "throttling_exception"
| has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
| has (hasStatus 504) e = Just "gateway_timeout"
| has (hasCode "RequestThrottledException" . hasStatus 400) e =
Just "request_throttled_exception"
| has (hasStatus 502) e = Just "bad_gateway"
| has (hasStatus 503) e = Just "service_unavailable"
| has (hasStatus 500) e = Just "general_server_error"
| has (hasStatus 509) e = Just "limit_exceeded"
| otherwise = Nothing
_MountTargetNotFound :: AsError a => Getting (First ServiceError) a ServiceError
_MountTargetNotFound =
_MatchServiceError efs "MountTargetNotFound" . hasStatus 404
_SecurityGroupLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
_SecurityGroupLimitExceeded =
_MatchServiceError efs "SecurityGroupLimitExceeded" . hasStatus 400
_SecurityGroupNotFound :: AsError a => Getting (First ServiceError) a ServiceError
_SecurityGroupNotFound =
_MatchServiceError efs "SecurityGroupNotFound" . hasStatus 400
_MountTargetConflict :: AsError a => Getting (First ServiceError) a ServiceError
_MountTargetConflict =
_MatchServiceError efs "MountTargetConflict" . hasStatus 409
_UnsupportedAvailabilityZone :: AsError a => Getting (First ServiceError) a ServiceError
_UnsupportedAvailabilityZone =
_MatchServiceError efs "UnsupportedAvailabilityZone" . hasStatus 400
_FileSystemLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
_FileSystemLimitExceeded =
_MatchServiceError efs "FileSystemLimitExceeded" . hasStatus 403
_NetworkInterfaceLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
_NetworkInterfaceLimitExceeded =
_MatchServiceError efs "NetworkInterfaceLimitExceeded" . hasStatus 409
_FileSystemAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
_FileSystemAlreadyExists =
_MatchServiceError efs "FileSystemAlreadyExists" . hasStatus 409
_SubnetNotFound :: AsError a => Getting (First ServiceError) a ServiceError
_SubnetNotFound = _MatchServiceError efs "SubnetNotFound" . hasStatus 400
_FileSystemNotFound :: AsError a => Getting (First ServiceError) a ServiceError
_FileSystemNotFound =
_MatchServiceError efs "FileSystemNotFound" . hasStatus 404
_IncorrectFileSystemLifeCycleState :: AsError a => Getting (First ServiceError) a ServiceError
_IncorrectFileSystemLifeCycleState =
_MatchServiceError efs "IncorrectFileSystemLifeCycleState" . hasStatus 409
_BadRequest :: AsError a => Getting (First ServiceError) a ServiceError
_BadRequest = _MatchServiceError efs "BadRequest" . hasStatus 400
_NoFreeAddressesInSubnet :: AsError a => Getting (First ServiceError) a ServiceError
_NoFreeAddressesInSubnet =
_MatchServiceError efs "NoFreeAddressesInSubnet" . hasStatus 409
_DependencyTimeout :: AsError a => Getting (First ServiceError) a ServiceError
_DependencyTimeout = _MatchServiceError efs "DependencyTimeout" . hasStatus 504
_FileSystemInUse :: AsError a => Getting (First ServiceError) a ServiceError
_FileSystemInUse = _MatchServiceError efs "FileSystemInUse" . hasStatus 409
_IncorrectMountTargetState :: AsError a => Getting (First ServiceError) a ServiceError
_IncorrectMountTargetState =
_MatchServiceError efs "IncorrectMountTargetState" . hasStatus 409
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError
_InternalServerError =
_MatchServiceError efs "InternalServerError" . hasStatus 500
_IPAddressInUse :: AsError a => Getting (First ServiceError) a ServiceError
_IPAddressInUse = _MatchServiceError efs "IpAddressInUse" . hasStatus 409