{-# 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.Omics.Types.RunStatus
-- 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.Omics.Types.RunStatus
  ( RunStatus
      ( ..,
        RunStatus_CANCELLED,
        RunStatus_COMPLETED,
        RunStatus_DELETED,
        RunStatus_FAILED,
        RunStatus_PENDING,
        RunStatus_RUNNING,
        RunStatus_STARTING,
        RunStatus_STOPPING
      ),
  )
where

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

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

pattern RunStatus_CANCELLED :: RunStatus
pattern $bRunStatus_CANCELLED :: RunStatus
$mRunStatus_CANCELLED :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_CANCELLED = RunStatus' "CANCELLED"

pattern RunStatus_COMPLETED :: RunStatus
pattern $bRunStatus_COMPLETED :: RunStatus
$mRunStatus_COMPLETED :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_COMPLETED = RunStatus' "COMPLETED"

pattern RunStatus_DELETED :: RunStatus
pattern $bRunStatus_DELETED :: RunStatus
$mRunStatus_DELETED :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_DELETED = RunStatus' "DELETED"

pattern RunStatus_FAILED :: RunStatus
pattern $bRunStatus_FAILED :: RunStatus
$mRunStatus_FAILED :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_FAILED = RunStatus' "FAILED"

pattern RunStatus_PENDING :: RunStatus
pattern $bRunStatus_PENDING :: RunStatus
$mRunStatus_PENDING :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_PENDING = RunStatus' "PENDING"

pattern RunStatus_RUNNING :: RunStatus
pattern $bRunStatus_RUNNING :: RunStatus
$mRunStatus_RUNNING :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_RUNNING = RunStatus' "RUNNING"

pattern RunStatus_STARTING :: RunStatus
pattern $bRunStatus_STARTING :: RunStatus
$mRunStatus_STARTING :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_STARTING = RunStatus' "STARTING"

pattern RunStatus_STOPPING :: RunStatus
pattern $bRunStatus_STOPPING :: RunStatus
$mRunStatus_STOPPING :: forall {r}. RunStatus -> ((# #) -> r) -> ((# #) -> r) -> r
RunStatus_STOPPING = RunStatus' "STOPPING"

{-# COMPLETE
  RunStatus_CANCELLED,
  RunStatus_COMPLETED,
  RunStatus_DELETED,
  RunStatus_FAILED,
  RunStatus_PENDING,
  RunStatus_RUNNING,
  RunStatus_STARTING,
  RunStatus_STOPPING,
  RunStatus'
  #-}