{-# 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.DirectoryService.Types.SchemaExtensionStatus
-- 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.DirectoryService.Types.SchemaExtensionStatus
  ( SchemaExtensionStatus
      ( ..,
        SchemaExtensionStatus_CancelInProgress,
        SchemaExtensionStatus_Cancelled,
        SchemaExtensionStatus_Completed,
        SchemaExtensionStatus_CreatingSnapshot,
        SchemaExtensionStatus_Failed,
        SchemaExtensionStatus_Initializing,
        SchemaExtensionStatus_Replicating,
        SchemaExtensionStatus_RollbackInProgress,
        SchemaExtensionStatus_UpdatingSchema
      ),
  )
where

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

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

pattern SchemaExtensionStatus_CancelInProgress :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_CancelInProgress :: SchemaExtensionStatus
$mSchemaExtensionStatus_CancelInProgress :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_CancelInProgress = SchemaExtensionStatus' "CancelInProgress"

pattern SchemaExtensionStatus_Cancelled :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_Cancelled :: SchemaExtensionStatus
$mSchemaExtensionStatus_Cancelled :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_Cancelled = SchemaExtensionStatus' "Cancelled"

pattern SchemaExtensionStatus_Completed :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_Completed :: SchemaExtensionStatus
$mSchemaExtensionStatus_Completed :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_Completed = SchemaExtensionStatus' "Completed"

pattern SchemaExtensionStatus_CreatingSnapshot :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_CreatingSnapshot :: SchemaExtensionStatus
$mSchemaExtensionStatus_CreatingSnapshot :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_CreatingSnapshot = SchemaExtensionStatus' "CreatingSnapshot"

pattern SchemaExtensionStatus_Failed :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_Failed :: SchemaExtensionStatus
$mSchemaExtensionStatus_Failed :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_Failed = SchemaExtensionStatus' "Failed"

pattern SchemaExtensionStatus_Initializing :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_Initializing :: SchemaExtensionStatus
$mSchemaExtensionStatus_Initializing :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_Initializing = SchemaExtensionStatus' "Initializing"

pattern SchemaExtensionStatus_Replicating :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_Replicating :: SchemaExtensionStatus
$mSchemaExtensionStatus_Replicating :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_Replicating = SchemaExtensionStatus' "Replicating"

pattern SchemaExtensionStatus_RollbackInProgress :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_RollbackInProgress :: SchemaExtensionStatus
$mSchemaExtensionStatus_RollbackInProgress :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_RollbackInProgress = SchemaExtensionStatus' "RollbackInProgress"

pattern SchemaExtensionStatus_UpdatingSchema :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_UpdatingSchema :: SchemaExtensionStatus
$mSchemaExtensionStatus_UpdatingSchema :: forall {r}.
SchemaExtensionStatus -> ((# #) -> r) -> ((# #) -> r) -> r
SchemaExtensionStatus_UpdatingSchema = SchemaExtensionStatus' "UpdatingSchema"

{-# COMPLETE
  SchemaExtensionStatus_CancelInProgress,
  SchemaExtensionStatus_Cancelled,
  SchemaExtensionStatus_Completed,
  SchemaExtensionStatus_CreatingSnapshot,
  SchemaExtensionStatus_Failed,
  SchemaExtensionStatus_Initializing,
  SchemaExtensionStatus_Replicating,
  SchemaExtensionStatus_RollbackInProgress,
  SchemaExtensionStatus_UpdatingSchema,
  SchemaExtensionStatus'
  #-}