module Network.AWS.CloudHSM.DeleteLunaClient
(
deleteLunaClient
, DeleteLunaClient
, dClientARN
, deleteLunaClientResponse
, DeleteLunaClientResponse
, dlcrsStatus
) where
import Network.AWS.CloudHSM.Types
import Network.AWS.CloudHSM.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteLunaClient = DeleteLunaClient'
{ _dClientARN :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteLunaClient
:: Text
-> DeleteLunaClient
deleteLunaClient pClientARN_ =
DeleteLunaClient'
{ _dClientARN = pClientARN_
}
dClientARN :: Lens' DeleteLunaClient Text
dClientARN = lens _dClientARN (\ s a -> s{_dClientARN = a});
instance AWSRequest DeleteLunaClient where
type Rs DeleteLunaClient = DeleteLunaClientResponse
request = postJSON cloudHSM
response
= receiveEmpty
(\ s h x ->
DeleteLunaClientResponse' <$> (pure (fromEnum s)))
instance ToHeaders DeleteLunaClient where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CloudHsmFrontendService.DeleteLunaClient" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteLunaClient where
toJSON DeleteLunaClient'{..}
= object
(catMaybes [Just ("ClientArn" .= _dClientARN)])
instance ToPath DeleteLunaClient where
toPath = const "/"
instance ToQuery DeleteLunaClient where
toQuery = const mempty
newtype DeleteLunaClientResponse = DeleteLunaClientResponse'
{ _dlcrsStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteLunaClientResponse
:: Int
-> DeleteLunaClientResponse
deleteLunaClientResponse pStatus_ =
DeleteLunaClientResponse'
{ _dlcrsStatus = pStatus_
}
dlcrsStatus :: Lens' DeleteLunaClientResponse Int
dlcrsStatus = lens _dlcrsStatus (\ s a -> s{_dlcrsStatus = a});