{-# 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.ElastiCache.FailoverGlobalReplicationGroup
(
FailoverGlobalReplicationGroup (..),
newFailoverGlobalReplicationGroup,
failoverGlobalReplicationGroup_globalReplicationGroupId,
failoverGlobalReplicationGroup_primaryRegion,
failoverGlobalReplicationGroup_primaryReplicationGroupId,
FailoverGlobalReplicationGroupResponse (..),
newFailoverGlobalReplicationGroupResponse,
failoverGlobalReplicationGroupResponse_globalReplicationGroup,
failoverGlobalReplicationGroupResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ElastiCache.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data FailoverGlobalReplicationGroup = FailoverGlobalReplicationGroup'
{
FailoverGlobalReplicationGroup -> Text
globalReplicationGroupId :: Prelude.Text,
FailoverGlobalReplicationGroup -> Text
primaryRegion :: Prelude.Text,
FailoverGlobalReplicationGroup -> Text
primaryReplicationGroupId :: Prelude.Text
}
deriving (FailoverGlobalReplicationGroup
-> FailoverGlobalReplicationGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FailoverGlobalReplicationGroup
-> FailoverGlobalReplicationGroup -> Bool
$c/= :: FailoverGlobalReplicationGroup
-> FailoverGlobalReplicationGroup -> Bool
== :: FailoverGlobalReplicationGroup
-> FailoverGlobalReplicationGroup -> Bool
$c== :: FailoverGlobalReplicationGroup
-> FailoverGlobalReplicationGroup -> Bool
Prelude.Eq, ReadPrec [FailoverGlobalReplicationGroup]
ReadPrec FailoverGlobalReplicationGroup
Int -> ReadS FailoverGlobalReplicationGroup
ReadS [FailoverGlobalReplicationGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FailoverGlobalReplicationGroup]
$creadListPrec :: ReadPrec [FailoverGlobalReplicationGroup]
readPrec :: ReadPrec FailoverGlobalReplicationGroup
$creadPrec :: ReadPrec FailoverGlobalReplicationGroup
readList :: ReadS [FailoverGlobalReplicationGroup]
$creadList :: ReadS [FailoverGlobalReplicationGroup]
readsPrec :: Int -> ReadS FailoverGlobalReplicationGroup
$creadsPrec :: Int -> ReadS FailoverGlobalReplicationGroup
Prelude.Read, Int -> FailoverGlobalReplicationGroup -> ShowS
[FailoverGlobalReplicationGroup] -> ShowS
FailoverGlobalReplicationGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FailoverGlobalReplicationGroup] -> ShowS
$cshowList :: [FailoverGlobalReplicationGroup] -> ShowS
show :: FailoverGlobalReplicationGroup -> String
$cshow :: FailoverGlobalReplicationGroup -> String
showsPrec :: Int -> FailoverGlobalReplicationGroup -> ShowS
$cshowsPrec :: Int -> FailoverGlobalReplicationGroup -> ShowS
Prelude.Show, forall x.
Rep FailoverGlobalReplicationGroup x
-> FailoverGlobalReplicationGroup
forall x.
FailoverGlobalReplicationGroup
-> Rep FailoverGlobalReplicationGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep FailoverGlobalReplicationGroup x
-> FailoverGlobalReplicationGroup
$cfrom :: forall x.
FailoverGlobalReplicationGroup
-> Rep FailoverGlobalReplicationGroup x
Prelude.Generic)
newFailoverGlobalReplicationGroup ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
FailoverGlobalReplicationGroup
newFailoverGlobalReplicationGroup :: Text -> Text -> Text -> FailoverGlobalReplicationGroup
newFailoverGlobalReplicationGroup
Text
pGlobalReplicationGroupId_
Text
pPrimaryRegion_
Text
pPrimaryReplicationGroupId_ =
FailoverGlobalReplicationGroup'
{ $sel:globalReplicationGroupId:FailoverGlobalReplicationGroup' :: Text
globalReplicationGroupId =
Text
pGlobalReplicationGroupId_,
$sel:primaryRegion:FailoverGlobalReplicationGroup' :: Text
primaryRegion = Text
pPrimaryRegion_,
$sel:primaryReplicationGroupId:FailoverGlobalReplicationGroup' :: Text
primaryReplicationGroupId =
Text
pPrimaryReplicationGroupId_
}
failoverGlobalReplicationGroup_globalReplicationGroupId :: Lens.Lens' FailoverGlobalReplicationGroup Prelude.Text
failoverGlobalReplicationGroup_globalReplicationGroupId :: Lens' FailoverGlobalReplicationGroup Text
failoverGlobalReplicationGroup_globalReplicationGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FailoverGlobalReplicationGroup' {Text
globalReplicationGroupId :: Text
$sel:globalReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
globalReplicationGroupId} -> Text
globalReplicationGroupId) (\s :: FailoverGlobalReplicationGroup
s@FailoverGlobalReplicationGroup' {} Text
a -> FailoverGlobalReplicationGroup
s {$sel:globalReplicationGroupId:FailoverGlobalReplicationGroup' :: Text
globalReplicationGroupId = Text
a} :: FailoverGlobalReplicationGroup)
failoverGlobalReplicationGroup_primaryRegion :: Lens.Lens' FailoverGlobalReplicationGroup Prelude.Text
failoverGlobalReplicationGroup_primaryRegion :: Lens' FailoverGlobalReplicationGroup Text
failoverGlobalReplicationGroup_primaryRegion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FailoverGlobalReplicationGroup' {Text
primaryRegion :: Text
$sel:primaryRegion:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
primaryRegion} -> Text
primaryRegion) (\s :: FailoverGlobalReplicationGroup
s@FailoverGlobalReplicationGroup' {} Text
a -> FailoverGlobalReplicationGroup
s {$sel:primaryRegion:FailoverGlobalReplicationGroup' :: Text
primaryRegion = Text
a} :: FailoverGlobalReplicationGroup)
failoverGlobalReplicationGroup_primaryReplicationGroupId :: Lens.Lens' FailoverGlobalReplicationGroup Prelude.Text
failoverGlobalReplicationGroup_primaryReplicationGroupId :: Lens' FailoverGlobalReplicationGroup Text
failoverGlobalReplicationGroup_primaryReplicationGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FailoverGlobalReplicationGroup' {Text
primaryReplicationGroupId :: Text
$sel:primaryReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
primaryReplicationGroupId} -> Text
primaryReplicationGroupId) (\s :: FailoverGlobalReplicationGroup
s@FailoverGlobalReplicationGroup' {} Text
a -> FailoverGlobalReplicationGroup
s {$sel:primaryReplicationGroupId:FailoverGlobalReplicationGroup' :: Text
primaryReplicationGroupId = Text
a} :: FailoverGlobalReplicationGroup)
instance
Core.AWSRequest
FailoverGlobalReplicationGroup
where
type
AWSResponse FailoverGlobalReplicationGroup =
FailoverGlobalReplicationGroupResponse
request :: (Service -> Service)
-> FailoverGlobalReplicationGroup
-> Request FailoverGlobalReplicationGroup
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 FailoverGlobalReplicationGroup
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse FailoverGlobalReplicationGroup)))
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
"FailoverGlobalReplicationGroupResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe GlobalReplicationGroup
-> Int -> FailoverGlobalReplicationGroupResponse
FailoverGlobalReplicationGroupResponse'
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
"GlobalReplicationGroup")
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
FailoverGlobalReplicationGroup
where
hashWithSalt :: Int -> FailoverGlobalReplicationGroup -> Int
hashWithSalt
Int
_salt
FailoverGlobalReplicationGroup' {Text
primaryReplicationGroupId :: Text
primaryRegion :: Text
globalReplicationGroupId :: Text
$sel:primaryReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
$sel:primaryRegion:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
$sel:globalReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
globalReplicationGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
primaryRegion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
primaryReplicationGroupId
instance
Prelude.NFData
FailoverGlobalReplicationGroup
where
rnf :: FailoverGlobalReplicationGroup -> ()
rnf FailoverGlobalReplicationGroup' {Text
primaryReplicationGroupId :: Text
primaryRegion :: Text
globalReplicationGroupId :: Text
$sel:primaryReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
$sel:primaryRegion:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
$sel:globalReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
globalReplicationGroupId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
primaryRegion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
primaryReplicationGroupId
instance
Data.ToHeaders
FailoverGlobalReplicationGroup
where
toHeaders :: FailoverGlobalReplicationGroup -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath FailoverGlobalReplicationGroup where
toPath :: FailoverGlobalReplicationGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery FailoverGlobalReplicationGroup where
toQuery :: FailoverGlobalReplicationGroup -> QueryString
toQuery FailoverGlobalReplicationGroup' {Text
primaryReplicationGroupId :: Text
primaryRegion :: Text
globalReplicationGroupId :: Text
$sel:primaryReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
$sel:primaryRegion:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
$sel:globalReplicationGroupId:FailoverGlobalReplicationGroup' :: FailoverGlobalReplicationGroup -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"FailoverGlobalReplicationGroup" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2015-02-02" :: Prelude.ByteString),
ByteString
"GlobalReplicationGroupId"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
globalReplicationGroupId,
ByteString
"PrimaryRegion" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
primaryRegion,
ByteString
"PrimaryReplicationGroupId"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
primaryReplicationGroupId
]
data FailoverGlobalReplicationGroupResponse = FailoverGlobalReplicationGroupResponse'
{ FailoverGlobalReplicationGroupResponse
-> Maybe GlobalReplicationGroup
globalReplicationGroup :: Prelude.Maybe GlobalReplicationGroup,
FailoverGlobalReplicationGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (FailoverGlobalReplicationGroupResponse
-> FailoverGlobalReplicationGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FailoverGlobalReplicationGroupResponse
-> FailoverGlobalReplicationGroupResponse -> Bool
$c/= :: FailoverGlobalReplicationGroupResponse
-> FailoverGlobalReplicationGroupResponse -> Bool
== :: FailoverGlobalReplicationGroupResponse
-> FailoverGlobalReplicationGroupResponse -> Bool
$c== :: FailoverGlobalReplicationGroupResponse
-> FailoverGlobalReplicationGroupResponse -> Bool
Prelude.Eq, ReadPrec [FailoverGlobalReplicationGroupResponse]
ReadPrec FailoverGlobalReplicationGroupResponse
Int -> ReadS FailoverGlobalReplicationGroupResponse
ReadS [FailoverGlobalReplicationGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FailoverGlobalReplicationGroupResponse]
$creadListPrec :: ReadPrec [FailoverGlobalReplicationGroupResponse]
readPrec :: ReadPrec FailoverGlobalReplicationGroupResponse
$creadPrec :: ReadPrec FailoverGlobalReplicationGroupResponse
readList :: ReadS [FailoverGlobalReplicationGroupResponse]
$creadList :: ReadS [FailoverGlobalReplicationGroupResponse]
readsPrec :: Int -> ReadS FailoverGlobalReplicationGroupResponse
$creadsPrec :: Int -> ReadS FailoverGlobalReplicationGroupResponse
Prelude.Read, Int -> FailoverGlobalReplicationGroupResponse -> ShowS
[FailoverGlobalReplicationGroupResponse] -> ShowS
FailoverGlobalReplicationGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FailoverGlobalReplicationGroupResponse] -> ShowS
$cshowList :: [FailoverGlobalReplicationGroupResponse] -> ShowS
show :: FailoverGlobalReplicationGroupResponse -> String
$cshow :: FailoverGlobalReplicationGroupResponse -> String
showsPrec :: Int -> FailoverGlobalReplicationGroupResponse -> ShowS
$cshowsPrec :: Int -> FailoverGlobalReplicationGroupResponse -> ShowS
Prelude.Show, forall x.
Rep FailoverGlobalReplicationGroupResponse x
-> FailoverGlobalReplicationGroupResponse
forall x.
FailoverGlobalReplicationGroupResponse
-> Rep FailoverGlobalReplicationGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep FailoverGlobalReplicationGroupResponse x
-> FailoverGlobalReplicationGroupResponse
$cfrom :: forall x.
FailoverGlobalReplicationGroupResponse
-> Rep FailoverGlobalReplicationGroupResponse x
Prelude.Generic)
newFailoverGlobalReplicationGroupResponse ::
Prelude.Int ->
FailoverGlobalReplicationGroupResponse
newFailoverGlobalReplicationGroupResponse :: Int -> FailoverGlobalReplicationGroupResponse
newFailoverGlobalReplicationGroupResponse
Int
pHttpStatus_ =
FailoverGlobalReplicationGroupResponse'
{ $sel:globalReplicationGroup:FailoverGlobalReplicationGroupResponse' :: Maybe GlobalReplicationGroup
globalReplicationGroup =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:FailoverGlobalReplicationGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
failoverGlobalReplicationGroupResponse_globalReplicationGroup :: Lens.Lens' FailoverGlobalReplicationGroupResponse (Prelude.Maybe GlobalReplicationGroup)
failoverGlobalReplicationGroupResponse_globalReplicationGroup :: Lens'
FailoverGlobalReplicationGroupResponse
(Maybe GlobalReplicationGroup)
failoverGlobalReplicationGroupResponse_globalReplicationGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FailoverGlobalReplicationGroupResponse' {Maybe GlobalReplicationGroup
globalReplicationGroup :: Maybe GlobalReplicationGroup
$sel:globalReplicationGroup:FailoverGlobalReplicationGroupResponse' :: FailoverGlobalReplicationGroupResponse
-> Maybe GlobalReplicationGroup
globalReplicationGroup} -> Maybe GlobalReplicationGroup
globalReplicationGroup) (\s :: FailoverGlobalReplicationGroupResponse
s@FailoverGlobalReplicationGroupResponse' {} Maybe GlobalReplicationGroup
a -> FailoverGlobalReplicationGroupResponse
s {$sel:globalReplicationGroup:FailoverGlobalReplicationGroupResponse' :: Maybe GlobalReplicationGroup
globalReplicationGroup = Maybe GlobalReplicationGroup
a} :: FailoverGlobalReplicationGroupResponse)
failoverGlobalReplicationGroupResponse_httpStatus :: Lens.Lens' FailoverGlobalReplicationGroupResponse Prelude.Int
failoverGlobalReplicationGroupResponse_httpStatus :: Lens' FailoverGlobalReplicationGroupResponse Int
failoverGlobalReplicationGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FailoverGlobalReplicationGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:FailoverGlobalReplicationGroupResponse' :: FailoverGlobalReplicationGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: FailoverGlobalReplicationGroupResponse
s@FailoverGlobalReplicationGroupResponse' {} Int
a -> FailoverGlobalReplicationGroupResponse
s {$sel:httpStatus:FailoverGlobalReplicationGroupResponse' :: Int
httpStatus = Int
a} :: FailoverGlobalReplicationGroupResponse)
instance
Prelude.NFData
FailoverGlobalReplicationGroupResponse
where
rnf :: FailoverGlobalReplicationGroupResponse -> ()
rnf FailoverGlobalReplicationGroupResponse' {Int
Maybe GlobalReplicationGroup
httpStatus :: Int
globalReplicationGroup :: Maybe GlobalReplicationGroup
$sel:httpStatus:FailoverGlobalReplicationGroupResponse' :: FailoverGlobalReplicationGroupResponse -> Int
$sel:globalReplicationGroup:FailoverGlobalReplicationGroupResponse' :: FailoverGlobalReplicationGroupResponse
-> Maybe GlobalReplicationGroup
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe GlobalReplicationGroup
globalReplicationGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus