{-# LANGUAGE DisambiguateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.EFS.Types
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.EFS.Types
  ( -- * Service Configuration
    defaultService,

    -- * Errors
    _AccessPointAlreadyExists,
    _AccessPointLimitExceeded,
    _AccessPointNotFound,
    _AvailabilityZonesMismatch,
    _BadRequest,
    _DependencyTimeout,
    _FileSystemAlreadyExists,
    _FileSystemInUse,
    _FileSystemLimitExceeded,
    _FileSystemNotFound,
    _IncorrectFileSystemLifeCycleState,
    _IncorrectMountTargetState,
    _InsufficientThroughputCapacity,
    _InternalServerError,
    _InvalidPolicyException,
    _IpAddressInUse,
    _MountTargetConflict,
    _MountTargetNotFound,
    _NetworkInterfaceLimitExceeded,
    _NoFreeAddressesInSubnet,
    _PolicyNotFound,
    _ReplicationNotFound,
    _SecurityGroupLimitExceeded,
    _SecurityGroupNotFound,
    _SubnetNotFound,
    _ThrottlingException,
    _ThroughputLimitExceeded,
    _TooManyRequests,
    _UnsupportedAvailabilityZone,
    _ValidationException,

    -- * BackupStatus
    BackupStatus (..),

    -- * LifeCycleState
    LifeCycleState (..),

    -- * PerformanceMode
    PerformanceMode (..),

    -- * ReplicationStatus
    ReplicationStatus (..),

    -- * Resource
    Resource (..),

    -- * ResourceIdType
    ResourceIdType (..),

    -- * ThroughputMode
    ThroughputMode (..),

    -- * TransitionToIARules
    TransitionToIARules (..),

    -- * TransitionToPrimaryStorageClassRules
    TransitionToPrimaryStorageClassRules (..),

    -- * AccessPointDescription
    AccessPointDescription (..),
    newAccessPointDescription,
    accessPointDescription_accessPointArn,
    accessPointDescription_accessPointId,
    accessPointDescription_clientToken,
    accessPointDescription_fileSystemId,
    accessPointDescription_lifeCycleState,
    accessPointDescription_name,
    accessPointDescription_ownerId,
    accessPointDescription_posixUser,
    accessPointDescription_rootDirectory,
    accessPointDescription_tags,

    -- * BackupPolicy
    BackupPolicy (..),
    newBackupPolicy,
    backupPolicy_status,

    -- * BackupPolicyDescription
    BackupPolicyDescription (..),
    newBackupPolicyDescription,
    backupPolicyDescription_backupPolicy,

    -- * CreationInfo
    CreationInfo (..),
    newCreationInfo,
    creationInfo_ownerUid,
    creationInfo_ownerGid,
    creationInfo_permissions,

    -- * Destination
    Destination (..),
    newDestination,
    destination_lastReplicatedTimestamp,
    destination_status,
    destination_fileSystemId,
    destination_region,

    -- * DestinationToCreate
    DestinationToCreate (..),
    newDestinationToCreate,
    destinationToCreate_availabilityZoneName,
    destinationToCreate_kmsKeyId,
    destinationToCreate_region,

    -- * FileSystemDescription
    FileSystemDescription (..),
    newFileSystemDescription,
    fileSystemDescription_availabilityZoneId,
    fileSystemDescription_availabilityZoneName,
    fileSystemDescription_encrypted,
    fileSystemDescription_fileSystemArn,
    fileSystemDescription_kmsKeyId,
    fileSystemDescription_name,
    fileSystemDescription_provisionedThroughputInMibps,
    fileSystemDescription_throughputMode,
    fileSystemDescription_ownerId,
    fileSystemDescription_creationToken,
    fileSystemDescription_fileSystemId,
    fileSystemDescription_creationTime,
    fileSystemDescription_lifeCycleState,
    fileSystemDescription_numberOfMountTargets,
    fileSystemDescription_sizeInBytes,
    fileSystemDescription_performanceMode,
    fileSystemDescription_tags,

    -- * FileSystemPolicyDescription
    FileSystemPolicyDescription (..),
    newFileSystemPolicyDescription,
    fileSystemPolicyDescription_fileSystemId,
    fileSystemPolicyDescription_policy,

    -- * FileSystemSize
    FileSystemSize (..),
    newFileSystemSize,
    fileSystemSize_timestamp,
    fileSystemSize_valueInIA,
    fileSystemSize_valueInStandard,
    fileSystemSize_value,

    -- * LifecycleConfigurationDescription
    LifecycleConfigurationDescription (..),
    newLifecycleConfigurationDescription,
    lifecycleConfigurationDescription_lifecyclePolicies,

    -- * LifecyclePolicy
    LifecyclePolicy (..),
    newLifecyclePolicy,
    lifecyclePolicy_transitionToIA,
    lifecyclePolicy_transitionToPrimaryStorageClass,

    -- * MountTargetDescription
    MountTargetDescription (..),
    newMountTargetDescription,
    mountTargetDescription_availabilityZoneId,
    mountTargetDescription_availabilityZoneName,
    mountTargetDescription_ipAddress,
    mountTargetDescription_networkInterfaceId,
    mountTargetDescription_ownerId,
    mountTargetDescription_vpcId,
    mountTargetDescription_mountTargetId,
    mountTargetDescription_fileSystemId,
    mountTargetDescription_subnetId,
    mountTargetDescription_lifeCycleState,

    -- * PosixUser
    PosixUser (..),
    newPosixUser,
    posixUser_secondaryGids,
    posixUser_uid,
    posixUser_gid,

    -- * ReplicationConfigurationDescription
    ReplicationConfigurationDescription (..),
    newReplicationConfigurationDescription,
    replicationConfigurationDescription_sourceFileSystemId,
    replicationConfigurationDescription_sourceFileSystemRegion,
    replicationConfigurationDescription_sourceFileSystemArn,
    replicationConfigurationDescription_originalSourceFileSystemArn,
    replicationConfigurationDescription_creationTime,
    replicationConfigurationDescription_destinations,

    -- * ResourceIdPreference
    ResourceIdPreference (..),
    newResourceIdPreference,
    resourceIdPreference_resourceIdType,
    resourceIdPreference_resources,

    -- * RootDirectory
    RootDirectory (..),
    newRootDirectory,
    rootDirectory_creationInfo,
    rootDirectory_path,

    -- * Tag
    Tag (..),
    newTag,
    tag_key,
    tag_value,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.EFS.Types.AccessPointDescription
import Amazonka.EFS.Types.BackupPolicy
import Amazonka.EFS.Types.BackupPolicyDescription
import Amazonka.EFS.Types.BackupStatus
import Amazonka.EFS.Types.CreationInfo
import Amazonka.EFS.Types.Destination
import Amazonka.EFS.Types.DestinationToCreate
import Amazonka.EFS.Types.FileSystemDescription
import Amazonka.EFS.Types.FileSystemPolicyDescription
import Amazonka.EFS.Types.FileSystemSize
import Amazonka.EFS.Types.LifeCycleState
import Amazonka.EFS.Types.LifecycleConfigurationDescription
import Amazonka.EFS.Types.LifecyclePolicy
import Amazonka.EFS.Types.MountTargetDescription
import Amazonka.EFS.Types.PerformanceMode
import Amazonka.EFS.Types.PosixUser
import Amazonka.EFS.Types.ReplicationConfigurationDescription
import Amazonka.EFS.Types.ReplicationStatus
import Amazonka.EFS.Types.Resource
import Amazonka.EFS.Types.ResourceIdPreference
import Amazonka.EFS.Types.ResourceIdType
import Amazonka.EFS.Types.RootDirectory
import Amazonka.EFS.Types.Tag
import Amazonka.EFS.Types.ThroughputMode
import Amazonka.EFS.Types.TransitionToIARules
import Amazonka.EFS.Types.TransitionToPrimaryStorageClassRules
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign

-- | API version @2015-02-01@ of the Amazon Elastic File System SDK configuration.
defaultService :: Core.Service
defaultService :: Service
defaultService =
  Core.Service
    { $sel:abbrev:Service :: Abbrev
Core.abbrev = Abbrev
"EFS",
      $sel:signer:Service :: Signer
Core.signer = Signer
Sign.v4,
      $sel:endpointPrefix:Service :: ByteString
Core.endpointPrefix = ByteString
"elasticfilesystem",
      $sel:signingName:Service :: ByteString
Core.signingName = ByteString
"elasticfilesystem",
      $sel:version:Service :: ByteString
Core.version = ByteString
"2015-02-01",
      $sel:s3AddressingStyle:Service :: S3AddressingStyle
Core.s3AddressingStyle = S3AddressingStyle
Core.S3AddressingStyleAuto,
      $sel:endpoint:Service :: Region -> Endpoint
Core.endpoint = Service -> Region -> Endpoint
Core.defaultEndpoint Service
defaultService,
      $sel:timeout:Service :: Maybe Seconds
Core.timeout = forall a. a -> Maybe a
Prelude.Just Seconds
70,
      $sel:check:Service :: Status -> Bool
Core.check = Status -> Bool
Core.statusSuccess,
      $sel:error:Service :: Status -> [Header] -> ByteStringLazy -> Error
Core.error = Abbrev -> Status -> [Header] -> ByteStringLazy -> Error
Core.parseJSONError Abbrev
"EFS",
      $sel:retry:Service :: Retry
Core.retry = Retry
retry
    }
  where
    retry :: Retry
retry =
      Core.Exponential
        { $sel:base:Exponential :: Double
Core.base = Double
5.0e-2,
          $sel:growth:Exponential :: Int
Core.growth = Int
2,
          $sel:attempts:Exponential :: Int
Core.attempts = Int
5,
          $sel:check:Exponential :: ServiceError -> Maybe Text
Core.check = forall {a}. IsString a => ServiceError -> Maybe a
check
        }
    check :: ServiceError -> Maybe a
check ServiceError
e
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
502) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"bad_gateway"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
504) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"gateway_timeout"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
500) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"general_server_error"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
509) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"limit_exceeded"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"RequestThrottledException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"request_throttled_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
503) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"service_unavailable"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottledException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttled_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"Throttling"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttling"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottlingException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttling_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode
              ErrorCode
"ProvisionedThroughputExceededException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throughput_exceeded"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"too_many_requests"
      | Bool
Prelude.otherwise = forall a. Maybe a
Prelude.Nothing

-- | Returned if the access point that you are trying to create already
-- exists, with the creation token you provided in the request.
_AccessPointAlreadyExists :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessPointAlreadyExists :: forall a. AsError a => Fold a ServiceError
_AccessPointAlreadyExists =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AccessPointAlreadyExists"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if the Amazon Web Services account has already created the
-- maximum number of access points allowed per file system. For more
-- informaton, see
-- <https://docs.aws.amazon.com/efs/latest/ug/limits.html#limits-efs-resources-per-account-per-region>.
_AccessPointLimitExceeded :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessPointLimitExceeded :: forall a. AsError a => Fold a ServiceError
_AccessPointLimitExceeded =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AccessPointLimitExceeded"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
403

-- | Returned if the specified @AccessPointId@ value doesn\'t exist in the
-- requester\'s Amazon Web Services account.
_AccessPointNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessPointNotFound :: forall a. AsError a => Fold a ServiceError
_AccessPointNotFound =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AccessPointNotFound"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
404

-- | Returned if the Availability Zone that was specified for a mount target
-- is different from the Availability Zone that was specified for One Zone
-- storage. For more information, see
-- <https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html Regional and One Zone storage redundancy>.
_AvailabilityZonesMismatch :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AvailabilityZonesMismatch :: forall a. AsError a => Fold a ServiceError
_AvailabilityZonesMismatch =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AvailabilityZonesMismatch"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | Returned if the request is malformed or contains an error such as an
-- invalid parameter value or a missing required parameter.
_BadRequest :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_BadRequest :: forall a. AsError a => Fold a ServiceError
_BadRequest =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError Service
defaultService ErrorCode
"BadRequest"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | The service timed out trying to fulfill the request, and the client
-- should try the call again.
_DependencyTimeout :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_DependencyTimeout :: forall a. AsError a => Fold a ServiceError
_DependencyTimeout =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"DependencyTimeout"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
504

-- | Returned if the file system you are trying to create already exists,
-- with the creation token you provided.
_FileSystemAlreadyExists :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_FileSystemAlreadyExists :: forall a. AsError a => Fold a ServiceError
_FileSystemAlreadyExists =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"FileSystemAlreadyExists"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if a file system has mount targets.
_FileSystemInUse :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_FileSystemInUse :: forall a. AsError a => Fold a ServiceError
_FileSystemInUse =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"FileSystemInUse"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if the Amazon Web Services account has already created the
-- maximum number of file systems allowed per account.
_FileSystemLimitExceeded :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_FileSystemLimitExceeded :: forall a. AsError a => Fold a ServiceError
_FileSystemLimitExceeded =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"FileSystemLimitExceeded"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
403

-- | Returned if the specified @FileSystemId@ value doesn\'t exist in the
-- requester\'s Amazon Web Services account.
_FileSystemNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_FileSystemNotFound :: forall a. AsError a => Fold a ServiceError
_FileSystemNotFound =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"FileSystemNotFound"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
404

-- | Returned if the file system\'s lifecycle state is not \"available\".
_IncorrectFileSystemLifeCycleState :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_IncorrectFileSystemLifeCycleState :: forall a. AsError a => Fold a ServiceError
_IncorrectFileSystemLifeCycleState =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"IncorrectFileSystemLifeCycleState"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if the mount target is not in the correct state for the
-- operation.
_IncorrectMountTargetState :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_IncorrectMountTargetState :: forall a. AsError a => Fold a ServiceError
_IncorrectMountTargetState =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"IncorrectMountTargetState"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if there\'s not enough capacity to provision additional
-- throughput. This value might be returned when you try to create a file
-- system in provisioned throughput mode, when you attempt to increase the
-- provisioned throughput of an existing file system, or when you attempt
-- to change an existing file system from Bursting Throughput to
-- Provisioned Throughput mode. Try again later.
_InsufficientThroughputCapacity :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InsufficientThroughputCapacity :: forall a. AsError a => Fold a ServiceError
_InsufficientThroughputCapacity =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InsufficientThroughputCapacity"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
503

-- | Returned if an error occurred on the server side.
_InternalServerError :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServerError :: forall a. AsError a => Fold a ServiceError
_InternalServerError =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InternalServerError"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
500

-- | Returned if the @FileSystemPolicy@ is malformed or contains an error
-- such as a parameter value that is not valid or a missing required
-- parameter. Returned in the case of a policy lockout safety check error.
_InvalidPolicyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidPolicyException :: forall a. AsError a => Fold a ServiceError
_InvalidPolicyException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidPolicyException"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | Returned if the request specified an @IpAddress@ that is already in use
-- in the subnet.
_IpAddressInUse :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_IpAddressInUse :: forall a. AsError a => Fold a ServiceError
_IpAddressInUse =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"IpAddressInUse"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if the mount target would violate one of the specified
-- restrictions based on the file system\'s existing mount targets.
_MountTargetConflict :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_MountTargetConflict :: forall a. AsError a => Fold a ServiceError
_MountTargetConflict =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"MountTargetConflict"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if there is no mount target with the specified ID found in the
-- caller\'s Amazon Web Services account.
_MountTargetNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_MountTargetNotFound :: forall a. AsError a => Fold a ServiceError
_MountTargetNotFound =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"MountTargetNotFound"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
404

-- | The calling account has reached the limit for elastic network interfaces
-- for the specific Amazon Web Services Region. Either delete some network
-- interfaces or request that the account quota be raised. For more
-- information, see
-- <https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html Amazon VPC Quotas>
-- in the /Amazon VPC User Guide/ (see the __Network interfaces per
-- Region__ entry in the __Network interfaces__ table).
_NetworkInterfaceLimitExceeded :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_NetworkInterfaceLimitExceeded :: forall a. AsError a => Fold a ServiceError
_NetworkInterfaceLimitExceeded =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"NetworkInterfaceLimitExceeded"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if @IpAddress@ was not specified in the request and there are
-- no free IP addresses in the subnet.
_NoFreeAddressesInSubnet :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_NoFreeAddressesInSubnet :: forall a. AsError a => Fold a ServiceError
_NoFreeAddressesInSubnet =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"NoFreeAddressesInSubnet"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
409

-- | Returned if the default file system policy is in effect for the EFS file
-- system specified.
_PolicyNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_PolicyNotFound :: forall a. AsError a => Fold a ServiceError
_PolicyNotFound =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"PolicyNotFound"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
404

-- | Returned if the specified file system does not have a replication
-- configuration.
_ReplicationNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ReplicationNotFound :: forall a. AsError a => Fold a ServiceError
_ReplicationNotFound =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ReplicationNotFound"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
404

-- | Returned if the size of @SecurityGroups@ specified in the request is
-- greater than five.
_SecurityGroupLimitExceeded :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_SecurityGroupLimitExceeded :: forall a. AsError a => Fold a ServiceError
_SecurityGroupLimitExceeded =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"SecurityGroupLimitExceeded"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | Returned if one of the specified security groups doesn\'t exist in the
-- subnet\'s virtual private cloud (VPC).
_SecurityGroupNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_SecurityGroupNotFound :: forall a. AsError a => Fold a ServiceError
_SecurityGroupNotFound =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"SecurityGroupNotFound"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | Returned if there is no subnet with ID @SubnetId@ provided in the
-- request.
_SubnetNotFound :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_SubnetNotFound :: forall a. AsError a => Fold a ServiceError
_SubnetNotFound =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"SubnetNotFound"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | Returned when the @CreateAccessPoint@ API action is called too quickly
-- and the number of Access Points on the file system is nearing the
-- <https://docs.aws.amazon.com/efs/latest/ug/limits.html#limits-efs-resources-per-account-per-region limit of 120>.
_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ThrottlingException :: forall a. AsError a => Fold a ServiceError
_ThrottlingException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ThrottlingException"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429

-- | Returned if the throughput mode or amount of provisioned throughput
-- can\'t be changed because the throughput limit of 1024 MiB\/s has been
-- reached.
_ThroughputLimitExceeded :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ThroughputLimitExceeded :: forall a. AsError a => Fold a ServiceError
_ThroughputLimitExceeded =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ThroughputLimitExceeded"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | Returned if you don’t wait at least 24 hours before either changing the
-- throughput mode, or decreasing the Provisioned Throughput value.
_TooManyRequests :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TooManyRequests :: forall a. AsError a => Fold a ServiceError
_TooManyRequests =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"TooManyRequests"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429

-- | Returned if the requested Amazon EFS functionality is not available in
-- the specified Availability Zone.
_UnsupportedAvailabilityZone :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_UnsupportedAvailabilityZone :: forall a. AsError a => Fold a ServiceError
_UnsupportedAvailabilityZone =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"UnsupportedAvailabilityZone"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400

-- | Returned if the Backup service is not available in the Amazon Web
-- Services Region in which the request was made.
_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ValidationException :: forall a. AsError a => Fold a ServiceError
_ValidationException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ValidationException"
    forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400