{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.SMS.Types.ReplicationRun where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SMS.Types.ReplicationRunStageDetails
import Amazonka.SMS.Types.ReplicationRunState
import Amazonka.SMS.Types.ReplicationRunType
data ReplicationRun = ReplicationRun'
{
ReplicationRun -> Maybe Text
amiId :: Prelude.Maybe Prelude.Text,
ReplicationRun -> Maybe POSIX
completedTime :: Prelude.Maybe Data.POSIX,
ReplicationRun -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
ReplicationRun -> Maybe Bool
encrypted :: Prelude.Maybe Prelude.Bool,
ReplicationRun -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
ReplicationRun -> Maybe Text
replicationRunId :: Prelude.Maybe Prelude.Text,
ReplicationRun -> Maybe POSIX
scheduledStartTime :: Prelude.Maybe Data.POSIX,
ReplicationRun -> Maybe ReplicationRunStageDetails
stageDetails :: Prelude.Maybe ReplicationRunStageDetails,
ReplicationRun -> Maybe ReplicationRunState
state :: Prelude.Maybe ReplicationRunState,
ReplicationRun -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
ReplicationRun -> Maybe ReplicationRunType
type' :: Prelude.Maybe ReplicationRunType
}
deriving (ReplicationRun -> ReplicationRun -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReplicationRun -> ReplicationRun -> Bool
$c/= :: ReplicationRun -> ReplicationRun -> Bool
== :: ReplicationRun -> ReplicationRun -> Bool
$c== :: ReplicationRun -> ReplicationRun -> Bool
Prelude.Eq, ReadPrec [ReplicationRun]
ReadPrec ReplicationRun
Int -> ReadS ReplicationRun
ReadS [ReplicationRun]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ReplicationRun]
$creadListPrec :: ReadPrec [ReplicationRun]
readPrec :: ReadPrec ReplicationRun
$creadPrec :: ReadPrec ReplicationRun
readList :: ReadS [ReplicationRun]
$creadList :: ReadS [ReplicationRun]
readsPrec :: Int -> ReadS ReplicationRun
$creadsPrec :: Int -> ReadS ReplicationRun
Prelude.Read, Int -> ReplicationRun -> ShowS
[ReplicationRun] -> ShowS
ReplicationRun -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReplicationRun] -> ShowS
$cshowList :: [ReplicationRun] -> ShowS
show :: ReplicationRun -> String
$cshow :: ReplicationRun -> String
showsPrec :: Int -> ReplicationRun -> ShowS
$cshowsPrec :: Int -> ReplicationRun -> ShowS
Prelude.Show, forall x. Rep ReplicationRun x -> ReplicationRun
forall x. ReplicationRun -> Rep ReplicationRun x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ReplicationRun x -> ReplicationRun
$cfrom :: forall x. ReplicationRun -> Rep ReplicationRun x
Prelude.Generic)
newReplicationRun ::
ReplicationRun
newReplicationRun :: ReplicationRun
newReplicationRun =
ReplicationRun'
{ $sel:amiId:ReplicationRun' :: Maybe Text
amiId = forall a. Maybe a
Prelude.Nothing,
$sel:completedTime:ReplicationRun' :: Maybe POSIX
completedTime = forall a. Maybe a
Prelude.Nothing,
$sel:description:ReplicationRun' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:encrypted:ReplicationRun' :: Maybe Bool
encrypted = forall a. Maybe a
Prelude.Nothing,
$sel:kmsKeyId:ReplicationRun' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:replicationRunId:ReplicationRun' :: Maybe Text
replicationRunId = forall a. Maybe a
Prelude.Nothing,
$sel:scheduledStartTime:ReplicationRun' :: Maybe POSIX
scheduledStartTime = forall a. Maybe a
Prelude.Nothing,
$sel:stageDetails:ReplicationRun' :: Maybe ReplicationRunStageDetails
stageDetails = forall a. Maybe a
Prelude.Nothing,
$sel:state:ReplicationRun' :: Maybe ReplicationRunState
state = forall a. Maybe a
Prelude.Nothing,
$sel:statusMessage:ReplicationRun' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
$sel:type':ReplicationRun' :: Maybe ReplicationRunType
type' = forall a. Maybe a
Prelude.Nothing
}
replicationRun_amiId :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.Text)
replicationRun_amiId :: Lens' ReplicationRun (Maybe Text)
replicationRun_amiId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe Text
amiId :: Maybe Text
$sel:amiId:ReplicationRun' :: ReplicationRun -> Maybe Text
amiId} -> Maybe Text
amiId) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe Text
a -> ReplicationRun
s {$sel:amiId:ReplicationRun' :: Maybe Text
amiId = Maybe Text
a} :: ReplicationRun)
replicationRun_completedTime :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.UTCTime)
replicationRun_completedTime :: Lens' ReplicationRun (Maybe UTCTime)
replicationRun_completedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe POSIX
completedTime :: Maybe POSIX
$sel:completedTime:ReplicationRun' :: ReplicationRun -> Maybe POSIX
completedTime} -> Maybe POSIX
completedTime) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe POSIX
a -> ReplicationRun
s {$sel:completedTime:ReplicationRun' :: Maybe POSIX
completedTime = Maybe POSIX
a} :: ReplicationRun) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
replicationRun_description :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.Text)
replicationRun_description :: Lens' ReplicationRun (Maybe Text)
replicationRun_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe Text
description :: Maybe Text
$sel:description:ReplicationRun' :: ReplicationRun -> Maybe Text
description} -> Maybe Text
description) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe Text
a -> ReplicationRun
s {$sel:description:ReplicationRun' :: Maybe Text
description = Maybe Text
a} :: ReplicationRun)
replicationRun_encrypted :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.Bool)
replicationRun_encrypted :: Lens' ReplicationRun (Maybe Bool)
replicationRun_encrypted = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe Bool
encrypted :: Maybe Bool
$sel:encrypted:ReplicationRun' :: ReplicationRun -> Maybe Bool
encrypted} -> Maybe Bool
encrypted) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe Bool
a -> ReplicationRun
s {$sel:encrypted:ReplicationRun' :: Maybe Bool
encrypted = Maybe Bool
a} :: ReplicationRun)
replicationRun_kmsKeyId :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.Text)
replicationRun_kmsKeyId :: Lens' ReplicationRun (Maybe Text)
replicationRun_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:ReplicationRun' :: ReplicationRun -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe Text
a -> ReplicationRun
s {$sel:kmsKeyId:ReplicationRun' :: Maybe Text
kmsKeyId = Maybe Text
a} :: ReplicationRun)
replicationRun_replicationRunId :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.Text)
replicationRun_replicationRunId :: Lens' ReplicationRun (Maybe Text)
replicationRun_replicationRunId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe Text
replicationRunId :: Maybe Text
$sel:replicationRunId:ReplicationRun' :: ReplicationRun -> Maybe Text
replicationRunId} -> Maybe Text
replicationRunId) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe Text
a -> ReplicationRun
s {$sel:replicationRunId:ReplicationRun' :: Maybe Text
replicationRunId = Maybe Text
a} :: ReplicationRun)
replicationRun_scheduledStartTime :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.UTCTime)
replicationRun_scheduledStartTime :: Lens' ReplicationRun (Maybe UTCTime)
replicationRun_scheduledStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe POSIX
scheduledStartTime :: Maybe POSIX
$sel:scheduledStartTime:ReplicationRun' :: ReplicationRun -> Maybe POSIX
scheduledStartTime} -> Maybe POSIX
scheduledStartTime) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe POSIX
a -> ReplicationRun
s {$sel:scheduledStartTime:ReplicationRun' :: Maybe POSIX
scheduledStartTime = Maybe POSIX
a} :: ReplicationRun) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
replicationRun_stageDetails :: Lens.Lens' ReplicationRun (Prelude.Maybe ReplicationRunStageDetails)
replicationRun_stageDetails :: Lens' ReplicationRun (Maybe ReplicationRunStageDetails)
replicationRun_stageDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe ReplicationRunStageDetails
stageDetails :: Maybe ReplicationRunStageDetails
$sel:stageDetails:ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunStageDetails
stageDetails} -> Maybe ReplicationRunStageDetails
stageDetails) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe ReplicationRunStageDetails
a -> ReplicationRun
s {$sel:stageDetails:ReplicationRun' :: Maybe ReplicationRunStageDetails
stageDetails = Maybe ReplicationRunStageDetails
a} :: ReplicationRun)
replicationRun_state :: Lens.Lens' ReplicationRun (Prelude.Maybe ReplicationRunState)
replicationRun_state :: Lens' ReplicationRun (Maybe ReplicationRunState)
replicationRun_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe ReplicationRunState
state :: Maybe ReplicationRunState
$sel:state:ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunState
state} -> Maybe ReplicationRunState
state) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe ReplicationRunState
a -> ReplicationRun
s {$sel:state:ReplicationRun' :: Maybe ReplicationRunState
state = Maybe ReplicationRunState
a} :: ReplicationRun)
replicationRun_statusMessage :: Lens.Lens' ReplicationRun (Prelude.Maybe Prelude.Text)
replicationRun_statusMessage :: Lens' ReplicationRun (Maybe Text)
replicationRun_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:ReplicationRun' :: ReplicationRun -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: ReplicationRun
s@ReplicationRun' {} Maybe Text
a -> ReplicationRun
s {$sel:statusMessage:ReplicationRun' :: Maybe Text
statusMessage = Maybe Text
a} :: ReplicationRun)
replicationRun_type :: Lens.Lens' ReplicationRun (Prelude.Maybe ReplicationRunType)
replicationRun_type :: Lens' ReplicationRun (Maybe ReplicationRunType)
replicationRun_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReplicationRun' {Maybe ReplicationRunType
type' :: Maybe ReplicationRunType
$sel:type':ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunType
type'} -> Maybe ReplicationRunType
type') (\s :: ReplicationRun
s@ReplicationRun' {} Maybe ReplicationRunType
a -> ReplicationRun
s {$sel:type':ReplicationRun' :: Maybe ReplicationRunType
type' = Maybe ReplicationRunType
a} :: ReplicationRun)
instance Data.FromJSON ReplicationRun where
parseJSON :: Value -> Parser ReplicationRun
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ReplicationRun"
( \Object
x ->
Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe ReplicationRunStageDetails
-> Maybe ReplicationRunState
-> Maybe Text
-> Maybe ReplicationRunType
-> ReplicationRun
ReplicationRun'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"amiId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"completedTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"description")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"encrypted")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"kmsKeyId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"replicationRunId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"scheduledStartTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"stageDetails")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"state")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"statusMessage")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"type")
)
instance Prelude.Hashable ReplicationRun where
hashWithSalt :: Int -> ReplicationRun -> Int
hashWithSalt Int
_salt ReplicationRun' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe ReplicationRunStageDetails
Maybe ReplicationRunState
Maybe ReplicationRunType
type' :: Maybe ReplicationRunType
statusMessage :: Maybe Text
state :: Maybe ReplicationRunState
stageDetails :: Maybe ReplicationRunStageDetails
scheduledStartTime :: Maybe POSIX
replicationRunId :: Maybe Text
kmsKeyId :: Maybe Text
encrypted :: Maybe Bool
description :: Maybe Text
completedTime :: Maybe POSIX
amiId :: Maybe Text
$sel:type':ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunType
$sel:statusMessage:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:state:ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunState
$sel:stageDetails:ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunStageDetails
$sel:scheduledStartTime:ReplicationRun' :: ReplicationRun -> Maybe POSIX
$sel:replicationRunId:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:kmsKeyId:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:encrypted:ReplicationRun' :: ReplicationRun -> Maybe Bool
$sel:description:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:completedTime:ReplicationRun' :: ReplicationRun -> Maybe POSIX
$sel:amiId:ReplicationRun' :: ReplicationRun -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
amiId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
completedTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
encrypted
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
replicationRunId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
scheduledStartTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReplicationRunStageDetails
stageDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReplicationRunState
state
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusMessage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReplicationRunType
type'
instance Prelude.NFData ReplicationRun where
rnf :: ReplicationRun -> ()
rnf ReplicationRun' {Maybe Bool
Maybe Text
Maybe POSIX
Maybe ReplicationRunStageDetails
Maybe ReplicationRunState
Maybe ReplicationRunType
type' :: Maybe ReplicationRunType
statusMessage :: Maybe Text
state :: Maybe ReplicationRunState
stageDetails :: Maybe ReplicationRunStageDetails
scheduledStartTime :: Maybe POSIX
replicationRunId :: Maybe Text
kmsKeyId :: Maybe Text
encrypted :: Maybe Bool
description :: Maybe Text
completedTime :: Maybe POSIX
amiId :: Maybe Text
$sel:type':ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunType
$sel:statusMessage:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:state:ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunState
$sel:stageDetails:ReplicationRun' :: ReplicationRun -> Maybe ReplicationRunStageDetails
$sel:scheduledStartTime:ReplicationRun' :: ReplicationRun -> Maybe POSIX
$sel:replicationRunId:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:kmsKeyId:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:encrypted:ReplicationRun' :: ReplicationRun -> Maybe Bool
$sel:description:ReplicationRun' :: ReplicationRun -> Maybe Text
$sel:completedTime:ReplicationRun' :: ReplicationRun -> Maybe POSIX
$sel:amiId:ReplicationRun' :: ReplicationRun -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
amiId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
completedTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
encrypted
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
replicationRunId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
scheduledStartTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplicationRunStageDetails
stageDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplicationRunState
state
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusMessage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplicationRunType
type'