{-# 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.DeleteUserGroup
(
DeleteUserGroup (..),
newDeleteUserGroup,
deleteUserGroup_userGroupId,
UserGroup (..),
newUserGroup,
userGroup_arn,
userGroup_engine,
userGroup_minimumEngineVersion,
userGroup_pendingChanges,
userGroup_replicationGroups,
userGroup_status,
userGroup_userGroupId,
userGroup_userIds,
)
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 DeleteUserGroup = DeleteUserGroup'
{
DeleteUserGroup -> Text
userGroupId :: Prelude.Text
}
deriving (DeleteUserGroup -> DeleteUserGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteUserGroup -> DeleteUserGroup -> Bool
$c/= :: DeleteUserGroup -> DeleteUserGroup -> Bool
== :: DeleteUserGroup -> DeleteUserGroup -> Bool
$c== :: DeleteUserGroup -> DeleteUserGroup -> Bool
Prelude.Eq, ReadPrec [DeleteUserGroup]
ReadPrec DeleteUserGroup
Int -> ReadS DeleteUserGroup
ReadS [DeleteUserGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteUserGroup]
$creadListPrec :: ReadPrec [DeleteUserGroup]
readPrec :: ReadPrec DeleteUserGroup
$creadPrec :: ReadPrec DeleteUserGroup
readList :: ReadS [DeleteUserGroup]
$creadList :: ReadS [DeleteUserGroup]
readsPrec :: Int -> ReadS DeleteUserGroup
$creadsPrec :: Int -> ReadS DeleteUserGroup
Prelude.Read, Int -> DeleteUserGroup -> ShowS
[DeleteUserGroup] -> ShowS
DeleteUserGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteUserGroup] -> ShowS
$cshowList :: [DeleteUserGroup] -> ShowS
show :: DeleteUserGroup -> String
$cshow :: DeleteUserGroup -> String
showsPrec :: Int -> DeleteUserGroup -> ShowS
$cshowsPrec :: Int -> DeleteUserGroup -> ShowS
Prelude.Show, forall x. Rep DeleteUserGroup x -> DeleteUserGroup
forall x. DeleteUserGroup -> Rep DeleteUserGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteUserGroup x -> DeleteUserGroup
$cfrom :: forall x. DeleteUserGroup -> Rep DeleteUserGroup x
Prelude.Generic)
newDeleteUserGroup ::
Prelude.Text ->
DeleteUserGroup
newDeleteUserGroup :: Text -> DeleteUserGroup
newDeleteUserGroup Text
pUserGroupId_ =
DeleteUserGroup' {$sel:userGroupId:DeleteUserGroup' :: Text
userGroupId = Text
pUserGroupId_}
deleteUserGroup_userGroupId :: Lens.Lens' DeleteUserGroup Prelude.Text
deleteUserGroup_userGroupId :: Lens' DeleteUserGroup Text
deleteUserGroup_userGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteUserGroup' {Text
userGroupId :: Text
$sel:userGroupId:DeleteUserGroup' :: DeleteUserGroup -> Text
userGroupId} -> Text
userGroupId) (\s :: DeleteUserGroup
s@DeleteUserGroup' {} Text
a -> DeleteUserGroup
s {$sel:userGroupId:DeleteUserGroup' :: Text
userGroupId = Text
a} :: DeleteUserGroup)
instance Core.AWSRequest DeleteUserGroup where
type AWSResponse DeleteUserGroup = UserGroup
request :: (Service -> Service) -> DeleteUserGroup -> Request DeleteUserGroup
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 DeleteUserGroup
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteUserGroup)))
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
"DeleteUserGroupResult"
(\Int
s ResponseHeaders
h [Node]
x -> forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
instance Prelude.Hashable DeleteUserGroup where
hashWithSalt :: Int -> DeleteUserGroup -> Int
hashWithSalt Int
_salt DeleteUserGroup' {Text
userGroupId :: Text
$sel:userGroupId:DeleteUserGroup' :: DeleteUserGroup -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userGroupId
instance Prelude.NFData DeleteUserGroup where
rnf :: DeleteUserGroup -> ()
rnf DeleteUserGroup' {Text
userGroupId :: Text
$sel:userGroupId:DeleteUserGroup' :: DeleteUserGroup -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
userGroupId
instance Data.ToHeaders DeleteUserGroup where
toHeaders :: DeleteUserGroup -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DeleteUserGroup where
toPath :: DeleteUserGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteUserGroup where
toQuery :: DeleteUserGroup -> QueryString
toQuery DeleteUserGroup' {Text
userGroupId :: Text
$sel:userGroupId:DeleteUserGroup' :: DeleteUserGroup -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DeleteUserGroup" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2015-02-02" :: Prelude.ByteString),
ByteString
"UserGroupId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
userGroupId
]