{-# 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.RDS.SwitchoverReadReplica
(
SwitchoverReadReplica (..),
newSwitchoverReadReplica,
switchoverReadReplica_dbInstanceIdentifier,
SwitchoverReadReplicaResponse (..),
newSwitchoverReadReplicaResponse,
switchoverReadReplicaResponse_dbInstance,
switchoverReadReplicaResponse_httpStatus,
)
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.RDS.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data SwitchoverReadReplica = SwitchoverReadReplica'
{
SwitchoverReadReplica -> Text
dbInstanceIdentifier :: Prelude.Text
}
deriving (SwitchoverReadReplica -> SwitchoverReadReplica -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SwitchoverReadReplica -> SwitchoverReadReplica -> Bool
$c/= :: SwitchoverReadReplica -> SwitchoverReadReplica -> Bool
== :: SwitchoverReadReplica -> SwitchoverReadReplica -> Bool
$c== :: SwitchoverReadReplica -> SwitchoverReadReplica -> Bool
Prelude.Eq, ReadPrec [SwitchoverReadReplica]
ReadPrec SwitchoverReadReplica
Int -> ReadS SwitchoverReadReplica
ReadS [SwitchoverReadReplica]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SwitchoverReadReplica]
$creadListPrec :: ReadPrec [SwitchoverReadReplica]
readPrec :: ReadPrec SwitchoverReadReplica
$creadPrec :: ReadPrec SwitchoverReadReplica
readList :: ReadS [SwitchoverReadReplica]
$creadList :: ReadS [SwitchoverReadReplica]
readsPrec :: Int -> ReadS SwitchoverReadReplica
$creadsPrec :: Int -> ReadS SwitchoverReadReplica
Prelude.Read, Int -> SwitchoverReadReplica -> ShowS
[SwitchoverReadReplica] -> ShowS
SwitchoverReadReplica -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SwitchoverReadReplica] -> ShowS
$cshowList :: [SwitchoverReadReplica] -> ShowS
show :: SwitchoverReadReplica -> String
$cshow :: SwitchoverReadReplica -> String
showsPrec :: Int -> SwitchoverReadReplica -> ShowS
$cshowsPrec :: Int -> SwitchoverReadReplica -> ShowS
Prelude.Show, forall x. Rep SwitchoverReadReplica x -> SwitchoverReadReplica
forall x. SwitchoverReadReplica -> Rep SwitchoverReadReplica x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SwitchoverReadReplica x -> SwitchoverReadReplica
$cfrom :: forall x. SwitchoverReadReplica -> Rep SwitchoverReadReplica x
Prelude.Generic)
newSwitchoverReadReplica ::
Prelude.Text ->
SwitchoverReadReplica
newSwitchoverReadReplica :: Text -> SwitchoverReadReplica
newSwitchoverReadReplica Text
pDBInstanceIdentifier_ =
SwitchoverReadReplica'
{ $sel:dbInstanceIdentifier:SwitchoverReadReplica' :: Text
dbInstanceIdentifier =
Text
pDBInstanceIdentifier_
}
switchoverReadReplica_dbInstanceIdentifier :: Lens.Lens' SwitchoverReadReplica Prelude.Text
switchoverReadReplica_dbInstanceIdentifier :: Lens' SwitchoverReadReplica Text
switchoverReadReplica_dbInstanceIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SwitchoverReadReplica' {Text
dbInstanceIdentifier :: Text
$sel:dbInstanceIdentifier:SwitchoverReadReplica' :: SwitchoverReadReplica -> Text
dbInstanceIdentifier} -> Text
dbInstanceIdentifier) (\s :: SwitchoverReadReplica
s@SwitchoverReadReplica' {} Text
a -> SwitchoverReadReplica
s {$sel:dbInstanceIdentifier:SwitchoverReadReplica' :: Text
dbInstanceIdentifier = Text
a} :: SwitchoverReadReplica)
instance Core.AWSRequest SwitchoverReadReplica where
type
AWSResponse SwitchoverReadReplica =
SwitchoverReadReplicaResponse
request :: (Service -> Service)
-> SwitchoverReadReplica -> Request SwitchoverReadReplica
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy SwitchoverReadReplica
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse SwitchoverReadReplica)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"SwitchoverReadReplicaResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe DBInstance -> Int -> SwitchoverReadReplicaResponse
SwitchoverReadReplicaResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBInstance")
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 SwitchoverReadReplica where
hashWithSalt :: Int -> SwitchoverReadReplica -> Int
hashWithSalt Int
_salt SwitchoverReadReplica' {Text
dbInstanceIdentifier :: Text
$sel:dbInstanceIdentifier:SwitchoverReadReplica' :: SwitchoverReadReplica -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
dbInstanceIdentifier
instance Prelude.NFData SwitchoverReadReplica where
rnf :: SwitchoverReadReplica -> ()
rnf SwitchoverReadReplica' {Text
dbInstanceIdentifier :: Text
$sel:dbInstanceIdentifier:SwitchoverReadReplica' :: SwitchoverReadReplica -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
dbInstanceIdentifier
instance Data.ToHeaders SwitchoverReadReplica where
toHeaders :: SwitchoverReadReplica -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath SwitchoverReadReplica where
toPath :: SwitchoverReadReplica -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery SwitchoverReadReplica where
toQuery :: SwitchoverReadReplica -> QueryString
toQuery SwitchoverReadReplica' {Text
dbInstanceIdentifier :: Text
$sel:dbInstanceIdentifier:SwitchoverReadReplica' :: SwitchoverReadReplica -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"SwitchoverReadReplica" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
ByteString
"DBInstanceIdentifier" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
dbInstanceIdentifier
]
data SwitchoverReadReplicaResponse = SwitchoverReadReplicaResponse'
{ SwitchoverReadReplicaResponse -> Maybe DBInstance
dbInstance :: Prelude.Maybe DBInstance,
SwitchoverReadReplicaResponse -> Int
httpStatus :: Prelude.Int
}
deriving (SwitchoverReadReplicaResponse
-> SwitchoverReadReplicaResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SwitchoverReadReplicaResponse
-> SwitchoverReadReplicaResponse -> Bool
$c/= :: SwitchoverReadReplicaResponse
-> SwitchoverReadReplicaResponse -> Bool
== :: SwitchoverReadReplicaResponse
-> SwitchoverReadReplicaResponse -> Bool
$c== :: SwitchoverReadReplicaResponse
-> SwitchoverReadReplicaResponse -> Bool
Prelude.Eq, ReadPrec [SwitchoverReadReplicaResponse]
ReadPrec SwitchoverReadReplicaResponse
Int -> ReadS SwitchoverReadReplicaResponse
ReadS [SwitchoverReadReplicaResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SwitchoverReadReplicaResponse]
$creadListPrec :: ReadPrec [SwitchoverReadReplicaResponse]
readPrec :: ReadPrec SwitchoverReadReplicaResponse
$creadPrec :: ReadPrec SwitchoverReadReplicaResponse
readList :: ReadS [SwitchoverReadReplicaResponse]
$creadList :: ReadS [SwitchoverReadReplicaResponse]
readsPrec :: Int -> ReadS SwitchoverReadReplicaResponse
$creadsPrec :: Int -> ReadS SwitchoverReadReplicaResponse
Prelude.Read, Int -> SwitchoverReadReplicaResponse -> ShowS
[SwitchoverReadReplicaResponse] -> ShowS
SwitchoverReadReplicaResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SwitchoverReadReplicaResponse] -> ShowS
$cshowList :: [SwitchoverReadReplicaResponse] -> ShowS
show :: SwitchoverReadReplicaResponse -> String
$cshow :: SwitchoverReadReplicaResponse -> String
showsPrec :: Int -> SwitchoverReadReplicaResponse -> ShowS
$cshowsPrec :: Int -> SwitchoverReadReplicaResponse -> ShowS
Prelude.Show, forall x.
Rep SwitchoverReadReplicaResponse x
-> SwitchoverReadReplicaResponse
forall x.
SwitchoverReadReplicaResponse
-> Rep SwitchoverReadReplicaResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SwitchoverReadReplicaResponse x
-> SwitchoverReadReplicaResponse
$cfrom :: forall x.
SwitchoverReadReplicaResponse
-> Rep SwitchoverReadReplicaResponse x
Prelude.Generic)
newSwitchoverReadReplicaResponse ::
Prelude.Int ->
SwitchoverReadReplicaResponse
newSwitchoverReadReplicaResponse :: Int -> SwitchoverReadReplicaResponse
newSwitchoverReadReplicaResponse Int
pHttpStatus_ =
SwitchoverReadReplicaResponse'
{ $sel:dbInstance:SwitchoverReadReplicaResponse' :: Maybe DBInstance
dbInstance =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:SwitchoverReadReplicaResponse' :: Int
httpStatus = Int
pHttpStatus_
}
switchoverReadReplicaResponse_dbInstance :: Lens.Lens' SwitchoverReadReplicaResponse (Prelude.Maybe DBInstance)
switchoverReadReplicaResponse_dbInstance :: Lens' SwitchoverReadReplicaResponse (Maybe DBInstance)
switchoverReadReplicaResponse_dbInstance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SwitchoverReadReplicaResponse' {Maybe DBInstance
dbInstance :: Maybe DBInstance
$sel:dbInstance:SwitchoverReadReplicaResponse' :: SwitchoverReadReplicaResponse -> Maybe DBInstance
dbInstance} -> Maybe DBInstance
dbInstance) (\s :: SwitchoverReadReplicaResponse
s@SwitchoverReadReplicaResponse' {} Maybe DBInstance
a -> SwitchoverReadReplicaResponse
s {$sel:dbInstance:SwitchoverReadReplicaResponse' :: Maybe DBInstance
dbInstance = Maybe DBInstance
a} :: SwitchoverReadReplicaResponse)
switchoverReadReplicaResponse_httpStatus :: Lens.Lens' SwitchoverReadReplicaResponse Prelude.Int
switchoverReadReplicaResponse_httpStatus :: Lens' SwitchoverReadReplicaResponse Int
switchoverReadReplicaResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SwitchoverReadReplicaResponse' {Int
httpStatus :: Int
$sel:httpStatus:SwitchoverReadReplicaResponse' :: SwitchoverReadReplicaResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: SwitchoverReadReplicaResponse
s@SwitchoverReadReplicaResponse' {} Int
a -> SwitchoverReadReplicaResponse
s {$sel:httpStatus:SwitchoverReadReplicaResponse' :: Int
httpStatus = Int
a} :: SwitchoverReadReplicaResponse)
instance Prelude.NFData SwitchoverReadReplicaResponse where
rnf :: SwitchoverReadReplicaResponse -> ()
rnf SwitchoverReadReplicaResponse' {Int
Maybe DBInstance
httpStatus :: Int
dbInstance :: Maybe DBInstance
$sel:httpStatus:SwitchoverReadReplicaResponse' :: SwitchoverReadReplicaResponse -> Int
$sel:dbInstance:SwitchoverReadReplicaResponse' :: SwitchoverReadReplicaResponse -> Maybe DBInstance
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DBInstance
dbInstance
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus