{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.EFS.Types -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.EFS.Types ( -- * Service EFS -- * Errors , _MountTargetNotFound , _SecurityGroupLimitExceeded , _MountTargetConflict , _UnsupportedAvailabilityZone , _SecurityGroupNotFound , _FileSystemAlreadyExists , _FileSystemLimitExceeded , _NetworkInterfaceLimitExceeded , _FileSystemNotFound , _SubnetNotFound , _IncorrectFileSystemLifeCycleState , _BadRequest , _NoFreeAddressesInSubnet , _DependencyTimeout , _FileSystemInUse , _IncorrectMountTargetState , _InternalServerError , _IPAddressInUse -- * LifeCycleState , LifeCycleState (..) -- * FileSystemDescription , FileSystemDescription , fileSystemDescription , fsdName , fsdOwnerId , fsdCreationToken , fsdFileSystemId , fsdCreationTime , fsdLifeCycleState , fsdNumberOfMountTargets , fsdSizeInBytes -- * FileSystemSize , FileSystemSize , fileSystemSize , fssTimestamp , fssValue -- * MountTargetDescription , MountTargetDescription , mountTargetDescription , mtdIPAddress , mtdNetworkInterfaceId , mtdOwnerId , mtdMountTargetId , mtdFileSystemId , mtdSubnetId , mtdLifeCycleState -- * Tag , Tag , tag , tagKey , tagValue ) where import Network.AWS.EFS.Types.Product import Network.AWS.EFS.Types.Sum import Network.AWS.Prelude import Network.AWS.Sign.V4 -- | Version @2015-02-01@ of the Amazon Elastic File System SDK. data EFS instance AWSService EFS where type Sg EFS = V4 service = const svc where svc = Service { _svcAbbrev = "EFS" , _svcPrefix = "elasticfilesystem" , _svcVersion = "2015-02-01" , _svcEndpoint = defaultEndpoint svc , _svcTimeout = Just 70 , _svcStatus = statusSuccess , _svcError = parseJSONError , _svcRetry = retry } retry = Exponential { _retryBase = 5.0e-2 , _retryGrowth = 2 , _retryAttempts = 5 , _retryCheck = check } check e | has (hasCode "ThrottlingException" . hasStatus 400) e = Just "throttling_exception" | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling" | has (hasStatus 503) e = Just "service_unavailable" | has (hasStatus 500) e = Just "general_server_error" | has (hasStatus 509) e = Just "limit_exceeded" | otherwise = Nothing -- | Returned if there is no mount target with the specified ID is found in -- the caller\'s account. _MountTargetNotFound :: AsError a => Getting (First ServiceError) a ServiceError _MountTargetNotFound = _ServiceError . hasStatus 404 . hasCode "MountTargetNotFound" -- | Returned if the size of 'SecurityGroups' specified in the request is -- greater than five. _SecurityGroupLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError _SecurityGroupLimitExceeded = _ServiceError . hasStatus 400 . hasCode "SecurityGroupLimitExceeded" -- | Returned if the mount target would violate one of the specified -- restrictions based on the file system\'s existing mount targets. _MountTargetConflict :: AsError a => Getting (First ServiceError) a ServiceError _MountTargetConflict = _ServiceError . hasStatus 409 . hasCode "MountTargetConflict" -- | Prism for UnsupportedAvailabilityZone' errors. _UnsupportedAvailabilityZone :: AsError a => Getting (First ServiceError) a ServiceError _UnsupportedAvailabilityZone = _ServiceError . hasStatus 400 . hasCode "UnsupportedAvailabilityZone" -- | Returned if one of the specified security groups does not exist in the -- subnet\'s VPC. _SecurityGroupNotFound :: AsError a => Getting (First ServiceError) a ServiceError _SecurityGroupNotFound = _ServiceError . hasStatus 400 . hasCode "SecurityGroupNotFound" -- | Returned if the file system you are trying to create already exists, -- with the creation token you provided. _FileSystemAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError _FileSystemAlreadyExists = _ServiceError . hasStatus 409 . hasCode "FileSystemAlreadyExists" -- | Returned if the AWS account has already created maximum number of file -- systems allowed per account. _FileSystemLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError _FileSystemLimitExceeded = _ServiceError . hasStatus 403 . hasCode "FileSystemLimitExceeded" -- | The calling account has reached the ENI limit for the specific AWS -- region. Client should try to delete some ENIs or get its account limit -- raised. For more information, go to -- -- in the Amazon Virtual Private Cloud User Guide (see the Network -- interfaces per VPC entry in the table). _NetworkInterfaceLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError _NetworkInterfaceLimitExceeded = _ServiceError . hasStatus 409 . hasCode "NetworkInterfaceLimitExceeded" -- | Returned if the specified 'FileSystemId' does not exist in the -- requester\'s AWS account. _FileSystemNotFound :: AsError a => Getting (First ServiceError) a ServiceError _FileSystemNotFound = _ServiceError . hasStatus 404 . hasCode "FileSystemNotFound" -- | Returned if there is no subnet with ID 'SubnetId' provided in the -- request. _SubnetNotFound :: AsError a => Getting (First ServiceError) a ServiceError _SubnetNotFound = _ServiceError . hasStatus 400 . hasCode "SubnetNotFound" -- | Returned if the file system\'s life cycle state is not \"created\". _IncorrectFileSystemLifeCycleState :: AsError a => Getting (First ServiceError) a ServiceError _IncorrectFileSystemLifeCycleState = _ServiceError . hasStatus 409 . hasCode "IncorrectFileSystemLifeCycleState" -- | Returned if the request is malformed or contains an error such as an -- invalid parameter value or a missing required parameter. _BadRequest :: AsError a => Getting (First ServiceError) a ServiceError _BadRequest = _ServiceError . hasStatus 400 . hasCode "BadRequest" -- | Returned if 'IpAddress' was not specified in the request and there are -- no free IP addresses in the subnet. _NoFreeAddressesInSubnet :: AsError a => Getting (First ServiceError) a ServiceError _NoFreeAddressesInSubnet = _ServiceError . hasStatus 409 . hasCode "NoFreeAddressesInSubnet" -- | The service timed out trying to fulfill the request, and the client -- should try the call again. _DependencyTimeout :: AsError a => Getting (First ServiceError) a ServiceError _DependencyTimeout = _ServiceError . hasStatus 504 . hasCode "DependencyTimeout" -- | Returned if a file system has mount targets. _FileSystemInUse :: AsError a => Getting (First ServiceError) a ServiceError _FileSystemInUse = _ServiceError . hasStatus 409 . hasCode "FileSystemInUse" -- | Returned if the mount target is not in the correct state for the -- operation. _IncorrectMountTargetState :: AsError a => Getting (First ServiceError) a ServiceError _IncorrectMountTargetState = _ServiceError . hasStatus 409 . hasCode "IncorrectMountTargetState" -- | Returned if an error occurred on the server side. _InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError _InternalServerError = _ServiceError . hasStatus 500 . hasCode "InternalServerError" -- | Returned if the request specified an 'IpAddress' that is already in use -- in the subnet. _IPAddressInUse :: AsError a => Getting (First ServiceError) a ServiceError _IPAddressInUse = _ServiceError . hasStatus 409 . hasCode "IpAddressInUse"