{-# 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.DisassociateGlobalReplicationGroup
(
DisassociateGlobalReplicationGroup (..),
newDisassociateGlobalReplicationGroup,
disassociateGlobalReplicationGroup_globalReplicationGroupId,
disassociateGlobalReplicationGroup_replicationGroupId,
disassociateGlobalReplicationGroup_replicationGroupRegion,
DisassociateGlobalReplicationGroupResponse (..),
newDisassociateGlobalReplicationGroupResponse,
disassociateGlobalReplicationGroupResponse_globalReplicationGroup,
disassociateGlobalReplicationGroupResponse_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 DisassociateGlobalReplicationGroup = DisassociateGlobalReplicationGroup'
{
DisassociateGlobalReplicationGroup -> Text
globalReplicationGroupId :: Prelude.Text,
DisassociateGlobalReplicationGroup -> Text
replicationGroupId :: Prelude.Text,
DisassociateGlobalReplicationGroup -> Text
replicationGroupRegion :: Prelude.Text
}
deriving (DisassociateGlobalReplicationGroup
-> DisassociateGlobalReplicationGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateGlobalReplicationGroup
-> DisassociateGlobalReplicationGroup -> Bool
$c/= :: DisassociateGlobalReplicationGroup
-> DisassociateGlobalReplicationGroup -> Bool
== :: DisassociateGlobalReplicationGroup
-> DisassociateGlobalReplicationGroup -> Bool
$c== :: DisassociateGlobalReplicationGroup
-> DisassociateGlobalReplicationGroup -> Bool
Prelude.Eq, ReadPrec [DisassociateGlobalReplicationGroup]
ReadPrec DisassociateGlobalReplicationGroup
Int -> ReadS DisassociateGlobalReplicationGroup
ReadS [DisassociateGlobalReplicationGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateGlobalReplicationGroup]
$creadListPrec :: ReadPrec [DisassociateGlobalReplicationGroup]
readPrec :: ReadPrec DisassociateGlobalReplicationGroup
$creadPrec :: ReadPrec DisassociateGlobalReplicationGroup
readList :: ReadS [DisassociateGlobalReplicationGroup]
$creadList :: ReadS [DisassociateGlobalReplicationGroup]
readsPrec :: Int -> ReadS DisassociateGlobalReplicationGroup
$creadsPrec :: Int -> ReadS DisassociateGlobalReplicationGroup
Prelude.Read, Int -> DisassociateGlobalReplicationGroup -> ShowS
[DisassociateGlobalReplicationGroup] -> ShowS
DisassociateGlobalReplicationGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateGlobalReplicationGroup] -> ShowS
$cshowList :: [DisassociateGlobalReplicationGroup] -> ShowS
show :: DisassociateGlobalReplicationGroup -> String
$cshow :: DisassociateGlobalReplicationGroup -> String
showsPrec :: Int -> DisassociateGlobalReplicationGroup -> ShowS
$cshowsPrec :: Int -> DisassociateGlobalReplicationGroup -> ShowS
Prelude.Show, forall x.
Rep DisassociateGlobalReplicationGroup x
-> DisassociateGlobalReplicationGroup
forall x.
DisassociateGlobalReplicationGroup
-> Rep DisassociateGlobalReplicationGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateGlobalReplicationGroup x
-> DisassociateGlobalReplicationGroup
$cfrom :: forall x.
DisassociateGlobalReplicationGroup
-> Rep DisassociateGlobalReplicationGroup x
Prelude.Generic)
newDisassociateGlobalReplicationGroup ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
DisassociateGlobalReplicationGroup
newDisassociateGlobalReplicationGroup :: Text -> Text -> Text -> DisassociateGlobalReplicationGroup
newDisassociateGlobalReplicationGroup
Text
pGlobalReplicationGroupId_
Text
pReplicationGroupId_
Text
pReplicationGroupRegion_ =
DisassociateGlobalReplicationGroup'
{ $sel:globalReplicationGroupId:DisassociateGlobalReplicationGroup' :: Text
globalReplicationGroupId =
Text
pGlobalReplicationGroupId_,
$sel:replicationGroupId:DisassociateGlobalReplicationGroup' :: Text
replicationGroupId =
Text
pReplicationGroupId_,
$sel:replicationGroupRegion:DisassociateGlobalReplicationGroup' :: Text
replicationGroupRegion =
Text
pReplicationGroupRegion_
}
disassociateGlobalReplicationGroup_globalReplicationGroupId :: Lens.Lens' DisassociateGlobalReplicationGroup Prelude.Text
disassociateGlobalReplicationGroup_globalReplicationGroupId :: Lens' DisassociateGlobalReplicationGroup Text
disassociateGlobalReplicationGroup_globalReplicationGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateGlobalReplicationGroup' {Text
globalReplicationGroupId :: Text
$sel:globalReplicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
globalReplicationGroupId} -> Text
globalReplicationGroupId) (\s :: DisassociateGlobalReplicationGroup
s@DisassociateGlobalReplicationGroup' {} Text
a -> DisassociateGlobalReplicationGroup
s {$sel:globalReplicationGroupId:DisassociateGlobalReplicationGroup' :: Text
globalReplicationGroupId = Text
a} :: DisassociateGlobalReplicationGroup)
disassociateGlobalReplicationGroup_replicationGroupId :: Lens.Lens' DisassociateGlobalReplicationGroup Prelude.Text
disassociateGlobalReplicationGroup_replicationGroupId :: Lens' DisassociateGlobalReplicationGroup Text
disassociateGlobalReplicationGroup_replicationGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateGlobalReplicationGroup' {Text
replicationGroupId :: Text
$sel:replicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
replicationGroupId} -> Text
replicationGroupId) (\s :: DisassociateGlobalReplicationGroup
s@DisassociateGlobalReplicationGroup' {} Text
a -> DisassociateGlobalReplicationGroup
s {$sel:replicationGroupId:DisassociateGlobalReplicationGroup' :: Text
replicationGroupId = Text
a} :: DisassociateGlobalReplicationGroup)
disassociateGlobalReplicationGroup_replicationGroupRegion :: Lens.Lens' DisassociateGlobalReplicationGroup Prelude.Text
disassociateGlobalReplicationGroup_replicationGroupRegion :: Lens' DisassociateGlobalReplicationGroup Text
disassociateGlobalReplicationGroup_replicationGroupRegion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateGlobalReplicationGroup' {Text
replicationGroupRegion :: Text
$sel:replicationGroupRegion:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
replicationGroupRegion} -> Text
replicationGroupRegion) (\s :: DisassociateGlobalReplicationGroup
s@DisassociateGlobalReplicationGroup' {} Text
a -> DisassociateGlobalReplicationGroup
s {$sel:replicationGroupRegion:DisassociateGlobalReplicationGroup' :: Text
replicationGroupRegion = Text
a} :: DisassociateGlobalReplicationGroup)
instance
Core.AWSRequest
DisassociateGlobalReplicationGroup
where
type
AWSResponse DisassociateGlobalReplicationGroup =
DisassociateGlobalReplicationGroupResponse
request :: (Service -> Service)
-> DisassociateGlobalReplicationGroup
-> Request DisassociateGlobalReplicationGroup
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 DisassociateGlobalReplicationGroup
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DisassociateGlobalReplicationGroup)))
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
"DisassociateGlobalReplicationGroupResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe GlobalReplicationGroup
-> Int -> DisassociateGlobalReplicationGroupResponse
DisassociateGlobalReplicationGroupResponse'
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
DisassociateGlobalReplicationGroup
where
hashWithSalt :: Int -> DisassociateGlobalReplicationGroup -> Int
hashWithSalt
Int
_salt
DisassociateGlobalReplicationGroup' {Text
replicationGroupRegion :: Text
replicationGroupId :: Text
globalReplicationGroupId :: Text
$sel:replicationGroupRegion:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
$sel:replicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
$sel:globalReplicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
globalReplicationGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
replicationGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
replicationGroupRegion
instance
Prelude.NFData
DisassociateGlobalReplicationGroup
where
rnf :: DisassociateGlobalReplicationGroup -> ()
rnf DisassociateGlobalReplicationGroup' {Text
replicationGroupRegion :: Text
replicationGroupId :: Text
globalReplicationGroupId :: Text
$sel:replicationGroupRegion:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
$sel:replicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
$sel:globalReplicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> 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
replicationGroupId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
replicationGroupRegion
instance
Data.ToHeaders
DisassociateGlobalReplicationGroup
where
toHeaders :: DisassociateGlobalReplicationGroup -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToPath
DisassociateGlobalReplicationGroup
where
toPath :: DisassociateGlobalReplicationGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
DisassociateGlobalReplicationGroup
where
toQuery :: DisassociateGlobalReplicationGroup -> QueryString
toQuery DisassociateGlobalReplicationGroup' {Text
replicationGroupRegion :: Text
replicationGroupId :: Text
globalReplicationGroupId :: Text
$sel:replicationGroupRegion:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
$sel:replicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
$sel:globalReplicationGroupId:DisassociateGlobalReplicationGroup' :: DisassociateGlobalReplicationGroup -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DisassociateGlobalReplicationGroup" ::
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
"ReplicationGroupId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
replicationGroupId,
ByteString
"ReplicationGroupRegion"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
replicationGroupRegion
]
data DisassociateGlobalReplicationGroupResponse = DisassociateGlobalReplicationGroupResponse'
{ DisassociateGlobalReplicationGroupResponse
-> Maybe GlobalReplicationGroup
globalReplicationGroup :: Prelude.Maybe GlobalReplicationGroup,
DisassociateGlobalReplicationGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociateGlobalReplicationGroupResponse
-> DisassociateGlobalReplicationGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateGlobalReplicationGroupResponse
-> DisassociateGlobalReplicationGroupResponse -> Bool
$c/= :: DisassociateGlobalReplicationGroupResponse
-> DisassociateGlobalReplicationGroupResponse -> Bool
== :: DisassociateGlobalReplicationGroupResponse
-> DisassociateGlobalReplicationGroupResponse -> Bool
$c== :: DisassociateGlobalReplicationGroupResponse
-> DisassociateGlobalReplicationGroupResponse -> Bool
Prelude.Eq, ReadPrec [DisassociateGlobalReplicationGroupResponse]
ReadPrec DisassociateGlobalReplicationGroupResponse
Int -> ReadS DisassociateGlobalReplicationGroupResponse
ReadS [DisassociateGlobalReplicationGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateGlobalReplicationGroupResponse]
$creadListPrec :: ReadPrec [DisassociateGlobalReplicationGroupResponse]
readPrec :: ReadPrec DisassociateGlobalReplicationGroupResponse
$creadPrec :: ReadPrec DisassociateGlobalReplicationGroupResponse
readList :: ReadS [DisassociateGlobalReplicationGroupResponse]
$creadList :: ReadS [DisassociateGlobalReplicationGroupResponse]
readsPrec :: Int -> ReadS DisassociateGlobalReplicationGroupResponse
$creadsPrec :: Int -> ReadS DisassociateGlobalReplicationGroupResponse
Prelude.Read, Int -> DisassociateGlobalReplicationGroupResponse -> ShowS
[DisassociateGlobalReplicationGroupResponse] -> ShowS
DisassociateGlobalReplicationGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateGlobalReplicationGroupResponse] -> ShowS
$cshowList :: [DisassociateGlobalReplicationGroupResponse] -> ShowS
show :: DisassociateGlobalReplicationGroupResponse -> String
$cshow :: DisassociateGlobalReplicationGroupResponse -> String
showsPrec :: Int -> DisassociateGlobalReplicationGroupResponse -> ShowS
$cshowsPrec :: Int -> DisassociateGlobalReplicationGroupResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociateGlobalReplicationGroupResponse x
-> DisassociateGlobalReplicationGroupResponse
forall x.
DisassociateGlobalReplicationGroupResponse
-> Rep DisassociateGlobalReplicationGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateGlobalReplicationGroupResponse x
-> DisassociateGlobalReplicationGroupResponse
$cfrom :: forall x.
DisassociateGlobalReplicationGroupResponse
-> Rep DisassociateGlobalReplicationGroupResponse x
Prelude.Generic)
newDisassociateGlobalReplicationGroupResponse ::
Prelude.Int ->
DisassociateGlobalReplicationGroupResponse
newDisassociateGlobalReplicationGroupResponse :: Int -> DisassociateGlobalReplicationGroupResponse
newDisassociateGlobalReplicationGroupResponse
Int
pHttpStatus_ =
DisassociateGlobalReplicationGroupResponse'
{ $sel:globalReplicationGroup:DisassociateGlobalReplicationGroupResponse' :: Maybe GlobalReplicationGroup
globalReplicationGroup =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DisassociateGlobalReplicationGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
disassociateGlobalReplicationGroupResponse_globalReplicationGroup :: Lens.Lens' DisassociateGlobalReplicationGroupResponse (Prelude.Maybe GlobalReplicationGroup)
disassociateGlobalReplicationGroupResponse_globalReplicationGroup :: Lens'
DisassociateGlobalReplicationGroupResponse
(Maybe GlobalReplicationGroup)
disassociateGlobalReplicationGroupResponse_globalReplicationGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateGlobalReplicationGroupResponse' {Maybe GlobalReplicationGroup
globalReplicationGroup :: Maybe GlobalReplicationGroup
$sel:globalReplicationGroup:DisassociateGlobalReplicationGroupResponse' :: DisassociateGlobalReplicationGroupResponse
-> Maybe GlobalReplicationGroup
globalReplicationGroup} -> Maybe GlobalReplicationGroup
globalReplicationGroup) (\s :: DisassociateGlobalReplicationGroupResponse
s@DisassociateGlobalReplicationGroupResponse' {} Maybe GlobalReplicationGroup
a -> DisassociateGlobalReplicationGroupResponse
s {$sel:globalReplicationGroup:DisassociateGlobalReplicationGroupResponse' :: Maybe GlobalReplicationGroup
globalReplicationGroup = Maybe GlobalReplicationGroup
a} :: DisassociateGlobalReplicationGroupResponse)
disassociateGlobalReplicationGroupResponse_httpStatus :: Lens.Lens' DisassociateGlobalReplicationGroupResponse Prelude.Int
disassociateGlobalReplicationGroupResponse_httpStatus :: Lens' DisassociateGlobalReplicationGroupResponse Int
disassociateGlobalReplicationGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateGlobalReplicationGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateGlobalReplicationGroupResponse' :: DisassociateGlobalReplicationGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociateGlobalReplicationGroupResponse
s@DisassociateGlobalReplicationGroupResponse' {} Int
a -> DisassociateGlobalReplicationGroupResponse
s {$sel:httpStatus:DisassociateGlobalReplicationGroupResponse' :: Int
httpStatus = Int
a} :: DisassociateGlobalReplicationGroupResponse)
instance
Prelude.NFData
DisassociateGlobalReplicationGroupResponse
where
rnf :: DisassociateGlobalReplicationGroupResponse -> ()
rnf DisassociateGlobalReplicationGroupResponse' {Int
Maybe GlobalReplicationGroup
httpStatus :: Int
globalReplicationGroup :: Maybe GlobalReplicationGroup
$sel:httpStatus:DisassociateGlobalReplicationGroupResponse' :: DisassociateGlobalReplicationGroupResponse -> Int
$sel:globalReplicationGroup:DisassociateGlobalReplicationGroupResponse' :: DisassociateGlobalReplicationGroupResponse
-> 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