{-# 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.LakeFormation.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.LakeFormation.Types
  ( -- * Service Configuration
    defaultService,

    -- * Errors
    _AccessDeniedException,
    _AlreadyExistsException,
    _ConcurrentModificationException,
    _EntityNotFoundException,
    _ExpiredException,
    _GlueEncryptionException,
    _InternalServiceException,
    _InvalidInputException,
    _OperationTimeoutException,
    _PermissionTypeMismatchException,
    _ResourceNotReadyException,
    _ResourceNumberLimitExceededException,
    _StatisticsNotReadyYetException,
    _ThrottledException,
    _TransactionCanceledException,
    _TransactionCommitInProgressException,
    _TransactionCommittedException,
    _WorkUnitsNotReadyYetException,

    -- * ComparisonOperator
    ComparisonOperator (..),

    -- * DataLakeResourceType
    DataLakeResourceType (..),

    -- * FieldNameString
    FieldNameString (..),

    -- * OptimizerType
    OptimizerType (..),

    -- * Permission
    Permission (..),

    -- * PermissionType
    PermissionType (..),

    -- * QueryStateString
    QueryStateString (..),

    -- * ResourceShareType
    ResourceShareType (..),

    -- * ResourceType
    ResourceType (..),

    -- * TransactionStatus
    TransactionStatus (..),

    -- * TransactionStatusFilter
    TransactionStatusFilter (..),

    -- * TransactionType
    TransactionType (..),

    -- * AddObjectInput
    AddObjectInput (..),
    newAddObjectInput,
    addObjectInput_partitionValues,
    addObjectInput_uri,
    addObjectInput_eTag,
    addObjectInput_size,

    -- * AllRowsWildcard
    AllRowsWildcard (..),
    newAllRowsWildcard,

    -- * AuditContext
    AuditContext (..),
    newAuditContext,
    auditContext_additionalAuditContext,

    -- * BatchPermissionsFailureEntry
    BatchPermissionsFailureEntry (..),
    newBatchPermissionsFailureEntry,
    batchPermissionsFailureEntry_error,
    batchPermissionsFailureEntry_requestEntry,

    -- * BatchPermissionsRequestEntry
    BatchPermissionsRequestEntry (..),
    newBatchPermissionsRequestEntry,
    batchPermissionsRequestEntry_permissions,
    batchPermissionsRequestEntry_permissionsWithGrantOption,
    batchPermissionsRequestEntry_principal,
    batchPermissionsRequestEntry_resource,
    batchPermissionsRequestEntry_id,

    -- * CatalogResource
    CatalogResource (..),
    newCatalogResource,

    -- * ColumnLFTag
    ColumnLFTag (..),
    newColumnLFTag,
    columnLFTag_lFTags,
    columnLFTag_name,

    -- * ColumnWildcard
    ColumnWildcard (..),
    newColumnWildcard,
    columnWildcard_excludedColumnNames,

    -- * DataCellsFilter
    DataCellsFilter (..),
    newDataCellsFilter,
    dataCellsFilter_columnNames,
    dataCellsFilter_columnWildcard,
    dataCellsFilter_rowFilter,
    dataCellsFilter_tableCatalogId,
    dataCellsFilter_databaseName,
    dataCellsFilter_tableName,
    dataCellsFilter_name,

    -- * DataCellsFilterResource
    DataCellsFilterResource (..),
    newDataCellsFilterResource,
    dataCellsFilterResource_databaseName,
    dataCellsFilterResource_name,
    dataCellsFilterResource_tableCatalogId,
    dataCellsFilterResource_tableName,

    -- * DataLakePrincipal
    DataLakePrincipal (..),
    newDataLakePrincipal,
    dataLakePrincipal_dataLakePrincipalIdentifier,

    -- * DataLakeSettings
    DataLakeSettings (..),
    newDataLakeSettings,
    dataLakeSettings_allowExternalDataFiltering,
    dataLakeSettings_authorizedSessionTagValueList,
    dataLakeSettings_createDatabaseDefaultPermissions,
    dataLakeSettings_createTableDefaultPermissions,
    dataLakeSettings_dataLakeAdmins,
    dataLakeSettings_externalDataFilteringAllowList,
    dataLakeSettings_parameters,
    dataLakeSettings_trustedResourceOwners,

    -- * DataLocationResource
    DataLocationResource (..),
    newDataLocationResource,
    dataLocationResource_catalogId,
    dataLocationResource_resourceArn,

    -- * DatabaseResource
    DatabaseResource (..),
    newDatabaseResource,
    databaseResource_catalogId,
    databaseResource_name,

    -- * DeleteObjectInput
    DeleteObjectInput (..),
    newDeleteObjectInput,
    deleteObjectInput_eTag,
    deleteObjectInput_partitionValues,
    deleteObjectInput_uri,

    -- * DetailsMap
    DetailsMap (..),
    newDetailsMap,
    detailsMap_resourceShare,

    -- * ErrorDetail
    ErrorDetail (..),
    newErrorDetail,
    errorDetail_errorCode,
    errorDetail_errorMessage,

    -- * ExecutionStatistics
    ExecutionStatistics (..),
    newExecutionStatistics,
    executionStatistics_averageExecutionTimeMillis,
    executionStatistics_dataScannedBytes,
    executionStatistics_workUnitsExecutedCount,

    -- * FilterCondition
    FilterCondition (..),
    newFilterCondition,
    filterCondition_comparisonOperator,
    filterCondition_field,
    filterCondition_stringValueList,

    -- * LFTag
    LFTag (..),
    newLFTag,
    lFTag_tagKey,
    lFTag_tagValues,

    -- * LFTagError
    LFTagError (..),
    newLFTagError,
    lFTagError_error,
    lFTagError_lFTag,

    -- * LFTagKeyResource
    LFTagKeyResource (..),
    newLFTagKeyResource,
    lFTagKeyResource_catalogId,
    lFTagKeyResource_tagKey,
    lFTagKeyResource_tagValues,

    -- * LFTagPair
    LFTagPair (..),
    newLFTagPair,
    lFTagPair_catalogId,
    lFTagPair_tagKey,
    lFTagPair_tagValues,

    -- * LFTagPolicyResource
    LFTagPolicyResource (..),
    newLFTagPolicyResource,
    lFTagPolicyResource_catalogId,
    lFTagPolicyResource_resourceType,
    lFTagPolicyResource_expression,

    -- * PartitionObjects
    PartitionObjects (..),
    newPartitionObjects,
    partitionObjects_objects,
    partitionObjects_partitionValues,

    -- * PartitionValueList
    PartitionValueList (..),
    newPartitionValueList,
    partitionValueList_values,

    -- * PlanningStatistics
    PlanningStatistics (..),
    newPlanningStatistics,
    planningStatistics_estimatedDataToScanBytes,
    planningStatistics_planningTimeMillis,
    planningStatistics_queueTimeMillis,
    planningStatistics_workUnitsGeneratedCount,

    -- * PrincipalPermissions
    PrincipalPermissions (..),
    newPrincipalPermissions,
    principalPermissions_permissions,
    principalPermissions_principal,

    -- * PrincipalResourcePermissions
    PrincipalResourcePermissions (..),
    newPrincipalResourcePermissions,
    principalResourcePermissions_additionalDetails,
    principalResourcePermissions_permissions,
    principalResourcePermissions_permissionsWithGrantOption,
    principalResourcePermissions_principal,
    principalResourcePermissions_resource,

    -- * QueryPlanningContext
    QueryPlanningContext (..),
    newQueryPlanningContext,
    queryPlanningContext_catalogId,
    queryPlanningContext_queryAsOfTime,
    queryPlanningContext_queryParameters,
    queryPlanningContext_transactionId,
    queryPlanningContext_databaseName,

    -- * Resource
    Resource (..),
    newResource,
    resource_catalog,
    resource_dataCellsFilter,
    resource_dataLocation,
    resource_database,
    resource_lFTag,
    resource_lFTagPolicy,
    resource_table,
    resource_tableWithColumns,

    -- * ResourceInfo
    ResourceInfo (..),
    newResourceInfo,
    resourceInfo_lastModified,
    resourceInfo_resourceArn,
    resourceInfo_roleArn,

    -- * RowFilter
    RowFilter (..),
    newRowFilter,
    rowFilter_allRowsWildcard,
    rowFilter_filterExpression,

    -- * StorageOptimizer
    StorageOptimizer (..),
    newStorageOptimizer,
    storageOptimizer_config,
    storageOptimizer_errorMessage,
    storageOptimizer_lastRunDetails,
    storageOptimizer_storageOptimizerType,
    storageOptimizer_warnings,

    -- * TableObject
    TableObject (..),
    newTableObject,
    tableObject_eTag,
    tableObject_size,
    tableObject_uri,

    -- * TableResource
    TableResource (..),
    newTableResource,
    tableResource_catalogId,
    tableResource_name,
    tableResource_tableWildcard,
    tableResource_databaseName,

    -- * TableWildcard
    TableWildcard (..),
    newTableWildcard,

    -- * TableWithColumnsResource
    TableWithColumnsResource (..),
    newTableWithColumnsResource,
    tableWithColumnsResource_catalogId,
    tableWithColumnsResource_columnNames,
    tableWithColumnsResource_columnWildcard,
    tableWithColumnsResource_databaseName,
    tableWithColumnsResource_name,

    -- * TaggedDatabase
    TaggedDatabase (..),
    newTaggedDatabase,
    taggedDatabase_database,
    taggedDatabase_lFTags,

    -- * TaggedTable
    TaggedTable (..),
    newTaggedTable,
    taggedTable_lFTagOnDatabase,
    taggedTable_lFTagsOnColumns,
    taggedTable_lFTagsOnTable,
    taggedTable_table,

    -- * TransactionDescription
    TransactionDescription (..),
    newTransactionDescription,
    transactionDescription_transactionEndTime,
    transactionDescription_transactionId,
    transactionDescription_transactionStartTime,
    transactionDescription_transactionStatus,

    -- * VirtualObject
    VirtualObject (..),
    newVirtualObject,
    virtualObject_eTag,
    virtualObject_uri,

    -- * WorkUnitRange
    WorkUnitRange (..),
    newWorkUnitRange,
    workUnitRange_workUnitIdMax,
    workUnitRange_workUnitIdMin,
    workUnitRange_workUnitToken,

    -- * WriteOperation
    WriteOperation (..),
    newWriteOperation,
    writeOperation_addObject,
    writeOperation_deleteObject,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.LakeFormation.Types.AddObjectInput
import Amazonka.LakeFormation.Types.AllRowsWildcard
import Amazonka.LakeFormation.Types.AuditContext
import Amazonka.LakeFormation.Types.BatchPermissionsFailureEntry
import Amazonka.LakeFormation.Types.BatchPermissionsRequestEntry
import Amazonka.LakeFormation.Types.CatalogResource
import Amazonka.LakeFormation.Types.ColumnLFTag
import Amazonka.LakeFormation.Types.ColumnWildcard
import Amazonka.LakeFormation.Types.ComparisonOperator
import Amazonka.LakeFormation.Types.DataCellsFilter
import Amazonka.LakeFormation.Types.DataCellsFilterResource
import Amazonka.LakeFormation.Types.DataLakePrincipal
import Amazonka.LakeFormation.Types.DataLakeResourceType
import Amazonka.LakeFormation.Types.DataLakeSettings
import Amazonka.LakeFormation.Types.DataLocationResource
import Amazonka.LakeFormation.Types.DatabaseResource
import Amazonka.LakeFormation.Types.DeleteObjectInput
import Amazonka.LakeFormation.Types.DetailsMap
import Amazonka.LakeFormation.Types.ErrorDetail
import Amazonka.LakeFormation.Types.ExecutionStatistics
import Amazonka.LakeFormation.Types.FieldNameString
import Amazonka.LakeFormation.Types.FilterCondition
import Amazonka.LakeFormation.Types.LFTag
import Amazonka.LakeFormation.Types.LFTagError
import Amazonka.LakeFormation.Types.LFTagKeyResource
import Amazonka.LakeFormation.Types.LFTagPair
import Amazonka.LakeFormation.Types.LFTagPolicyResource
import Amazonka.LakeFormation.Types.OptimizerType
import Amazonka.LakeFormation.Types.PartitionObjects
import Amazonka.LakeFormation.Types.PartitionValueList
import Amazonka.LakeFormation.Types.Permission
import Amazonka.LakeFormation.Types.PermissionType
import Amazonka.LakeFormation.Types.PlanningStatistics
import Amazonka.LakeFormation.Types.PrincipalPermissions
import Amazonka.LakeFormation.Types.PrincipalResourcePermissions
import Amazonka.LakeFormation.Types.QueryPlanningContext
import Amazonka.LakeFormation.Types.QueryStateString
import Amazonka.LakeFormation.Types.Resource
import Amazonka.LakeFormation.Types.ResourceInfo
import Amazonka.LakeFormation.Types.ResourceShareType
import Amazonka.LakeFormation.Types.ResourceType
import Amazonka.LakeFormation.Types.RowFilter
import Amazonka.LakeFormation.Types.StorageOptimizer
import Amazonka.LakeFormation.Types.TableObject
import Amazonka.LakeFormation.Types.TableResource
import Amazonka.LakeFormation.Types.TableWildcard
import Amazonka.LakeFormation.Types.TableWithColumnsResource
import Amazonka.LakeFormation.Types.TaggedDatabase
import Amazonka.LakeFormation.Types.TaggedTable
import Amazonka.LakeFormation.Types.TransactionDescription
import Amazonka.LakeFormation.Types.TransactionStatus
import Amazonka.LakeFormation.Types.TransactionStatusFilter
import Amazonka.LakeFormation.Types.TransactionType
import Amazonka.LakeFormation.Types.VirtualObject
import Amazonka.LakeFormation.Types.WorkUnitRange
import Amazonka.LakeFormation.Types.WriteOperation
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign

-- | API version @2017-03-31@ of the Amazon Lake Formation SDK configuration.
defaultService :: Core.Service
defaultService :: Service
defaultService =
  Core.Service
    { $sel:abbrev:Service :: Abbrev
Core.abbrev = Abbrev
"LakeFormation",
      $sel:signer:Service :: Signer
Core.signer = Signer
Sign.v4,
      $sel:endpointPrefix:Service :: ByteString
Core.endpointPrefix = ByteString
"lakeformation",
      $sel:signingName:Service :: ByteString
Core.signingName = ByteString
"lakeformation",
      $sel:version:Service :: ByteString
Core.version = ByteString
"2017-03-31",
      $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
"LakeFormation",
      $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

-- | Access to a resource was denied.
_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessDeniedException :: forall a. AsError a => Fold a ServiceError
_AccessDeniedException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AccessDeniedException"
    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

-- | A resource to be created or added already exists.
_AlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AlreadyExistsException :: forall a. AsError a => Fold a ServiceError
_AlreadyExistsException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"AlreadyExistsException"

-- | Two processes are trying to modify a resource simultaneously.
_ConcurrentModificationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConcurrentModificationException :: forall a. AsError a => Fold a ServiceError
_ConcurrentModificationException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ConcurrentModificationException"

-- | A specified entity does not exist
_EntityNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_EntityNotFoundException :: forall a. AsError a => Fold a ServiceError
_EntityNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"EntityNotFoundException"

-- | Contains details about an error where the query request expired.
_ExpiredException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ExpiredException :: forall a. AsError a => Fold a ServiceError
_ExpiredException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ExpiredException"
    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
410

-- | An encryption operation failed.
_GlueEncryptionException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_GlueEncryptionException :: forall a. AsError a => Fold a ServiceError
_GlueEncryptionException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"GlueEncryptionException"

-- | An internal service error occurred.
_InternalServiceException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServiceException :: forall a. AsError a => Fold a ServiceError
_InternalServiceException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InternalServiceException"
    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

-- | The input provided was not valid.
_InvalidInputException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidInputException :: forall a. AsError a => Fold a ServiceError
_InvalidInputException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidInputException"
    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 operation timed out.
_OperationTimeoutException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_OperationTimeoutException :: forall a. AsError a => Fold a ServiceError
_OperationTimeoutException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"OperationTimeoutException"

-- | The engine does not support filtering data based on the enforced
-- permissions. For example, if you call the
-- @GetTemporaryGlueTableCredentials@ operation with
-- @SupportedPermissionType@ equal to @ColumnPermission@, but cell-level
-- permissions exist on the table, this exception is thrown.
_PermissionTypeMismatchException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_PermissionTypeMismatchException :: forall a. AsError a => Fold a ServiceError
_PermissionTypeMismatchException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"PermissionTypeMismatchException"

-- | Contains details about an error related to a resource which is not ready
-- for a transaction.
_ResourceNotReadyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNotReadyException :: forall a. AsError a => Fold a ServiceError
_ResourceNotReadyException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceNotReadyException"
    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

-- | A resource numerical limit was exceeded.
_ResourceNumberLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNumberLimitExceededException :: forall a. AsError a => Fold a ServiceError
_ResourceNumberLimitExceededException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceNumberLimitExceededException"

-- | Contains details about an error related to statistics not being ready.
_StatisticsNotReadyYetException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_StatisticsNotReadyYetException :: forall a. AsError a => Fold a ServiceError
_StatisticsNotReadyYetException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"StatisticsNotReadyYetException"
    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
420

-- | Contains details about an error where the query request was throttled.
_ThrottledException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ThrottledException :: forall a. AsError a => Fold a ServiceError
_ThrottledException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    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
429

-- | Contains details about an error related to a transaction that was
-- cancelled.
_TransactionCanceledException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TransactionCanceledException :: forall a. AsError a => Fold a ServiceError
_TransactionCanceledException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"TransactionCanceledException"
    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

-- | Contains details about an error related to a transaction commit that was
-- in progress.
_TransactionCommitInProgressException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TransactionCommitInProgressException :: forall a. AsError a => Fold a ServiceError
_TransactionCommitInProgressException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"TransactionCommitInProgressException"
    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

-- | Contains details about an error where the specified transaction has
-- already been committed and cannot be used for @UpdateTableObjects@.
_TransactionCommittedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TransactionCommittedException :: forall a. AsError a => Fold a ServiceError
_TransactionCommittedException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"TransactionCommittedException"
    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

-- | Contains details about an error related to work units not being ready.
_WorkUnitsNotReadyYetException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_WorkUnitsNotReadyYetException :: forall a. AsError a => Fold a ServiceError
_WorkUnitsNotReadyYetException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"WorkUnitsNotReadyYetException"
    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
420