{-# 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.CloudTrail.Types.QueryStatus
-- 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.CloudTrail.Types.QueryStatus
  ( QueryStatus
      ( ..,
        QueryStatus_CANCELLED,
        QueryStatus_FAILED,
        QueryStatus_FINISHED,
        QueryStatus_QUEUED,
        QueryStatus_RUNNING,
        QueryStatus_TIMED_OUT
      ),
  )
where

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

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

pattern QueryStatus_CANCELLED :: QueryStatus
pattern $bQueryStatus_CANCELLED :: QueryStatus
$mQueryStatus_CANCELLED :: forall {r}. QueryStatus -> ((# #) -> r) -> ((# #) -> r) -> r
QueryStatus_CANCELLED = QueryStatus' "CANCELLED"

pattern QueryStatus_FAILED :: QueryStatus
pattern $bQueryStatus_FAILED :: QueryStatus
$mQueryStatus_FAILED :: forall {r}. QueryStatus -> ((# #) -> r) -> ((# #) -> r) -> r
QueryStatus_FAILED = QueryStatus' "FAILED"

pattern QueryStatus_FINISHED :: QueryStatus
pattern $bQueryStatus_FINISHED :: QueryStatus
$mQueryStatus_FINISHED :: forall {r}. QueryStatus -> ((# #) -> r) -> ((# #) -> r) -> r
QueryStatus_FINISHED = QueryStatus' "FINISHED"

pattern QueryStatus_QUEUED :: QueryStatus
pattern $bQueryStatus_QUEUED :: QueryStatus
$mQueryStatus_QUEUED :: forall {r}. QueryStatus -> ((# #) -> r) -> ((# #) -> r) -> r
QueryStatus_QUEUED = QueryStatus' "QUEUED"

pattern QueryStatus_RUNNING :: QueryStatus
pattern $bQueryStatus_RUNNING :: QueryStatus
$mQueryStatus_RUNNING :: forall {r}. QueryStatus -> ((# #) -> r) -> ((# #) -> r) -> r
QueryStatus_RUNNING = QueryStatus' "RUNNING"

pattern QueryStatus_TIMED_OUT :: QueryStatus
pattern $bQueryStatus_TIMED_OUT :: QueryStatus
$mQueryStatus_TIMED_OUT :: forall {r}. QueryStatus -> ((# #) -> r) -> ((# #) -> r) -> r
QueryStatus_TIMED_OUT = QueryStatus' "TIMED_OUT"

{-# COMPLETE
  QueryStatus_CANCELLED,
  QueryStatus_FAILED,
  QueryStatus_FINISHED,
  QueryStatus_QUEUED,
  QueryStatus_RUNNING,
  QueryStatus_TIMED_OUT,
  QueryStatus'
  #-}