{-# 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.CloudHSMv2.DeleteHSM
(
deleteHSM
, DeleteHSM
, dhEniId
, dhHSMId
, dhEniIP
, dhClusterId
, deleteHSMResponse
, DeleteHSMResponse
, dhrsHSMId
, dhrsResponseStatus
) where
import Network.AWS.CloudHSMv2.Types
import Network.AWS.CloudHSMv2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DeleteHSM = DeleteHSM'
{ _dhEniId :: !(Maybe Text)
, _dhHSMId :: !(Maybe Text)
, _dhEniIP :: !(Maybe Text)
, _dhClusterId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteHSM
:: Text
-> DeleteHSM
deleteHSM pClusterId_ =
DeleteHSM'
{ _dhEniId = Nothing
, _dhHSMId = Nothing
, _dhEniIP = Nothing
, _dhClusterId = pClusterId_
}
dhEniId :: Lens' DeleteHSM (Maybe Text)
dhEniId = lens _dhEniId (\ s a -> s{_dhEniId = a})
dhHSMId :: Lens' DeleteHSM (Maybe Text)
dhHSMId = lens _dhHSMId (\ s a -> s{_dhHSMId = a})
dhEniIP :: Lens' DeleteHSM (Maybe Text)
dhEniIP = lens _dhEniIP (\ s a -> s{_dhEniIP = a})
dhClusterId :: Lens' DeleteHSM Text
dhClusterId = lens _dhClusterId (\ s a -> s{_dhClusterId = a})
instance AWSRequest DeleteHSM where
type Rs DeleteHSM = DeleteHSMResponse
request = postJSON cloudHSMv2
response
= receiveJSON
(\ s h x ->
DeleteHSMResponse' <$>
(x .?> "HsmId") <*> (pure (fromEnum s)))
instance Hashable DeleteHSM where
instance NFData DeleteHSM where
instance ToHeaders DeleteHSM where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("BaldrApiService.DeleteHsm" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteHSM where
toJSON DeleteHSM'{..}
= object
(catMaybes
[("EniId" .=) <$> _dhEniId,
("HsmId" .=) <$> _dhHSMId, ("EniIp" .=) <$> _dhEniIP,
Just ("ClusterId" .= _dhClusterId)])
instance ToPath DeleteHSM where
toPath = const "/"
instance ToQuery DeleteHSM where
toQuery = const mempty
data DeleteHSMResponse = DeleteHSMResponse'
{ _dhrsHSMId :: !(Maybe Text)
, _dhrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteHSMResponse
:: Int
-> DeleteHSMResponse
deleteHSMResponse pResponseStatus_ =
DeleteHSMResponse'
{_dhrsHSMId = Nothing, _dhrsResponseStatus = pResponseStatus_}
dhrsHSMId :: Lens' DeleteHSMResponse (Maybe Text)
dhrsHSMId = lens _dhrsHSMId (\ s a -> s{_dhrsHSMId = a})
dhrsResponseStatus :: Lens' DeleteHSMResponse Int
dhrsResponseStatus = lens _dhrsResponseStatus (\ s a -> s{_dhrsResponseStatus = a})
instance NFData DeleteHSMResponse where