{-# 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.GreengrassV2.DisassociateServiceRoleFromAccount
(
DisassociateServiceRoleFromAccount (..),
newDisassociateServiceRoleFromAccount,
DisassociateServiceRoleFromAccountResponse (..),
newDisassociateServiceRoleFromAccountResponse,
disassociateServiceRoleFromAccountResponse_disassociatedAt,
disassociateServiceRoleFromAccountResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GreengrassV2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DisassociateServiceRoleFromAccount = DisassociateServiceRoleFromAccount'
{
}
deriving (DisassociateServiceRoleFromAccount
-> DisassociateServiceRoleFromAccount -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateServiceRoleFromAccount
-> DisassociateServiceRoleFromAccount -> Bool
$c/= :: DisassociateServiceRoleFromAccount
-> DisassociateServiceRoleFromAccount -> Bool
== :: DisassociateServiceRoleFromAccount
-> DisassociateServiceRoleFromAccount -> Bool
$c== :: DisassociateServiceRoleFromAccount
-> DisassociateServiceRoleFromAccount -> Bool
Prelude.Eq, ReadPrec [DisassociateServiceRoleFromAccount]
ReadPrec DisassociateServiceRoleFromAccount
Int -> ReadS DisassociateServiceRoleFromAccount
ReadS [DisassociateServiceRoleFromAccount]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateServiceRoleFromAccount]
$creadListPrec :: ReadPrec [DisassociateServiceRoleFromAccount]
readPrec :: ReadPrec DisassociateServiceRoleFromAccount
$creadPrec :: ReadPrec DisassociateServiceRoleFromAccount
readList :: ReadS [DisassociateServiceRoleFromAccount]
$creadList :: ReadS [DisassociateServiceRoleFromAccount]
readsPrec :: Int -> ReadS DisassociateServiceRoleFromAccount
$creadsPrec :: Int -> ReadS DisassociateServiceRoleFromAccount
Prelude.Read, Int -> DisassociateServiceRoleFromAccount -> ShowS
[DisassociateServiceRoleFromAccount] -> ShowS
DisassociateServiceRoleFromAccount -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateServiceRoleFromAccount] -> ShowS
$cshowList :: [DisassociateServiceRoleFromAccount] -> ShowS
show :: DisassociateServiceRoleFromAccount -> String
$cshow :: DisassociateServiceRoleFromAccount -> String
showsPrec :: Int -> DisassociateServiceRoleFromAccount -> ShowS
$cshowsPrec :: Int -> DisassociateServiceRoleFromAccount -> ShowS
Prelude.Show, forall x.
Rep DisassociateServiceRoleFromAccount x
-> DisassociateServiceRoleFromAccount
forall x.
DisassociateServiceRoleFromAccount
-> Rep DisassociateServiceRoleFromAccount x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateServiceRoleFromAccount x
-> DisassociateServiceRoleFromAccount
$cfrom :: forall x.
DisassociateServiceRoleFromAccount
-> Rep DisassociateServiceRoleFromAccount x
Prelude.Generic)
newDisassociateServiceRoleFromAccount ::
DisassociateServiceRoleFromAccount
newDisassociateServiceRoleFromAccount :: DisassociateServiceRoleFromAccount
newDisassociateServiceRoleFromAccount =
DisassociateServiceRoleFromAccount
DisassociateServiceRoleFromAccount'
instance
Core.AWSRequest
DisassociateServiceRoleFromAccount
where
type
AWSResponse DisassociateServiceRoleFromAccount =
DisassociateServiceRoleFromAccountResponse
request :: (Service -> Service)
-> DisassociateServiceRoleFromAccount
-> Request DisassociateServiceRoleFromAccount
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 DisassociateServiceRoleFromAccount
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DisassociateServiceRoleFromAccount)))
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 -> DisassociateServiceRoleFromAccountResponse
DisassociateServiceRoleFromAccountResponse'
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
DisassociateServiceRoleFromAccount
where
hashWithSalt :: Int -> DisassociateServiceRoleFromAccount -> Int
hashWithSalt Int
_salt DisassociateServiceRoleFromAccount
_ =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()
instance
Prelude.NFData
DisassociateServiceRoleFromAccount
where
rnf :: DisassociateServiceRoleFromAccount -> ()
rnf DisassociateServiceRoleFromAccount
_ = ()
instance
Data.ToHeaders
DisassociateServiceRoleFromAccount
where
toHeaders :: DisassociateServiceRoleFromAccount -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToPath
DisassociateServiceRoleFromAccount
where
toPath :: DisassociateServiceRoleFromAccount -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/greengrass/servicerole"
instance
Data.ToQuery
DisassociateServiceRoleFromAccount
where
toQuery :: DisassociateServiceRoleFromAccount -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisassociateServiceRoleFromAccountResponse = DisassociateServiceRoleFromAccountResponse'
{
DisassociateServiceRoleFromAccountResponse -> Maybe Text
disassociatedAt :: Prelude.Maybe Prelude.Text,
DisassociateServiceRoleFromAccountResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociateServiceRoleFromAccountResponse
-> DisassociateServiceRoleFromAccountResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateServiceRoleFromAccountResponse
-> DisassociateServiceRoleFromAccountResponse -> Bool
$c/= :: DisassociateServiceRoleFromAccountResponse
-> DisassociateServiceRoleFromAccountResponse -> Bool
== :: DisassociateServiceRoleFromAccountResponse
-> DisassociateServiceRoleFromAccountResponse -> Bool
$c== :: DisassociateServiceRoleFromAccountResponse
-> DisassociateServiceRoleFromAccountResponse -> Bool
Prelude.Eq, ReadPrec [DisassociateServiceRoleFromAccountResponse]
ReadPrec DisassociateServiceRoleFromAccountResponse
Int -> ReadS DisassociateServiceRoleFromAccountResponse
ReadS [DisassociateServiceRoleFromAccountResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateServiceRoleFromAccountResponse]
$creadListPrec :: ReadPrec [DisassociateServiceRoleFromAccountResponse]
readPrec :: ReadPrec DisassociateServiceRoleFromAccountResponse
$creadPrec :: ReadPrec DisassociateServiceRoleFromAccountResponse
readList :: ReadS [DisassociateServiceRoleFromAccountResponse]
$creadList :: ReadS [DisassociateServiceRoleFromAccountResponse]
readsPrec :: Int -> ReadS DisassociateServiceRoleFromAccountResponse
$creadsPrec :: Int -> ReadS DisassociateServiceRoleFromAccountResponse
Prelude.Read, Int -> DisassociateServiceRoleFromAccountResponse -> ShowS
[DisassociateServiceRoleFromAccountResponse] -> ShowS
DisassociateServiceRoleFromAccountResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateServiceRoleFromAccountResponse] -> ShowS
$cshowList :: [DisassociateServiceRoleFromAccountResponse] -> ShowS
show :: DisassociateServiceRoleFromAccountResponse -> String
$cshow :: DisassociateServiceRoleFromAccountResponse -> String
showsPrec :: Int -> DisassociateServiceRoleFromAccountResponse -> ShowS
$cshowsPrec :: Int -> DisassociateServiceRoleFromAccountResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociateServiceRoleFromAccountResponse x
-> DisassociateServiceRoleFromAccountResponse
forall x.
DisassociateServiceRoleFromAccountResponse
-> Rep DisassociateServiceRoleFromAccountResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateServiceRoleFromAccountResponse x
-> DisassociateServiceRoleFromAccountResponse
$cfrom :: forall x.
DisassociateServiceRoleFromAccountResponse
-> Rep DisassociateServiceRoleFromAccountResponse x
Prelude.Generic)
newDisassociateServiceRoleFromAccountResponse ::
Prelude.Int ->
DisassociateServiceRoleFromAccountResponse
newDisassociateServiceRoleFromAccountResponse :: Int -> DisassociateServiceRoleFromAccountResponse
newDisassociateServiceRoleFromAccountResponse
Int
pHttpStatus_ =
DisassociateServiceRoleFromAccountResponse'
{ $sel:disassociatedAt:DisassociateServiceRoleFromAccountResponse' :: Maybe Text
disassociatedAt =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DisassociateServiceRoleFromAccountResponse' :: Int
httpStatus = Int
pHttpStatus_
}
disassociateServiceRoleFromAccountResponse_disassociatedAt :: Lens.Lens' DisassociateServiceRoleFromAccountResponse (Prelude.Maybe Prelude.Text)
disassociateServiceRoleFromAccountResponse_disassociatedAt :: Lens' DisassociateServiceRoleFromAccountResponse (Maybe Text)
disassociateServiceRoleFromAccountResponse_disassociatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateServiceRoleFromAccountResponse' {Maybe Text
disassociatedAt :: Maybe Text
$sel:disassociatedAt:DisassociateServiceRoleFromAccountResponse' :: DisassociateServiceRoleFromAccountResponse -> Maybe Text
disassociatedAt} -> Maybe Text
disassociatedAt) (\s :: DisassociateServiceRoleFromAccountResponse
s@DisassociateServiceRoleFromAccountResponse' {} Maybe Text
a -> DisassociateServiceRoleFromAccountResponse
s {$sel:disassociatedAt:DisassociateServiceRoleFromAccountResponse' :: Maybe Text
disassociatedAt = Maybe Text
a} :: DisassociateServiceRoleFromAccountResponse)
disassociateServiceRoleFromAccountResponse_httpStatus :: Lens.Lens' DisassociateServiceRoleFromAccountResponse Prelude.Int
disassociateServiceRoleFromAccountResponse_httpStatus :: Lens' DisassociateServiceRoleFromAccountResponse Int
disassociateServiceRoleFromAccountResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateServiceRoleFromAccountResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateServiceRoleFromAccountResponse' :: DisassociateServiceRoleFromAccountResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociateServiceRoleFromAccountResponse
s@DisassociateServiceRoleFromAccountResponse' {} Int
a -> DisassociateServiceRoleFromAccountResponse
s {$sel:httpStatus:DisassociateServiceRoleFromAccountResponse' :: Int
httpStatus = Int
a} :: DisassociateServiceRoleFromAccountResponse)
instance
Prelude.NFData
DisassociateServiceRoleFromAccountResponse
where
rnf :: DisassociateServiceRoleFromAccountResponse -> ()
rnf DisassociateServiceRoleFromAccountResponse' {Int
Maybe Text
httpStatus :: Int
disassociatedAt :: Maybe Text
$sel:httpStatus:DisassociateServiceRoleFromAccountResponse' :: DisassociateServiceRoleFromAccountResponse -> Int
$sel:disassociatedAt:DisassociateServiceRoleFromAccountResponse' :: DisassociateServiceRoleFromAccountResponse -> 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