{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.KMS.CancelKeyDeletion -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Cancels the deletion of a customer master key (CMK). When this operation is successful, the CMK is set to the @Disabled@ state. To enable a CMK, use 'EnableKey' . -- -- -- For more information about scheduling and canceling deletion of a CMK, see <http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html Deleting Customer Master Keys> in the /AWS Key Management Service Developer Guide/ . -- module Network.AWS.KMS.CancelKeyDeletion ( -- * Creating a Request cancelKeyDeletion , CancelKeyDeletion -- * Request Lenses , ckdKeyId -- * Destructuring the Response , cancelKeyDeletionResponse , CancelKeyDeletionResponse -- * Response Lenses , 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 -- | /See:/ 'cancelKeyDeletion' smart constructor. newtype CancelKeyDeletion = CancelKeyDeletion' { _ckdKeyId :: Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CancelKeyDeletion' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ckdKeyId' - The unique identifier for the customer master key (CMK) for which to cancel deletion. To specify this value, use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples: * Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab * Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To obtain the unique key ID and key ARN for a given CMK, use 'ListKeys' or 'DescribeKey' . cancelKeyDeletion :: Text -- ^ 'ckdKeyId' -> CancelKeyDeletion cancelKeyDeletion pKeyId_ = CancelKeyDeletion' { _ckdKeyId = pKeyId_ } -- | The unique identifier for the customer master key (CMK) for which to cancel deletion. To specify this value, use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples: * Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab * Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab To obtain the unique key ID and key ARN for a given CMK, use 'ListKeys' or 'DescribeKey' . 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 -- | /See:/ 'cancelKeyDeletionResponse' smart constructor. data CancelKeyDeletionResponse = CancelKeyDeletionResponse' { _ckdrsKeyId :: !(Maybe Text) , _ckdrsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CancelKeyDeletionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ckdrsKeyId' - The unique identifier of the master key for which deletion is canceled. -- -- * 'ckdrsResponseStatus' - -- | The response status code. cancelKeyDeletionResponse :: Int -- ^ 'ckdrsResponseStatus' -> CancelKeyDeletionResponse cancelKeyDeletionResponse pResponseStatus_ = CancelKeyDeletionResponse' { _ckdrsKeyId = Nothing , _ckdrsResponseStatus = pResponseStatus_ } -- | The unique identifier of the master key for which deletion is canceled. ckdrsKeyId :: Lens' CancelKeyDeletionResponse (Maybe Text) ckdrsKeyId = lens _ckdrsKeyId (\ s a -> s{_ckdrsKeyId = a}); -- | -- | The response status code. ckdrsResponseStatus :: Lens' CancelKeyDeletionResponse Int ckdrsResponseStatus = lens _ckdrsResponseStatus (\ s a -> s{_ckdrsResponseStatus = a}); instance NFData CancelKeyDeletionResponse