{-# 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.Greengrass.DisassociateRoleFromGroup
(
DisassociateRoleFromGroup (..),
newDisassociateRoleFromGroup,
disassociateRoleFromGroup_groupId,
DisassociateRoleFromGroupResponse (..),
newDisassociateRoleFromGroupResponse,
disassociateRoleFromGroupResponse_disassociatedAt,
disassociateRoleFromGroupResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Greengrass.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DisassociateRoleFromGroup = DisassociateRoleFromGroup'
{
DisassociateRoleFromGroup -> Text
groupId :: Prelude.Text
}
deriving (DisassociateRoleFromGroup -> DisassociateRoleFromGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateRoleFromGroup -> DisassociateRoleFromGroup -> Bool
$c/= :: DisassociateRoleFromGroup -> DisassociateRoleFromGroup -> Bool
== :: DisassociateRoleFromGroup -> DisassociateRoleFromGroup -> Bool
$c== :: DisassociateRoleFromGroup -> DisassociateRoleFromGroup -> Bool
Prelude.Eq, ReadPrec [DisassociateRoleFromGroup]
ReadPrec DisassociateRoleFromGroup
Int -> ReadS DisassociateRoleFromGroup
ReadS [DisassociateRoleFromGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateRoleFromGroup]
$creadListPrec :: ReadPrec [DisassociateRoleFromGroup]
readPrec :: ReadPrec DisassociateRoleFromGroup
$creadPrec :: ReadPrec DisassociateRoleFromGroup
readList :: ReadS [DisassociateRoleFromGroup]
$creadList :: ReadS [DisassociateRoleFromGroup]
readsPrec :: Int -> ReadS DisassociateRoleFromGroup
$creadsPrec :: Int -> ReadS DisassociateRoleFromGroup
Prelude.Read, Int -> DisassociateRoleFromGroup -> ShowS
[DisassociateRoleFromGroup] -> ShowS
DisassociateRoleFromGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateRoleFromGroup] -> ShowS
$cshowList :: [DisassociateRoleFromGroup] -> ShowS
show :: DisassociateRoleFromGroup -> String
$cshow :: DisassociateRoleFromGroup -> String
showsPrec :: Int -> DisassociateRoleFromGroup -> ShowS
$cshowsPrec :: Int -> DisassociateRoleFromGroup -> ShowS
Prelude.Show, forall x.
Rep DisassociateRoleFromGroup x -> DisassociateRoleFromGroup
forall x.
DisassociateRoleFromGroup -> Rep DisassociateRoleFromGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateRoleFromGroup x -> DisassociateRoleFromGroup
$cfrom :: forall x.
DisassociateRoleFromGroup -> Rep DisassociateRoleFromGroup x
Prelude.Generic)
newDisassociateRoleFromGroup ::
Prelude.Text ->
DisassociateRoleFromGroup
newDisassociateRoleFromGroup :: Text -> DisassociateRoleFromGroup
newDisassociateRoleFromGroup Text
pGroupId_ =
DisassociateRoleFromGroup' {$sel:groupId:DisassociateRoleFromGroup' :: Text
groupId = Text
pGroupId_}
disassociateRoleFromGroup_groupId :: Lens.Lens' DisassociateRoleFromGroup Prelude.Text
disassociateRoleFromGroup_groupId :: Lens' DisassociateRoleFromGroup Text
disassociateRoleFromGroup_groupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateRoleFromGroup' {Text
groupId :: Text
$sel:groupId:DisassociateRoleFromGroup' :: DisassociateRoleFromGroup -> Text
groupId} -> Text
groupId) (\s :: DisassociateRoleFromGroup
s@DisassociateRoleFromGroup' {} Text
a -> DisassociateRoleFromGroup
s {$sel:groupId:DisassociateRoleFromGroup' :: Text
groupId = Text
a} :: DisassociateRoleFromGroup)
instance Core.AWSRequest DisassociateRoleFromGroup where
type
AWSResponse DisassociateRoleFromGroup =
DisassociateRoleFromGroupResponse
request :: (Service -> Service)
-> DisassociateRoleFromGroup -> Request DisassociateRoleFromGroup
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DisassociateRoleFromGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DisassociateRoleFromGroup)))
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 Text -> Int -> DisassociateRoleFromGroupResponse
DisassociateRoleFromGroupResponse'
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
"DisassociatedAt")
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 DisassociateRoleFromGroup where
hashWithSalt :: Int -> DisassociateRoleFromGroup -> Int
hashWithSalt Int
_salt DisassociateRoleFromGroup' {Text
groupId :: Text
$sel:groupId:DisassociateRoleFromGroup' :: DisassociateRoleFromGroup -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
groupId
instance Prelude.NFData DisassociateRoleFromGroup where
rnf :: DisassociateRoleFromGroup -> ()
rnf DisassociateRoleFromGroup' {Text
groupId :: Text
$sel:groupId:DisassociateRoleFromGroup' :: DisassociateRoleFromGroup -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
groupId
instance Data.ToHeaders DisassociateRoleFromGroup where
toHeaders :: DisassociateRoleFromGroup -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DisassociateRoleFromGroup where
toPath :: DisassociateRoleFromGroup -> ByteString
toPath DisassociateRoleFromGroup' {Text
groupId :: Text
$sel:groupId:DisassociateRoleFromGroup' :: DisassociateRoleFromGroup -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/greengrass/groups/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
groupId, ByteString
"/role"]
instance Data.ToQuery DisassociateRoleFromGroup where
toQuery :: DisassociateRoleFromGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisassociateRoleFromGroupResponse = DisassociateRoleFromGroupResponse'
{
DisassociateRoleFromGroupResponse -> Maybe Text
disassociatedAt :: Prelude.Maybe Prelude.Text,
DisassociateRoleFromGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociateRoleFromGroupResponse
-> DisassociateRoleFromGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateRoleFromGroupResponse
-> DisassociateRoleFromGroupResponse -> Bool
$c/= :: DisassociateRoleFromGroupResponse
-> DisassociateRoleFromGroupResponse -> Bool
== :: DisassociateRoleFromGroupResponse
-> DisassociateRoleFromGroupResponse -> Bool
$c== :: DisassociateRoleFromGroupResponse
-> DisassociateRoleFromGroupResponse -> Bool
Prelude.Eq, ReadPrec [DisassociateRoleFromGroupResponse]
ReadPrec DisassociateRoleFromGroupResponse
Int -> ReadS DisassociateRoleFromGroupResponse
ReadS [DisassociateRoleFromGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateRoleFromGroupResponse]
$creadListPrec :: ReadPrec [DisassociateRoleFromGroupResponse]
readPrec :: ReadPrec DisassociateRoleFromGroupResponse
$creadPrec :: ReadPrec DisassociateRoleFromGroupResponse
readList :: ReadS [DisassociateRoleFromGroupResponse]
$creadList :: ReadS [DisassociateRoleFromGroupResponse]
readsPrec :: Int -> ReadS DisassociateRoleFromGroupResponse
$creadsPrec :: Int -> ReadS DisassociateRoleFromGroupResponse
Prelude.Read, Int -> DisassociateRoleFromGroupResponse -> ShowS
[DisassociateRoleFromGroupResponse] -> ShowS
DisassociateRoleFromGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateRoleFromGroupResponse] -> ShowS
$cshowList :: [DisassociateRoleFromGroupResponse] -> ShowS
show :: DisassociateRoleFromGroupResponse -> String
$cshow :: DisassociateRoleFromGroupResponse -> String
showsPrec :: Int -> DisassociateRoleFromGroupResponse -> ShowS
$cshowsPrec :: Int -> DisassociateRoleFromGroupResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociateRoleFromGroupResponse x
-> DisassociateRoleFromGroupResponse
forall x.
DisassociateRoleFromGroupResponse
-> Rep DisassociateRoleFromGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateRoleFromGroupResponse x
-> DisassociateRoleFromGroupResponse
$cfrom :: forall x.
DisassociateRoleFromGroupResponse
-> Rep DisassociateRoleFromGroupResponse x
Prelude.Generic)
newDisassociateRoleFromGroupResponse ::
Prelude.Int ->
DisassociateRoleFromGroupResponse
newDisassociateRoleFromGroupResponse :: Int -> DisassociateRoleFromGroupResponse
newDisassociateRoleFromGroupResponse Int
pHttpStatus_ =
DisassociateRoleFromGroupResponse'
{ $sel:disassociatedAt:DisassociateRoleFromGroupResponse' :: Maybe Text
disassociatedAt =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DisassociateRoleFromGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
disassociateRoleFromGroupResponse_disassociatedAt :: Lens.Lens' DisassociateRoleFromGroupResponse (Prelude.Maybe Prelude.Text)
disassociateRoleFromGroupResponse_disassociatedAt :: Lens' DisassociateRoleFromGroupResponse (Maybe Text)
disassociateRoleFromGroupResponse_disassociatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateRoleFromGroupResponse' {Maybe Text
disassociatedAt :: Maybe Text
$sel:disassociatedAt:DisassociateRoleFromGroupResponse' :: DisassociateRoleFromGroupResponse -> Maybe Text
disassociatedAt} -> Maybe Text
disassociatedAt) (\s :: DisassociateRoleFromGroupResponse
s@DisassociateRoleFromGroupResponse' {} Maybe Text
a -> DisassociateRoleFromGroupResponse
s {$sel:disassociatedAt:DisassociateRoleFromGroupResponse' :: Maybe Text
disassociatedAt = Maybe Text
a} :: DisassociateRoleFromGroupResponse)
disassociateRoleFromGroupResponse_httpStatus :: Lens.Lens' DisassociateRoleFromGroupResponse Prelude.Int
disassociateRoleFromGroupResponse_httpStatus :: Lens' DisassociateRoleFromGroupResponse Int
disassociateRoleFromGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateRoleFromGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateRoleFromGroupResponse' :: DisassociateRoleFromGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociateRoleFromGroupResponse
s@DisassociateRoleFromGroupResponse' {} Int
a -> DisassociateRoleFromGroupResponse
s {$sel:httpStatus:DisassociateRoleFromGroupResponse' :: Int
httpStatus = Int
a} :: DisassociateRoleFromGroupResponse)
instance
Prelude.NFData
DisassociateRoleFromGroupResponse
where
rnf :: DisassociateRoleFromGroupResponse -> ()
rnf DisassociateRoleFromGroupResponse' {Int
Maybe Text
httpStatus :: Int
disassociatedAt :: Maybe Text
$sel:httpStatus:DisassociateRoleFromGroupResponse' :: DisassociateRoleFromGroupResponse -> Int
$sel:disassociatedAt:DisassociateRoleFromGroupResponse' :: DisassociateRoleFromGroupResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
disassociatedAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus