{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.DMS.RebootReplicationInstance
(
RebootReplicationInstance (..),
newRebootReplicationInstance,
rebootReplicationInstance_forceFailover,
rebootReplicationInstance_forcePlannedFailover,
rebootReplicationInstance_replicationInstanceArn,
RebootReplicationInstanceResponse (..),
newRebootReplicationInstanceResponse,
rebootReplicationInstanceResponse_replicationInstance,
rebootReplicationInstanceResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.DMS.Types
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data RebootReplicationInstance = RebootReplicationInstance'
{
RebootReplicationInstance -> Maybe Bool
forceFailover :: Prelude.Maybe Prelude.Bool,
RebootReplicationInstance -> Maybe Bool
forcePlannedFailover :: Prelude.Maybe Prelude.Bool,
RebootReplicationInstance -> Text
replicationInstanceArn :: Prelude.Text
}
deriving (RebootReplicationInstance -> RebootReplicationInstance -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RebootReplicationInstance -> RebootReplicationInstance -> Bool
$c/= :: RebootReplicationInstance -> RebootReplicationInstance -> Bool
== :: RebootReplicationInstance -> RebootReplicationInstance -> Bool
$c== :: RebootReplicationInstance -> RebootReplicationInstance -> Bool
Prelude.Eq, ReadPrec [RebootReplicationInstance]
ReadPrec RebootReplicationInstance
Int -> ReadS RebootReplicationInstance
ReadS [RebootReplicationInstance]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RebootReplicationInstance]
$creadListPrec :: ReadPrec [RebootReplicationInstance]
readPrec :: ReadPrec RebootReplicationInstance
$creadPrec :: ReadPrec RebootReplicationInstance
readList :: ReadS [RebootReplicationInstance]
$creadList :: ReadS [RebootReplicationInstance]
readsPrec :: Int -> ReadS RebootReplicationInstance
$creadsPrec :: Int -> ReadS RebootReplicationInstance
Prelude.Read, Int -> RebootReplicationInstance -> ShowS
[RebootReplicationInstance] -> ShowS
RebootReplicationInstance -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RebootReplicationInstance] -> ShowS
$cshowList :: [RebootReplicationInstance] -> ShowS
show :: RebootReplicationInstance -> String
$cshow :: RebootReplicationInstance -> String
showsPrec :: Int -> RebootReplicationInstance -> ShowS
$cshowsPrec :: Int -> RebootReplicationInstance -> ShowS
Prelude.Show, forall x.
Rep RebootReplicationInstance x -> RebootReplicationInstance
forall x.
RebootReplicationInstance -> Rep RebootReplicationInstance x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RebootReplicationInstance x -> RebootReplicationInstance
$cfrom :: forall x.
RebootReplicationInstance -> Rep RebootReplicationInstance x
Prelude.Generic)
newRebootReplicationInstance ::
Prelude.Text ->
RebootReplicationInstance
newRebootReplicationInstance :: Text -> RebootReplicationInstance
newRebootReplicationInstance Text
pReplicationInstanceArn_ =
RebootReplicationInstance'
{ $sel:forceFailover:RebootReplicationInstance' :: Maybe Bool
forceFailover =
forall a. Maybe a
Prelude.Nothing,
$sel:forcePlannedFailover:RebootReplicationInstance' :: Maybe Bool
forcePlannedFailover = forall a. Maybe a
Prelude.Nothing,
$sel:replicationInstanceArn:RebootReplicationInstance' :: Text
replicationInstanceArn =
Text
pReplicationInstanceArn_
}
rebootReplicationInstance_forceFailover :: Lens.Lens' RebootReplicationInstance (Prelude.Maybe Prelude.Bool)
rebootReplicationInstance_forceFailover :: Lens' RebootReplicationInstance (Maybe Bool)
rebootReplicationInstance_forceFailover = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RebootReplicationInstance' {Maybe Bool
forceFailover :: Maybe Bool
$sel:forceFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
forceFailover} -> Maybe Bool
forceFailover) (\s :: RebootReplicationInstance
s@RebootReplicationInstance' {} Maybe Bool
a -> RebootReplicationInstance
s {$sel:forceFailover:RebootReplicationInstance' :: Maybe Bool
forceFailover = Maybe Bool
a} :: RebootReplicationInstance)
rebootReplicationInstance_forcePlannedFailover :: Lens.Lens' RebootReplicationInstance (Prelude.Maybe Prelude.Bool)
rebootReplicationInstance_forcePlannedFailover :: Lens' RebootReplicationInstance (Maybe Bool)
rebootReplicationInstance_forcePlannedFailover = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RebootReplicationInstance' {Maybe Bool
forcePlannedFailover :: Maybe Bool
$sel:forcePlannedFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
forcePlannedFailover} -> Maybe Bool
forcePlannedFailover) (\s :: RebootReplicationInstance
s@RebootReplicationInstance' {} Maybe Bool
a -> RebootReplicationInstance
s {$sel:forcePlannedFailover:RebootReplicationInstance' :: Maybe Bool
forcePlannedFailover = Maybe Bool
a} :: RebootReplicationInstance)
rebootReplicationInstance_replicationInstanceArn :: Lens.Lens' RebootReplicationInstance Prelude.Text
rebootReplicationInstance_replicationInstanceArn :: Lens' RebootReplicationInstance Text
rebootReplicationInstance_replicationInstanceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RebootReplicationInstance' {Text
replicationInstanceArn :: Text
$sel:replicationInstanceArn:RebootReplicationInstance' :: RebootReplicationInstance -> Text
replicationInstanceArn} -> Text
replicationInstanceArn) (\s :: RebootReplicationInstance
s@RebootReplicationInstance' {} Text
a -> RebootReplicationInstance
s {$sel:replicationInstanceArn:RebootReplicationInstance' :: Text
replicationInstanceArn = Text
a} :: RebootReplicationInstance)
instance Core.AWSRequest RebootReplicationInstance where
type
AWSResponse RebootReplicationInstance =
RebootReplicationInstanceResponse
request :: (Service -> Service)
-> RebootReplicationInstance -> Request RebootReplicationInstance
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy RebootReplicationInstance
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse RebootReplicationInstance)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe ReplicationInstance
-> Int -> RebootReplicationInstanceResponse
RebootReplicationInstanceResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ReplicationInstance")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable RebootReplicationInstance where
hashWithSalt :: Int -> RebootReplicationInstance -> Int
hashWithSalt Int
_salt RebootReplicationInstance' {Maybe Bool
Text
replicationInstanceArn :: Text
forcePlannedFailover :: Maybe Bool
forceFailover :: Maybe Bool
$sel:replicationInstanceArn:RebootReplicationInstance' :: RebootReplicationInstance -> Text
$sel:forcePlannedFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
$sel:forceFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
forceFailover
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
forcePlannedFailover
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
replicationInstanceArn
instance Prelude.NFData RebootReplicationInstance where
rnf :: RebootReplicationInstance -> ()
rnf RebootReplicationInstance' {Maybe Bool
Text
replicationInstanceArn :: Text
forcePlannedFailover :: Maybe Bool
forceFailover :: Maybe Bool
$sel:replicationInstanceArn:RebootReplicationInstance' :: RebootReplicationInstance -> Text
$sel:forcePlannedFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
$sel:forceFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
forceFailover
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
forcePlannedFailover
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
replicationInstanceArn
instance Data.ToHeaders RebootReplicationInstance where
toHeaders :: RebootReplicationInstance -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonDMSv20160101.RebootReplicationInstance" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON RebootReplicationInstance where
toJSON :: RebootReplicationInstance -> Value
toJSON RebootReplicationInstance' {Maybe Bool
Text
replicationInstanceArn :: Text
forcePlannedFailover :: Maybe Bool
forceFailover :: Maybe Bool
$sel:replicationInstanceArn:RebootReplicationInstance' :: RebootReplicationInstance -> Text
$sel:forcePlannedFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
$sel:forceFailover:RebootReplicationInstance' :: RebootReplicationInstance -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ForceFailover" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
forceFailover,
(Key
"ForcePlannedFailover" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
forcePlannedFailover,
forall a. a -> Maybe a
Prelude.Just
( Key
"ReplicationInstanceArn"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
replicationInstanceArn
)
]
)
instance Data.ToPath RebootReplicationInstance where
toPath :: RebootReplicationInstance -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery RebootReplicationInstance where
toQuery :: RebootReplicationInstance -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data RebootReplicationInstanceResponse = RebootReplicationInstanceResponse'
{
RebootReplicationInstanceResponse -> Maybe ReplicationInstance
replicationInstance :: Prelude.Maybe ReplicationInstance,
RebootReplicationInstanceResponse -> Int
httpStatus :: Prelude.Int
}
deriving (RebootReplicationInstanceResponse
-> RebootReplicationInstanceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RebootReplicationInstanceResponse
-> RebootReplicationInstanceResponse -> Bool
$c/= :: RebootReplicationInstanceResponse
-> RebootReplicationInstanceResponse -> Bool
== :: RebootReplicationInstanceResponse
-> RebootReplicationInstanceResponse -> Bool
$c== :: RebootReplicationInstanceResponse
-> RebootReplicationInstanceResponse -> Bool
Prelude.Eq, ReadPrec [RebootReplicationInstanceResponse]
ReadPrec RebootReplicationInstanceResponse
Int -> ReadS RebootReplicationInstanceResponse
ReadS [RebootReplicationInstanceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RebootReplicationInstanceResponse]
$creadListPrec :: ReadPrec [RebootReplicationInstanceResponse]
readPrec :: ReadPrec RebootReplicationInstanceResponse
$creadPrec :: ReadPrec RebootReplicationInstanceResponse
readList :: ReadS [RebootReplicationInstanceResponse]
$creadList :: ReadS [RebootReplicationInstanceResponse]
readsPrec :: Int -> ReadS RebootReplicationInstanceResponse
$creadsPrec :: Int -> ReadS RebootReplicationInstanceResponse
Prelude.Read, Int -> RebootReplicationInstanceResponse -> ShowS
[RebootReplicationInstanceResponse] -> ShowS
RebootReplicationInstanceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RebootReplicationInstanceResponse] -> ShowS
$cshowList :: [RebootReplicationInstanceResponse] -> ShowS
show :: RebootReplicationInstanceResponse -> String
$cshow :: RebootReplicationInstanceResponse -> String
showsPrec :: Int -> RebootReplicationInstanceResponse -> ShowS
$cshowsPrec :: Int -> RebootReplicationInstanceResponse -> ShowS
Prelude.Show, forall x.
Rep RebootReplicationInstanceResponse x
-> RebootReplicationInstanceResponse
forall x.
RebootReplicationInstanceResponse
-> Rep RebootReplicationInstanceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RebootReplicationInstanceResponse x
-> RebootReplicationInstanceResponse
$cfrom :: forall x.
RebootReplicationInstanceResponse
-> Rep RebootReplicationInstanceResponse x
Prelude.Generic)
newRebootReplicationInstanceResponse ::
Prelude.Int ->
RebootReplicationInstanceResponse
newRebootReplicationInstanceResponse :: Int -> RebootReplicationInstanceResponse
newRebootReplicationInstanceResponse Int
pHttpStatus_ =
RebootReplicationInstanceResponse'
{ $sel:replicationInstance:RebootReplicationInstanceResponse' :: Maybe ReplicationInstance
replicationInstance =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:RebootReplicationInstanceResponse' :: Int
httpStatus = Int
pHttpStatus_
}
rebootReplicationInstanceResponse_replicationInstance :: Lens.Lens' RebootReplicationInstanceResponse (Prelude.Maybe ReplicationInstance)
rebootReplicationInstanceResponse_replicationInstance :: Lens' RebootReplicationInstanceResponse (Maybe ReplicationInstance)
rebootReplicationInstanceResponse_replicationInstance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RebootReplicationInstanceResponse' {Maybe ReplicationInstance
replicationInstance :: Maybe ReplicationInstance
$sel:replicationInstance:RebootReplicationInstanceResponse' :: RebootReplicationInstanceResponse -> Maybe ReplicationInstance
replicationInstance} -> Maybe ReplicationInstance
replicationInstance) (\s :: RebootReplicationInstanceResponse
s@RebootReplicationInstanceResponse' {} Maybe ReplicationInstance
a -> RebootReplicationInstanceResponse
s {$sel:replicationInstance:RebootReplicationInstanceResponse' :: Maybe ReplicationInstance
replicationInstance = Maybe ReplicationInstance
a} :: RebootReplicationInstanceResponse)
rebootReplicationInstanceResponse_httpStatus :: Lens.Lens' RebootReplicationInstanceResponse Prelude.Int
rebootReplicationInstanceResponse_httpStatus :: Lens' RebootReplicationInstanceResponse Int
rebootReplicationInstanceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RebootReplicationInstanceResponse' {Int
httpStatus :: Int
$sel:httpStatus:RebootReplicationInstanceResponse' :: RebootReplicationInstanceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: RebootReplicationInstanceResponse
s@RebootReplicationInstanceResponse' {} Int
a -> RebootReplicationInstanceResponse
s {$sel:httpStatus:RebootReplicationInstanceResponse' :: Int
httpStatus = Int
a} :: RebootReplicationInstanceResponse)
instance
Prelude.NFData
RebootReplicationInstanceResponse
where
rnf :: RebootReplicationInstanceResponse -> ()
rnf RebootReplicationInstanceResponse' {Int
Maybe ReplicationInstance
httpStatus :: Int
replicationInstance :: Maybe ReplicationInstance
$sel:httpStatus:RebootReplicationInstanceResponse' :: RebootReplicationInstanceResponse -> Int
$sel:replicationInstance:RebootReplicationInstanceResponse' :: RebootReplicationInstanceResponse -> Maybe ReplicationInstance
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplicationInstance
replicationInstance
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus