{-# 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.DirectoryService.RestoreFromSnapshot
(
restoreFromSnapshot
, RestoreFromSnapshot
, rfsSnapshotId
, restoreFromSnapshotResponse
, RestoreFromSnapshotResponse
, rfsrsResponseStatus
) where
import Network.AWS.DirectoryService.Types
import Network.AWS.DirectoryService.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype RestoreFromSnapshot = RestoreFromSnapshot'
{ _rfsSnapshotId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreFromSnapshot
:: Text
-> RestoreFromSnapshot
restoreFromSnapshot pSnapshotId_ =
RestoreFromSnapshot'
{ _rfsSnapshotId = pSnapshotId_
}
rfsSnapshotId :: Lens' RestoreFromSnapshot Text
rfsSnapshotId = lens _rfsSnapshotId (\ s a -> s{_rfsSnapshotId = a});
instance AWSRequest RestoreFromSnapshot where
type Rs RestoreFromSnapshot =
RestoreFromSnapshotResponse
request = postJSON directoryService
response
= receiveEmpty
(\ s h x ->
RestoreFromSnapshotResponse' <$> (pure (fromEnum s)))
instance Hashable RestoreFromSnapshot
instance NFData RestoreFromSnapshot
instance ToHeaders RestoreFromSnapshot where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DirectoryService_20150416.RestoreFromSnapshot" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON RestoreFromSnapshot where
toJSON RestoreFromSnapshot'{..}
= object
(catMaybes [Just ("SnapshotId" .= _rfsSnapshotId)])
instance ToPath RestoreFromSnapshot where
toPath = const "/"
instance ToQuery RestoreFromSnapshot where
toQuery = const mempty
newtype RestoreFromSnapshotResponse = RestoreFromSnapshotResponse'
{ _rfsrsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
restoreFromSnapshotResponse
:: Int
-> RestoreFromSnapshotResponse
restoreFromSnapshotResponse pResponseStatus_ =
RestoreFromSnapshotResponse'
{ _rfsrsResponseStatus = pResponseStatus_
}
rfsrsResponseStatus :: Lens' RestoreFromSnapshotResponse Int
rfsrsResponseStatus = lens _rfsrsResponseStatus (\ s a -> s{_rfsrsResponseStatus = a});
instance NFData RestoreFromSnapshotResponse