{-# 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.StorageGateway.DeleteTapeArchive
(
deleteTapeArchive
, DeleteTapeArchive
, dtaTapeARN
, deleteTapeArchiveResponse
, DeleteTapeArchiveResponse
, dtatrsTapeARN
, dtatrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.StorageGateway.Types
import Network.AWS.StorageGateway.Types.Product
newtype DeleteTapeArchive = DeleteTapeArchive'
{ _dtaTapeARN :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteTapeArchive
:: Text
-> DeleteTapeArchive
deleteTapeArchive pTapeARN_ = DeleteTapeArchive' {_dtaTapeARN = pTapeARN_}
dtaTapeARN :: Lens' DeleteTapeArchive Text
dtaTapeARN = lens _dtaTapeARN (\ s a -> s{_dtaTapeARN = a})
instance AWSRequest DeleteTapeArchive where
type Rs DeleteTapeArchive = DeleteTapeArchiveResponse
request = postJSON storageGateway
response
= receiveJSON
(\ s h x ->
DeleteTapeArchiveResponse' <$>
(x .?> "TapeARN") <*> (pure (fromEnum s)))
instance Hashable DeleteTapeArchive where
instance NFData DeleteTapeArchive where
instance ToHeaders DeleteTapeArchive where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StorageGateway_20130630.DeleteTapeArchive" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteTapeArchive where
toJSON DeleteTapeArchive'{..}
= object
(catMaybes [Just ("TapeARN" .= _dtaTapeARN)])
instance ToPath DeleteTapeArchive where
toPath = const "/"
instance ToQuery DeleteTapeArchive where
toQuery = const mempty
data DeleteTapeArchiveResponse = DeleteTapeArchiveResponse'
{ _dtatrsTapeARN :: !(Maybe Text)
, _dtatrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteTapeArchiveResponse
:: Int
-> DeleteTapeArchiveResponse
deleteTapeArchiveResponse pResponseStatus_ =
DeleteTapeArchiveResponse'
{_dtatrsTapeARN = Nothing, _dtatrsResponseStatus = pResponseStatus_}
dtatrsTapeARN :: Lens' DeleteTapeArchiveResponse (Maybe Text)
dtatrsTapeARN = lens _dtatrsTapeARN (\ s a -> s{_dtatrsTapeARN = a})
dtatrsResponseStatus :: Lens' DeleteTapeArchiveResponse Int
dtatrsResponseStatus = lens _dtatrsResponseStatus (\ s a -> s{_dtatrsResponseStatus = a})
instance NFData DeleteTapeArchiveResponse where