{-# 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.DMS.Types.StartReplicationTaskTypeValue
-- 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.DMS.Types.StartReplicationTaskTypeValue
  ( StartReplicationTaskTypeValue
      ( ..,
        StartReplicationTaskTypeValue_Reload_target,
        StartReplicationTaskTypeValue_Resume_processing,
        StartReplicationTaskTypeValue_Start_replication
      ),
  )
where

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

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

pattern StartReplicationTaskTypeValue_Reload_target :: StartReplicationTaskTypeValue
pattern $bStartReplicationTaskTypeValue_Reload_target :: StartReplicationTaskTypeValue
$mStartReplicationTaskTypeValue_Reload_target :: forall r.
StartReplicationTaskTypeValue -> (Void# -> r) -> (Void# -> r) -> r
StartReplicationTaskTypeValue_Reload_target = StartReplicationTaskTypeValue' "reload-target"

pattern StartReplicationTaskTypeValue_Resume_processing :: StartReplicationTaskTypeValue
pattern $bStartReplicationTaskTypeValue_Resume_processing :: StartReplicationTaskTypeValue
$mStartReplicationTaskTypeValue_Resume_processing :: forall r.
StartReplicationTaskTypeValue -> (Void# -> r) -> (Void# -> r) -> r
StartReplicationTaskTypeValue_Resume_processing = StartReplicationTaskTypeValue' "resume-processing"

pattern StartReplicationTaskTypeValue_Start_replication :: StartReplicationTaskTypeValue
pattern $bStartReplicationTaskTypeValue_Start_replication :: StartReplicationTaskTypeValue
$mStartReplicationTaskTypeValue_Start_replication :: forall r.
StartReplicationTaskTypeValue -> (Void# -> r) -> (Void# -> r) -> r
StartReplicationTaskTypeValue_Start_replication = StartReplicationTaskTypeValue' "start-replication"

{-# COMPLETE
  StartReplicationTaskTypeValue_Reload_target,
  StartReplicationTaskTypeValue_Resume_processing,
  StartReplicationTaskTypeValue_Start_replication,
  StartReplicationTaskTypeValue'
  #-}