{-# 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.KMS.CancelKeyDeletion
(
cancelKeyDeletion
, CancelKeyDeletion
, ckdKeyId
, cancelKeyDeletionResponse
, CancelKeyDeletionResponse
, ckdrsKeyId
, ckdrsResponseStatus
) where
import Network.AWS.KMS.Types
import Network.AWS.KMS.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype CancelKeyDeletion = CancelKeyDeletion'
{ _ckdKeyId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
cancelKeyDeletion
:: Text
-> CancelKeyDeletion
cancelKeyDeletion pKeyId_ =
CancelKeyDeletion'
{ _ckdKeyId = pKeyId_
}
ckdKeyId :: Lens' CancelKeyDeletion Text
ckdKeyId = lens _ckdKeyId (\ s a -> s{_ckdKeyId = a});
instance AWSRequest CancelKeyDeletion where
type Rs CancelKeyDeletion = CancelKeyDeletionResponse
request = postJSON kms
response
= receiveJSON
(\ s h x ->
CancelKeyDeletionResponse' <$>
(x .?> "KeyId") <*> (pure (fromEnum s)))
instance Hashable CancelKeyDeletion
instance NFData CancelKeyDeletion
instance ToHeaders CancelKeyDeletion where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("TrentService.CancelKeyDeletion" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CancelKeyDeletion where
toJSON CancelKeyDeletion'{..}
= object (catMaybes [Just ("KeyId" .= _ckdKeyId)])
instance ToPath CancelKeyDeletion where
toPath = const "/"
instance ToQuery CancelKeyDeletion where
toQuery = const mempty
data CancelKeyDeletionResponse = CancelKeyDeletionResponse'
{ _ckdrsKeyId :: !(Maybe Text)
, _ckdrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
cancelKeyDeletionResponse
:: Int
-> CancelKeyDeletionResponse
cancelKeyDeletionResponse pResponseStatus_ =
CancelKeyDeletionResponse'
{ _ckdrsKeyId = Nothing
, _ckdrsResponseStatus = pResponseStatus_
}
ckdrsKeyId :: Lens' CancelKeyDeletionResponse (Maybe Text)
ckdrsKeyId = lens _ckdrsKeyId (\ s a -> s{_ckdrsKeyId = a});
ckdrsResponseStatus :: Lens' CancelKeyDeletionResponse Int
ckdrsResponseStatus = lens _ckdrsResponseStatus (\ s a -> s{_ckdrsResponseStatus = a});
instance NFData CancelKeyDeletionResponse