{-# 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-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.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.Prelude as Prelude

newtype SchemaExtensionStatus = SchemaExtensionStatus'
  { SchemaExtensionStatus -> Text
fromSchemaExtensionStatus ::
      Core.Text
  }
  deriving stock
    ( Int -> SchemaExtensionStatus -> ShowS
[SchemaExtensionStatus] -> ShowS
SchemaExtensionStatus -> String
(Int -> SchemaExtensionStatus -> ShowS)
-> (SchemaExtensionStatus -> String)
-> ([SchemaExtensionStatus] -> ShowS)
-> Show SchemaExtensionStatus
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]
(Int -> ReadS SchemaExtensionStatus)
-> ReadS [SchemaExtensionStatus]
-> ReadPrec SchemaExtensionStatus
-> ReadPrec [SchemaExtensionStatus]
-> Read 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
(SchemaExtensionStatus -> SchemaExtensionStatus -> Bool)
-> (SchemaExtensionStatus -> SchemaExtensionStatus -> Bool)
-> Eq SchemaExtensionStatus
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
Eq SchemaExtensionStatus
-> (SchemaExtensionStatus -> SchemaExtensionStatus -> Ordering)
-> (SchemaExtensionStatus -> SchemaExtensionStatus -> Bool)
-> (SchemaExtensionStatus -> SchemaExtensionStatus -> Bool)
-> (SchemaExtensionStatus -> SchemaExtensionStatus -> Bool)
-> (SchemaExtensionStatus -> SchemaExtensionStatus -> Bool)
-> (SchemaExtensionStatus
    -> SchemaExtensionStatus -> SchemaExtensionStatus)
-> (SchemaExtensionStatus
    -> SchemaExtensionStatus -> SchemaExtensionStatus)
-> Ord 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
$cp1Ord :: Eq SchemaExtensionStatus
Prelude.Ord,
      (forall x. SchemaExtensionStatus -> Rep SchemaExtensionStatus x)
-> (forall x. Rep SchemaExtensionStatus x -> SchemaExtensionStatus)
-> Generic SchemaExtensionStatus
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
    ( Int -> SchemaExtensionStatus -> Int
SchemaExtensionStatus -> Int
(Int -> SchemaExtensionStatus -> Int)
-> (SchemaExtensionStatus -> Int) -> Hashable SchemaExtensionStatus
forall 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 -> ()
(SchemaExtensionStatus -> ()) -> NFData SchemaExtensionStatus
forall a. (a -> ()) -> NFData a
rnf :: SchemaExtensionStatus -> ()
$crnf :: SchemaExtensionStatus -> ()
Prelude.NFData,
      Text -> Either String SchemaExtensionStatus
(Text -> Either String SchemaExtensionStatus)
-> FromText SchemaExtensionStatus
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String SchemaExtensionStatus
$cfromText :: Text -> Either String SchemaExtensionStatus
Core.FromText,
      SchemaExtensionStatus -> Text
(SchemaExtensionStatus -> Text) -> ToText SchemaExtensionStatus
forall a. (a -> Text) -> ToText a
toText :: SchemaExtensionStatus -> Text
$ctoText :: SchemaExtensionStatus -> Text
Core.ToText,
      SchemaExtensionStatus -> ByteString
(SchemaExtensionStatus -> ByteString)
-> ToByteString SchemaExtensionStatus
forall a. (a -> ByteString) -> ToByteString a
toBS :: SchemaExtensionStatus -> ByteString
$ctoBS :: SchemaExtensionStatus -> ByteString
Core.ToByteString,
      SchemaExtensionStatus -> ByteStringBuilder
(SchemaExtensionStatus -> ByteStringBuilder)
-> ToLog SchemaExtensionStatus
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: SchemaExtensionStatus -> ByteStringBuilder
$cbuild :: SchemaExtensionStatus -> ByteStringBuilder
Core.ToLog,
      HeaderName -> SchemaExtensionStatus -> [Header]
(HeaderName -> SchemaExtensionStatus -> [Header])
-> ToHeader SchemaExtensionStatus
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> SchemaExtensionStatus -> [Header]
$ctoHeader :: HeaderName -> SchemaExtensionStatus -> [Header]
Core.ToHeader,
      SchemaExtensionStatus -> QueryString
(SchemaExtensionStatus -> QueryString)
-> ToQuery SchemaExtensionStatus
forall a. (a -> QueryString) -> ToQuery a
toQuery :: SchemaExtensionStatus -> QueryString
$ctoQuery :: SchemaExtensionStatus -> QueryString
Core.ToQuery,
      Value -> Parser [SchemaExtensionStatus]
Value -> Parser SchemaExtensionStatus
(Value -> Parser SchemaExtensionStatus)
-> (Value -> Parser [SchemaExtensionStatus])
-> FromJSON 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
Core.FromJSON,
      FromJSONKeyFunction [SchemaExtensionStatus]
FromJSONKeyFunction SchemaExtensionStatus
FromJSONKeyFunction SchemaExtensionStatus
-> FromJSONKeyFunction [SchemaExtensionStatus]
-> FromJSONKey SchemaExtensionStatus
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [SchemaExtensionStatus]
$cfromJSONKeyList :: FromJSONKeyFunction [SchemaExtensionStatus]
fromJSONKey :: FromJSONKeyFunction SchemaExtensionStatus
$cfromJSONKey :: FromJSONKeyFunction SchemaExtensionStatus
Core.FromJSONKey,
      [SchemaExtensionStatus] -> Encoding
[SchemaExtensionStatus] -> Value
SchemaExtensionStatus -> Encoding
SchemaExtensionStatus -> Value
(SchemaExtensionStatus -> Value)
-> (SchemaExtensionStatus -> Encoding)
-> ([SchemaExtensionStatus] -> Value)
-> ([SchemaExtensionStatus] -> Encoding)
-> ToJSON SchemaExtensionStatus
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
Core.ToJSON,
      ToJSONKeyFunction [SchemaExtensionStatus]
ToJSONKeyFunction SchemaExtensionStatus
ToJSONKeyFunction SchemaExtensionStatus
-> ToJSONKeyFunction [SchemaExtensionStatus]
-> ToJSONKey SchemaExtensionStatus
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [SchemaExtensionStatus]
$ctoJSONKeyList :: ToJSONKeyFunction [SchemaExtensionStatus]
toJSONKey :: ToJSONKeyFunction SchemaExtensionStatus
$ctoJSONKey :: ToJSONKeyFunction SchemaExtensionStatus
Core.ToJSONKey,
      [Node] -> Either String SchemaExtensionStatus
([Node] -> Either String SchemaExtensionStatus)
-> FromXML SchemaExtensionStatus
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String SchemaExtensionStatus
$cparseXML :: [Node] -> Either String SchemaExtensionStatus
Core.FromXML,
      SchemaExtensionStatus -> XML
(SchemaExtensionStatus -> XML) -> ToXML SchemaExtensionStatus
forall a. (a -> XML) -> ToXML a
toXML :: SchemaExtensionStatus -> XML
$ctoXML :: SchemaExtensionStatus -> XML
Core.ToXML
    )

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

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

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

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

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

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

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

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

pattern SchemaExtensionStatus_UpdatingSchema :: SchemaExtensionStatus
pattern $bSchemaExtensionStatus_UpdatingSchema :: SchemaExtensionStatus
$mSchemaExtensionStatus_UpdatingSchema :: forall r.
SchemaExtensionStatus -> (Void# -> r) -> (Void# -> 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'
  #-}