{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.Greengrass.DisassociateServiceRoleFromAccount
(
disassociateServiceRoleFromAccount
, DisassociateServiceRoleFromAccount
, disassociateServiceRoleFromAccountResponse
, DisassociateServiceRoleFromAccountResponse
, dsrfarsDisassociatedAt
, dsrfarsResponseStatus
) where
import Network.AWS.Greengrass.Types
import Network.AWS.Greengrass.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DisassociateServiceRoleFromAccount =
DisassociateServiceRoleFromAccount'
deriving (Eq, Read, Show, Data, Typeable, Generic)
disassociateServiceRoleFromAccount
:: DisassociateServiceRoleFromAccount
disassociateServiceRoleFromAccount = DisassociateServiceRoleFromAccount'
instance AWSRequest
DisassociateServiceRoleFromAccount
where
type Rs DisassociateServiceRoleFromAccount =
DisassociateServiceRoleFromAccountResponse
request = delete greengrass
response
= receiveJSON
(\ s h x ->
DisassociateServiceRoleFromAccountResponse' <$>
(x .?> "DisassociatedAt") <*> (pure (fromEnum s)))
instance Hashable DisassociateServiceRoleFromAccount
where
instance NFData DisassociateServiceRoleFromAccount
where
instance ToHeaders DisassociateServiceRoleFromAccount
where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath DisassociateServiceRoleFromAccount
where
toPath = const "/greengrass/servicerole"
instance ToQuery DisassociateServiceRoleFromAccount
where
toQuery = const mempty
data DisassociateServiceRoleFromAccountResponse = DisassociateServiceRoleFromAccountResponse'
{ _dsrfarsDisassociatedAt :: !(Maybe Text)
, _dsrfarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
disassociateServiceRoleFromAccountResponse
:: Int
-> DisassociateServiceRoleFromAccountResponse
disassociateServiceRoleFromAccountResponse pResponseStatus_ =
DisassociateServiceRoleFromAccountResponse'
{ _dsrfarsDisassociatedAt = Nothing
, _dsrfarsResponseStatus = pResponseStatus_
}
dsrfarsDisassociatedAt :: Lens' DisassociateServiceRoleFromAccountResponse (Maybe Text)
dsrfarsDisassociatedAt = lens _dsrfarsDisassociatedAt (\ s a -> s{_dsrfarsDisassociatedAt = a})
dsrfarsResponseStatus :: Lens' DisassociateServiceRoleFromAccountResponse Int
dsrfarsResponseStatus = lens _dsrfarsResponseStatus (\ s a -> s{_dsrfarsResponseStatus = a})
instance NFData
DisassociateServiceRoleFromAccountResponse
where