amazonka-athena-2.0: gen/Amazonka/Athena/Types.hs
{-# 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.Athena.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.Athena.Types
( -- * Service Configuration
defaultService,
-- * Errors
_InternalServerException,
_InvalidRequestException,
_MetadataException,
_ResourceNotFoundException,
_SessionAlreadyExistsException,
_TooManyRequestsException,
-- * CalculationExecutionState
CalculationExecutionState (..),
-- * ColumnNullable
ColumnNullable (..),
-- * DataCatalogType
DataCatalogType (..),
-- * EncryptionOption
EncryptionOption (..),
-- * ExecutorState
ExecutorState (..),
-- * ExecutorType
ExecutorType (..),
-- * NotebookType
NotebookType (..),
-- * QueryExecutionState
QueryExecutionState (..),
-- * S3AclOption
S3AclOption (..),
-- * SessionState
SessionState (..),
-- * StatementType
StatementType (..),
-- * WorkGroupState
WorkGroupState (..),
-- * AclConfiguration
AclConfiguration (..),
newAclConfiguration,
aclConfiguration_s3AclOption,
-- * ApplicationDPUSizes
ApplicationDPUSizes (..),
newApplicationDPUSizes,
applicationDPUSizes_applicationRuntimeId,
applicationDPUSizes_supportedDPUSizes,
-- * AthenaError
AthenaError (..),
newAthenaError,
athenaError_errorCategory,
athenaError_errorMessage,
athenaError_errorType,
athenaError_retryable,
-- * CalculationConfiguration
CalculationConfiguration (..),
newCalculationConfiguration,
calculationConfiguration_codeBlock,
-- * CalculationResult
CalculationResult (..),
newCalculationResult,
calculationResult_resultS3Uri,
calculationResult_resultType,
calculationResult_stdErrorS3Uri,
calculationResult_stdOutS3Uri,
-- * CalculationStatistics
CalculationStatistics (..),
newCalculationStatistics,
calculationStatistics_dpuExecutionInMillis,
calculationStatistics_progress,
-- * CalculationStatus
CalculationStatus (..),
newCalculationStatus,
calculationStatus_completionDateTime,
calculationStatus_state,
calculationStatus_stateChangeReason,
calculationStatus_submissionDateTime,
-- * CalculationSummary
CalculationSummary (..),
newCalculationSummary,
calculationSummary_calculationExecutionId,
calculationSummary_description,
calculationSummary_status,
-- * Column
Column (..),
newColumn,
column_comment,
column_type,
column_name,
-- * ColumnInfo
ColumnInfo (..),
newColumnInfo,
columnInfo_caseSensitive,
columnInfo_catalogName,
columnInfo_label,
columnInfo_nullable,
columnInfo_precision,
columnInfo_scale,
columnInfo_schemaName,
columnInfo_tableName,
columnInfo_name,
columnInfo_type,
-- * CustomerContentEncryptionConfiguration
CustomerContentEncryptionConfiguration (..),
newCustomerContentEncryptionConfiguration,
customerContentEncryptionConfiguration_kmsKey,
-- * DataCatalog
DataCatalog (..),
newDataCatalog,
dataCatalog_description,
dataCatalog_parameters,
dataCatalog_name,
dataCatalog_type,
-- * DataCatalogSummary
DataCatalogSummary (..),
newDataCatalogSummary,
dataCatalogSummary_catalogName,
dataCatalogSummary_type,
-- * Database
Database (..),
newDatabase,
database_description,
database_parameters,
database_name,
-- * Datum
Datum (..),
newDatum,
datum_varCharValue,
-- * EncryptionConfiguration
EncryptionConfiguration (..),
newEncryptionConfiguration,
encryptionConfiguration_kmsKey,
encryptionConfiguration_encryptionOption,
-- * EngineConfiguration
EngineConfiguration (..),
newEngineConfiguration,
engineConfiguration_additionalConfigs,
engineConfiguration_coordinatorDpuSize,
engineConfiguration_defaultExecutorDpuSize,
engineConfiguration_maxConcurrentDpus,
-- * EngineVersion
EngineVersion (..),
newEngineVersion,
engineVersion_effectiveEngineVersion,
engineVersion_selectedEngineVersion,
-- * ExecutorsSummary
ExecutorsSummary (..),
newExecutorsSummary,
executorsSummary_executorSize,
executorsSummary_executorState,
executorsSummary_executorType,
executorsSummary_startDateTime,
executorsSummary_terminationDateTime,
executorsSummary_executorId,
-- * FilterDefinition
FilterDefinition (..),
newFilterDefinition,
filterDefinition_name,
-- * NamedQuery
NamedQuery (..),
newNamedQuery,
namedQuery_description,
namedQuery_namedQueryId,
namedQuery_workGroup,
namedQuery_name,
namedQuery_database,
namedQuery_queryString,
-- * NotebookMetadata
NotebookMetadata (..),
newNotebookMetadata,
notebookMetadata_creationTime,
notebookMetadata_lastModifiedTime,
notebookMetadata_name,
notebookMetadata_notebookId,
notebookMetadata_type,
notebookMetadata_workGroup,
-- * NotebookSessionSummary
NotebookSessionSummary (..),
newNotebookSessionSummary,
notebookSessionSummary_creationTime,
notebookSessionSummary_sessionId,
-- * PreparedStatement
PreparedStatement (..),
newPreparedStatement,
preparedStatement_description,
preparedStatement_lastModifiedTime,
preparedStatement_queryStatement,
preparedStatement_statementName,
preparedStatement_workGroupName,
-- * PreparedStatementSummary
PreparedStatementSummary (..),
newPreparedStatementSummary,
preparedStatementSummary_lastModifiedTime,
preparedStatementSummary_statementName,
-- * QueryExecution
QueryExecution (..),
newQueryExecution,
queryExecution_engineVersion,
queryExecution_executionParameters,
queryExecution_query,
queryExecution_queryExecutionContext,
queryExecution_queryExecutionId,
queryExecution_resultConfiguration,
queryExecution_resultReuseConfiguration,
queryExecution_statementType,
queryExecution_statistics,
queryExecution_status,
queryExecution_workGroup,
-- * QueryExecutionContext
QueryExecutionContext (..),
newQueryExecutionContext,
queryExecutionContext_catalog,
queryExecutionContext_database,
-- * QueryExecutionStatistics
QueryExecutionStatistics (..),
newQueryExecutionStatistics,
queryExecutionStatistics_dataManifestLocation,
queryExecutionStatistics_dataScannedInBytes,
queryExecutionStatistics_engineExecutionTimeInMillis,
queryExecutionStatistics_queryPlanningTimeInMillis,
queryExecutionStatistics_queryQueueTimeInMillis,
queryExecutionStatistics_resultReuseInformation,
queryExecutionStatistics_serviceProcessingTimeInMillis,
queryExecutionStatistics_totalExecutionTimeInMillis,
-- * QueryExecutionStatus
QueryExecutionStatus (..),
newQueryExecutionStatus,
queryExecutionStatus_athenaError,
queryExecutionStatus_completionDateTime,
queryExecutionStatus_state,
queryExecutionStatus_stateChangeReason,
queryExecutionStatus_submissionDateTime,
-- * QueryRuntimeStatistics
QueryRuntimeStatistics (..),
newQueryRuntimeStatistics,
queryRuntimeStatistics_outputStage,
queryRuntimeStatistics_rows,
queryRuntimeStatistics_timeline,
-- * QueryRuntimeStatisticsRows
QueryRuntimeStatisticsRows (..),
newQueryRuntimeStatisticsRows,
queryRuntimeStatisticsRows_inputBytes,
queryRuntimeStatisticsRows_inputRows,
queryRuntimeStatisticsRows_outputBytes,
queryRuntimeStatisticsRows_outputRows,
-- * QueryRuntimeStatisticsTimeline
QueryRuntimeStatisticsTimeline (..),
newQueryRuntimeStatisticsTimeline,
queryRuntimeStatisticsTimeline_engineExecutionTimeInMillis,
queryRuntimeStatisticsTimeline_queryPlanningTimeInMillis,
queryRuntimeStatisticsTimeline_queryQueueTimeInMillis,
queryRuntimeStatisticsTimeline_serviceProcessingTimeInMillis,
queryRuntimeStatisticsTimeline_totalExecutionTimeInMillis,
-- * QueryStage
QueryStage (..),
newQueryStage,
queryStage_executionTime,
queryStage_inputBytes,
queryStage_inputRows,
queryStage_outputBytes,
queryStage_outputRows,
queryStage_queryStagePlan,
queryStage_stageId,
queryStage_state,
queryStage_subStages,
-- * QueryStagePlanNode
QueryStagePlanNode (..),
newQueryStagePlanNode,
queryStagePlanNode_children,
queryStagePlanNode_identifier,
queryStagePlanNode_name,
queryStagePlanNode_remoteSources,
-- * ResultConfiguration
ResultConfiguration (..),
newResultConfiguration,
resultConfiguration_aclConfiguration,
resultConfiguration_encryptionConfiguration,
resultConfiguration_expectedBucketOwner,
resultConfiguration_outputLocation,
-- * ResultConfigurationUpdates
ResultConfigurationUpdates (..),
newResultConfigurationUpdates,
resultConfigurationUpdates_aclConfiguration,
resultConfigurationUpdates_encryptionConfiguration,
resultConfigurationUpdates_expectedBucketOwner,
resultConfigurationUpdates_outputLocation,
resultConfigurationUpdates_removeAclConfiguration,
resultConfigurationUpdates_removeEncryptionConfiguration,
resultConfigurationUpdates_removeExpectedBucketOwner,
resultConfigurationUpdates_removeOutputLocation,
-- * ResultReuseByAgeConfiguration
ResultReuseByAgeConfiguration (..),
newResultReuseByAgeConfiguration,
resultReuseByAgeConfiguration_maxAgeInMinutes,
resultReuseByAgeConfiguration_enabled,
-- * ResultReuseConfiguration
ResultReuseConfiguration (..),
newResultReuseConfiguration,
resultReuseConfiguration_resultReuseByAgeConfiguration,
-- * ResultReuseInformation
ResultReuseInformation (..),
newResultReuseInformation,
resultReuseInformation_reusedPreviousResult,
-- * ResultSet
ResultSet (..),
newResultSet,
resultSet_resultSetMetadata,
resultSet_rows,
-- * ResultSetMetadata
ResultSetMetadata (..),
newResultSetMetadata,
resultSetMetadata_columnInfo,
-- * Row
Row (..),
newRow,
row_data,
-- * SessionConfiguration
SessionConfiguration (..),
newSessionConfiguration,
sessionConfiguration_encryptionConfiguration,
sessionConfiguration_executionRole,
sessionConfiguration_idleTimeoutSeconds,
sessionConfiguration_workingDirectory,
-- * SessionStatistics
SessionStatistics (..),
newSessionStatistics,
sessionStatistics_dpuExecutionInMillis,
-- * SessionStatus
SessionStatus (..),
newSessionStatus,
sessionStatus_endDateTime,
sessionStatus_idleSinceDateTime,
sessionStatus_lastModifiedDateTime,
sessionStatus_startDateTime,
sessionStatus_state,
sessionStatus_stateChangeReason,
-- * SessionSummary
SessionSummary (..),
newSessionSummary,
sessionSummary_description,
sessionSummary_engineVersion,
sessionSummary_notebookVersion,
sessionSummary_sessionId,
sessionSummary_status,
-- * TableMetadata
TableMetadata (..),
newTableMetadata,
tableMetadata_columns,
tableMetadata_createTime,
tableMetadata_lastAccessTime,
tableMetadata_parameters,
tableMetadata_partitionKeys,
tableMetadata_tableType,
tableMetadata_name,
-- * Tag
Tag (..),
newTag,
tag_key,
tag_value,
-- * UnprocessedNamedQueryId
UnprocessedNamedQueryId (..),
newUnprocessedNamedQueryId,
unprocessedNamedQueryId_errorCode,
unprocessedNamedQueryId_errorMessage,
unprocessedNamedQueryId_namedQueryId,
-- * UnprocessedPreparedStatementName
UnprocessedPreparedStatementName (..),
newUnprocessedPreparedStatementName,
unprocessedPreparedStatementName_errorCode,
unprocessedPreparedStatementName_errorMessage,
unprocessedPreparedStatementName_statementName,
-- * UnprocessedQueryExecutionId
UnprocessedQueryExecutionId (..),
newUnprocessedQueryExecutionId,
unprocessedQueryExecutionId_errorCode,
unprocessedQueryExecutionId_errorMessage,
unprocessedQueryExecutionId_queryExecutionId,
-- * WorkGroup
WorkGroup (..),
newWorkGroup,
workGroup_configuration,
workGroup_creationTime,
workGroup_description,
workGroup_state,
workGroup_name,
-- * WorkGroupConfiguration
WorkGroupConfiguration (..),
newWorkGroupConfiguration,
workGroupConfiguration_additionalConfiguration,
workGroupConfiguration_bytesScannedCutoffPerQuery,
workGroupConfiguration_customerContentEncryptionConfiguration,
workGroupConfiguration_enforceWorkGroupConfiguration,
workGroupConfiguration_engineVersion,
workGroupConfiguration_executionRole,
workGroupConfiguration_publishCloudWatchMetricsEnabled,
workGroupConfiguration_requesterPaysEnabled,
workGroupConfiguration_resultConfiguration,
-- * WorkGroupConfigurationUpdates
WorkGroupConfigurationUpdates (..),
newWorkGroupConfigurationUpdates,
workGroupConfigurationUpdates_additionalConfiguration,
workGroupConfigurationUpdates_bytesScannedCutoffPerQuery,
workGroupConfigurationUpdates_customerContentEncryptionConfiguration,
workGroupConfigurationUpdates_enforceWorkGroupConfiguration,
workGroupConfigurationUpdates_engineVersion,
workGroupConfigurationUpdates_executionRole,
workGroupConfigurationUpdates_publishCloudWatchMetricsEnabled,
workGroupConfigurationUpdates_removeBytesScannedCutoffPerQuery,
workGroupConfigurationUpdates_removeCustomerContentEncryptionConfiguration,
workGroupConfigurationUpdates_requesterPaysEnabled,
workGroupConfigurationUpdates_resultConfigurationUpdates,
-- * WorkGroupSummary
WorkGroupSummary (..),
newWorkGroupSummary,
workGroupSummary_creationTime,
workGroupSummary_description,
workGroupSummary_engineVersion,
workGroupSummary_name,
workGroupSummary_state,
)
where
import Amazonka.Athena.Types.AclConfiguration
import Amazonka.Athena.Types.ApplicationDPUSizes
import Amazonka.Athena.Types.AthenaError
import Amazonka.Athena.Types.CalculationConfiguration
import Amazonka.Athena.Types.CalculationExecutionState
import Amazonka.Athena.Types.CalculationResult
import Amazonka.Athena.Types.CalculationStatistics
import Amazonka.Athena.Types.CalculationStatus
import Amazonka.Athena.Types.CalculationSummary
import Amazonka.Athena.Types.Column
import Amazonka.Athena.Types.ColumnInfo
import Amazonka.Athena.Types.ColumnNullable
import Amazonka.Athena.Types.CustomerContentEncryptionConfiguration
import Amazonka.Athena.Types.DataCatalog
import Amazonka.Athena.Types.DataCatalogSummary
import Amazonka.Athena.Types.DataCatalogType
import Amazonka.Athena.Types.Database
import Amazonka.Athena.Types.Datum
import Amazonka.Athena.Types.EncryptionConfiguration
import Amazonka.Athena.Types.EncryptionOption
import Amazonka.Athena.Types.EngineConfiguration
import Amazonka.Athena.Types.EngineVersion
import Amazonka.Athena.Types.ExecutorState
import Amazonka.Athena.Types.ExecutorType
import Amazonka.Athena.Types.ExecutorsSummary
import Amazonka.Athena.Types.FilterDefinition
import Amazonka.Athena.Types.NamedQuery
import Amazonka.Athena.Types.NotebookMetadata
import Amazonka.Athena.Types.NotebookSessionSummary
import Amazonka.Athena.Types.NotebookType
import Amazonka.Athena.Types.PreparedStatement
import Amazonka.Athena.Types.PreparedStatementSummary
import Amazonka.Athena.Types.QueryExecution
import Amazonka.Athena.Types.QueryExecutionContext
import Amazonka.Athena.Types.QueryExecutionState
import Amazonka.Athena.Types.QueryExecutionStatistics
import Amazonka.Athena.Types.QueryExecutionStatus
import Amazonka.Athena.Types.QueryRuntimeStatistics
import Amazonka.Athena.Types.QueryRuntimeStatisticsRows
import Amazonka.Athena.Types.QueryRuntimeStatisticsTimeline
import Amazonka.Athena.Types.QueryStage
import Amazonka.Athena.Types.QueryStagePlanNode
import Amazonka.Athena.Types.ResultConfiguration
import Amazonka.Athena.Types.ResultConfigurationUpdates
import Amazonka.Athena.Types.ResultReuseByAgeConfiguration
import Amazonka.Athena.Types.ResultReuseConfiguration
import Amazonka.Athena.Types.ResultReuseInformation
import Amazonka.Athena.Types.ResultSet
import Amazonka.Athena.Types.ResultSetMetadata
import Amazonka.Athena.Types.Row
import Amazonka.Athena.Types.S3AclOption
import Amazonka.Athena.Types.SessionConfiguration
import Amazonka.Athena.Types.SessionState
import Amazonka.Athena.Types.SessionStatistics
import Amazonka.Athena.Types.SessionStatus
import Amazonka.Athena.Types.SessionSummary
import Amazonka.Athena.Types.StatementType
import Amazonka.Athena.Types.TableMetadata
import Amazonka.Athena.Types.Tag
import Amazonka.Athena.Types.UnprocessedNamedQueryId
import Amazonka.Athena.Types.UnprocessedPreparedStatementName
import Amazonka.Athena.Types.UnprocessedQueryExecutionId
import Amazonka.Athena.Types.WorkGroup
import Amazonka.Athena.Types.WorkGroupConfiguration
import Amazonka.Athena.Types.WorkGroupConfigurationUpdates
import Amazonka.Athena.Types.WorkGroupState
import Amazonka.Athena.Types.WorkGroupSummary
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign
-- | API version @2017-05-18@ of the Amazon Athena SDK configuration.
defaultService :: Core.Service
defaultService =
Core.Service
{ Core.abbrev = "Athena",
Core.signer = Sign.v4,
Core.endpointPrefix = "athena",
Core.signingName = "athena",
Core.version = "2017-05-18",
Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
Core.endpoint = Core.defaultEndpoint defaultService,
Core.timeout = Prelude.Just 70,
Core.check = Core.statusSuccess,
Core.error = Core.parseJSONError "Athena",
Core.retry = retry
}
where
retry =
Core.Exponential
{ Core.base = 5.0e-2,
Core.growth = 2,
Core.attempts = 5,
Core.check = check
}
check e
| Lens.has (Core.hasStatus 502) e =
Prelude.Just "bad_gateway"
| Lens.has (Core.hasStatus 504) e =
Prelude.Just "gateway_timeout"
| Lens.has (Core.hasStatus 500) e =
Prelude.Just "general_server_error"
| Lens.has (Core.hasStatus 509) e =
Prelude.Just "limit_exceeded"
| Lens.has
( Core.hasCode "RequestThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "request_throttled_exception"
| Lens.has (Core.hasStatus 503) e =
Prelude.Just "service_unavailable"
| Lens.has
( Core.hasCode "ThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttled_exception"
| Lens.has
( Core.hasCode "Throttling"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling"
| Lens.has
( Core.hasCode "ThrottlingException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling_exception"
| Lens.has
( Core.hasCode
"ProvisionedThroughputExceededException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throughput_exceeded"
| Lens.has (Core.hasStatus 429) e =
Prelude.Just "too_many_requests"
| Prelude.otherwise = Prelude.Nothing
-- | Indicates a platform issue, which may be due to a transient condition or
-- outage.
_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServerException =
Core._MatchServiceError
defaultService
"InternalServerException"
-- | Indicates that something is wrong with the input to the request. For
-- example, a required parameter may be missing or out of range.
_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidRequestException =
Core._MatchServiceError
defaultService
"InvalidRequestException"
-- | An exception that Athena received when it called a custom metastore.
-- Occurs if the error is not caused by user input
-- (@InvalidRequestException@) or from the Athena platform
-- (@InternalServerException@). For example, if a user-created Lambda
-- function is missing permissions, the Lambda @4XX@ exception is returned
-- in a @MetadataException@.
_MetadataException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_MetadataException =
Core._MatchServiceError
defaultService
"MetadataException"
-- | A resource, such as a workgroup, was not found.
_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNotFoundException =
Core._MatchServiceError
defaultService
"ResourceNotFoundException"
-- | The specified session already exists.
_SessionAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_SessionAlreadyExistsException =
Core._MatchServiceError
defaultService
"SessionAlreadyExistsException"
-- | Indicates that the request was throttled.
_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TooManyRequestsException =
Core._MatchServiceError
defaultService
"TooManyRequestsException"