{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

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

-- |
-- Module      : Amazonka.Athena.Types.QueryExecutionState
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Athena.Types.QueryExecutionState
  ( QueryExecutionState
      ( ..,
        QueryExecutionState_CANCELLED,
        QueryExecutionState_FAILED,
        QueryExecutionState_QUEUED,
        QueryExecutionState_RUNNING,
        QueryExecutionState_SUCCEEDED
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype QueryExecutionState = QueryExecutionState'
  { QueryExecutionState -> Text
fromQueryExecutionState ::
      Core.Text
  }
  deriving stock
    ( Int -> QueryExecutionState -> ShowS
[QueryExecutionState] -> ShowS
QueryExecutionState -> String
(Int -> QueryExecutionState -> ShowS)
-> (QueryExecutionState -> String)
-> ([QueryExecutionState] -> ShowS)
-> Show QueryExecutionState
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [QueryExecutionState] -> ShowS
$cshowList :: [QueryExecutionState] -> ShowS
show :: QueryExecutionState -> String
$cshow :: QueryExecutionState -> String
showsPrec :: Int -> QueryExecutionState -> ShowS
$cshowsPrec :: Int -> QueryExecutionState -> ShowS
Prelude.Show,
      ReadPrec [QueryExecutionState]
ReadPrec QueryExecutionState
Int -> ReadS QueryExecutionState
ReadS [QueryExecutionState]
(Int -> ReadS QueryExecutionState)
-> ReadS [QueryExecutionState]
-> ReadPrec QueryExecutionState
-> ReadPrec [QueryExecutionState]
-> Read QueryExecutionState
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [QueryExecutionState]
$creadListPrec :: ReadPrec [QueryExecutionState]
readPrec :: ReadPrec QueryExecutionState
$creadPrec :: ReadPrec QueryExecutionState
readList :: ReadS [QueryExecutionState]
$creadList :: ReadS [QueryExecutionState]
readsPrec :: Int -> ReadS QueryExecutionState
$creadsPrec :: Int -> ReadS QueryExecutionState
Prelude.Read,
      QueryExecutionState -> QueryExecutionState -> Bool
(QueryExecutionState -> QueryExecutionState -> Bool)
-> (QueryExecutionState -> QueryExecutionState -> Bool)
-> Eq QueryExecutionState
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: QueryExecutionState -> QueryExecutionState -> Bool
$c/= :: QueryExecutionState -> QueryExecutionState -> Bool
== :: QueryExecutionState -> QueryExecutionState -> Bool
$c== :: QueryExecutionState -> QueryExecutionState -> Bool
Prelude.Eq,
      Eq QueryExecutionState
Eq QueryExecutionState
-> (QueryExecutionState -> QueryExecutionState -> Ordering)
-> (QueryExecutionState -> QueryExecutionState -> Bool)
-> (QueryExecutionState -> QueryExecutionState -> Bool)
-> (QueryExecutionState -> QueryExecutionState -> Bool)
-> (QueryExecutionState -> QueryExecutionState -> Bool)
-> (QueryExecutionState
    -> QueryExecutionState -> QueryExecutionState)
-> (QueryExecutionState
    -> QueryExecutionState -> QueryExecutionState)
-> Ord QueryExecutionState
QueryExecutionState -> QueryExecutionState -> Bool
QueryExecutionState -> QueryExecutionState -> Ordering
QueryExecutionState -> QueryExecutionState -> QueryExecutionState
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: QueryExecutionState -> QueryExecutionState -> QueryExecutionState
$cmin :: QueryExecutionState -> QueryExecutionState -> QueryExecutionState
max :: QueryExecutionState -> QueryExecutionState -> QueryExecutionState
$cmax :: QueryExecutionState -> QueryExecutionState -> QueryExecutionState
>= :: QueryExecutionState -> QueryExecutionState -> Bool
$c>= :: QueryExecutionState -> QueryExecutionState -> Bool
> :: QueryExecutionState -> QueryExecutionState -> Bool
$c> :: QueryExecutionState -> QueryExecutionState -> Bool
<= :: QueryExecutionState -> QueryExecutionState -> Bool
$c<= :: QueryExecutionState -> QueryExecutionState -> Bool
< :: QueryExecutionState -> QueryExecutionState -> Bool
$c< :: QueryExecutionState -> QueryExecutionState -> Bool
compare :: QueryExecutionState -> QueryExecutionState -> Ordering
$ccompare :: QueryExecutionState -> QueryExecutionState -> Ordering
$cp1Ord :: Eq QueryExecutionState
Prelude.Ord,
      (forall x. QueryExecutionState -> Rep QueryExecutionState x)
-> (forall x. Rep QueryExecutionState x -> QueryExecutionState)
-> Generic QueryExecutionState
forall x. Rep QueryExecutionState x -> QueryExecutionState
forall x. QueryExecutionState -> Rep QueryExecutionState x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep QueryExecutionState x -> QueryExecutionState
$cfrom :: forall x. QueryExecutionState -> Rep QueryExecutionState x
Prelude.Generic
    )
  deriving newtype
    ( Int -> QueryExecutionState -> Int
QueryExecutionState -> Int
(Int -> QueryExecutionState -> Int)
-> (QueryExecutionState -> Int) -> Hashable QueryExecutionState
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: QueryExecutionState -> Int
$chash :: QueryExecutionState -> Int
hashWithSalt :: Int -> QueryExecutionState -> Int
$chashWithSalt :: Int -> QueryExecutionState -> Int
Prelude.Hashable,
      QueryExecutionState -> ()
(QueryExecutionState -> ()) -> NFData QueryExecutionState
forall a. (a -> ()) -> NFData a
rnf :: QueryExecutionState -> ()
$crnf :: QueryExecutionState -> ()
Prelude.NFData,
      Text -> Either String QueryExecutionState
(Text -> Either String QueryExecutionState)
-> FromText QueryExecutionState
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String QueryExecutionState
$cfromText :: Text -> Either String QueryExecutionState
Core.FromText,
      QueryExecutionState -> Text
(QueryExecutionState -> Text) -> ToText QueryExecutionState
forall a. (a -> Text) -> ToText a
toText :: QueryExecutionState -> Text
$ctoText :: QueryExecutionState -> Text
Core.ToText,
      QueryExecutionState -> ByteString
(QueryExecutionState -> ByteString)
-> ToByteString QueryExecutionState
forall a. (a -> ByteString) -> ToByteString a
toBS :: QueryExecutionState -> ByteString
$ctoBS :: QueryExecutionState -> ByteString
Core.ToByteString,
      QueryExecutionState -> ByteStringBuilder
(QueryExecutionState -> ByteStringBuilder)
-> ToLog QueryExecutionState
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: QueryExecutionState -> ByteStringBuilder
$cbuild :: QueryExecutionState -> ByteStringBuilder
Core.ToLog,
      HeaderName -> QueryExecutionState -> [Header]
(HeaderName -> QueryExecutionState -> [Header])
-> ToHeader QueryExecutionState
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> QueryExecutionState -> [Header]
$ctoHeader :: HeaderName -> QueryExecutionState -> [Header]
Core.ToHeader,
      QueryExecutionState -> QueryString
(QueryExecutionState -> QueryString) -> ToQuery QueryExecutionState
forall a. (a -> QueryString) -> ToQuery a
toQuery :: QueryExecutionState -> QueryString
$ctoQuery :: QueryExecutionState -> QueryString
Core.ToQuery,
      Value -> Parser [QueryExecutionState]
Value -> Parser QueryExecutionState
(Value -> Parser QueryExecutionState)
-> (Value -> Parser [QueryExecutionState])
-> FromJSON QueryExecutionState
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [QueryExecutionState]
$cparseJSONList :: Value -> Parser [QueryExecutionState]
parseJSON :: Value -> Parser QueryExecutionState
$cparseJSON :: Value -> Parser QueryExecutionState
Core.FromJSON,
      FromJSONKeyFunction [QueryExecutionState]
FromJSONKeyFunction QueryExecutionState
FromJSONKeyFunction QueryExecutionState
-> FromJSONKeyFunction [QueryExecutionState]
-> FromJSONKey QueryExecutionState
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [QueryExecutionState]
$cfromJSONKeyList :: FromJSONKeyFunction [QueryExecutionState]
fromJSONKey :: FromJSONKeyFunction QueryExecutionState
$cfromJSONKey :: FromJSONKeyFunction QueryExecutionState
Core.FromJSONKey,
      [QueryExecutionState] -> Encoding
[QueryExecutionState] -> Value
QueryExecutionState -> Encoding
QueryExecutionState -> Value
(QueryExecutionState -> Value)
-> (QueryExecutionState -> Encoding)
-> ([QueryExecutionState] -> Value)
-> ([QueryExecutionState] -> Encoding)
-> ToJSON QueryExecutionState
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [QueryExecutionState] -> Encoding
$ctoEncodingList :: [QueryExecutionState] -> Encoding
toJSONList :: [QueryExecutionState] -> Value
$ctoJSONList :: [QueryExecutionState] -> Value
toEncoding :: QueryExecutionState -> Encoding
$ctoEncoding :: QueryExecutionState -> Encoding
toJSON :: QueryExecutionState -> Value
$ctoJSON :: QueryExecutionState -> Value
Core.ToJSON,
      ToJSONKeyFunction [QueryExecutionState]
ToJSONKeyFunction QueryExecutionState
ToJSONKeyFunction QueryExecutionState
-> ToJSONKeyFunction [QueryExecutionState]
-> ToJSONKey QueryExecutionState
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [QueryExecutionState]
$ctoJSONKeyList :: ToJSONKeyFunction [QueryExecutionState]
toJSONKey :: ToJSONKeyFunction QueryExecutionState
$ctoJSONKey :: ToJSONKeyFunction QueryExecutionState
Core.ToJSONKey,
      [Node] -> Either String QueryExecutionState
([Node] -> Either String QueryExecutionState)
-> FromXML QueryExecutionState
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String QueryExecutionState
$cparseXML :: [Node] -> Either String QueryExecutionState
Core.FromXML,
      QueryExecutionState -> XML
(QueryExecutionState -> XML) -> ToXML QueryExecutionState
forall a. (a -> XML) -> ToXML a
toXML :: QueryExecutionState -> XML
$ctoXML :: QueryExecutionState -> XML
Core.ToXML
    )

pattern QueryExecutionState_CANCELLED :: QueryExecutionState
pattern $bQueryExecutionState_CANCELLED :: QueryExecutionState
$mQueryExecutionState_CANCELLED :: forall r. QueryExecutionState -> (Void# -> r) -> (Void# -> r) -> r
QueryExecutionState_CANCELLED = QueryExecutionState' "CANCELLED"

pattern QueryExecutionState_FAILED :: QueryExecutionState
pattern $bQueryExecutionState_FAILED :: QueryExecutionState
$mQueryExecutionState_FAILED :: forall r. QueryExecutionState -> (Void# -> r) -> (Void# -> r) -> r
QueryExecutionState_FAILED = QueryExecutionState' "FAILED"

pattern QueryExecutionState_QUEUED :: QueryExecutionState
pattern $bQueryExecutionState_QUEUED :: QueryExecutionState
$mQueryExecutionState_QUEUED :: forall r. QueryExecutionState -> (Void# -> r) -> (Void# -> r) -> r
QueryExecutionState_QUEUED = QueryExecutionState' "QUEUED"

pattern QueryExecutionState_RUNNING :: QueryExecutionState
pattern $bQueryExecutionState_RUNNING :: QueryExecutionState
$mQueryExecutionState_RUNNING :: forall r. QueryExecutionState -> (Void# -> r) -> (Void# -> r) -> r
QueryExecutionState_RUNNING = QueryExecutionState' "RUNNING"

pattern QueryExecutionState_SUCCEEDED :: QueryExecutionState
pattern $bQueryExecutionState_SUCCEEDED :: QueryExecutionState
$mQueryExecutionState_SUCCEEDED :: forall r. QueryExecutionState -> (Void# -> r) -> (Void# -> r) -> r
QueryExecutionState_SUCCEEDED = QueryExecutionState' "SUCCEEDED"

{-# COMPLETE
  QueryExecutionState_CANCELLED,
  QueryExecutionState_FAILED,
  QueryExecutionState_QUEUED,
  QueryExecutionState_RUNNING,
  QueryExecutionState_SUCCEEDED,
  QueryExecutionState'
  #-}