{-# 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.SimSpaceWeaver.Types.SimulationStatus
-- 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.SimSpaceWeaver.Types.SimulationStatus
  ( SimulationStatus
      ( ..,
        SimulationStatus_DELETED,
        SimulationStatus_DELETING,
        SimulationStatus_FAILED,
        SimulationStatus_STARTED,
        SimulationStatus_STARTING,
        SimulationStatus_STOPPED,
        SimulationStatus_STOPPING,
        SimulationStatus_UNKNOWN
      ),
  )
where

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

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

pattern SimulationStatus_DELETED :: SimulationStatus
pattern $bSimulationStatus_DELETED :: SimulationStatus
$mSimulationStatus_DELETED :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_DELETED = SimulationStatus' "DELETED"

pattern SimulationStatus_DELETING :: SimulationStatus
pattern $bSimulationStatus_DELETING :: SimulationStatus
$mSimulationStatus_DELETING :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_DELETING = SimulationStatus' "DELETING"

pattern SimulationStatus_FAILED :: SimulationStatus
pattern $bSimulationStatus_FAILED :: SimulationStatus
$mSimulationStatus_FAILED :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_FAILED = SimulationStatus' "FAILED"

pattern SimulationStatus_STARTED :: SimulationStatus
pattern $bSimulationStatus_STARTED :: SimulationStatus
$mSimulationStatus_STARTED :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_STARTED = SimulationStatus' "STARTED"

pattern SimulationStatus_STARTING :: SimulationStatus
pattern $bSimulationStatus_STARTING :: SimulationStatus
$mSimulationStatus_STARTING :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_STARTING = SimulationStatus' "STARTING"

pattern SimulationStatus_STOPPED :: SimulationStatus
pattern $bSimulationStatus_STOPPED :: SimulationStatus
$mSimulationStatus_STOPPED :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_STOPPED = SimulationStatus' "STOPPED"

pattern SimulationStatus_STOPPING :: SimulationStatus
pattern $bSimulationStatus_STOPPING :: SimulationStatus
$mSimulationStatus_STOPPING :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_STOPPING = SimulationStatus' "STOPPING"

pattern SimulationStatus_UNKNOWN :: SimulationStatus
pattern $bSimulationStatus_UNKNOWN :: SimulationStatus
$mSimulationStatus_UNKNOWN :: forall {r}. SimulationStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SimulationStatus_UNKNOWN = SimulationStatus' "UNKNOWN"

{-# COMPLETE
  SimulationStatus_DELETED,
  SimulationStatus_DELETING,
  SimulationStatus_FAILED,
  SimulationStatus_STARTED,
  SimulationStatus_STARTING,
  SimulationStatus_STOPPED,
  SimulationStatus_STOPPING,
  SimulationStatus_UNKNOWN,
  SimulationStatus'
  #-}