module Network.AWS.StorageGateway.ListVolumeRecoveryPoints
(
listVolumeRecoveryPoints
, ListVolumeRecoveryPoints
, lvrpGatewayARN
, listVolumeRecoveryPointsResponse
, ListVolumeRecoveryPointsResponse
, lvrprsVolumeRecoveryPointInfos
, lvrprsGatewayARN
, lvrprsResponseStatus
) where
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.StorageGateway.Types
import Network.AWS.StorageGateway.Types.Product
newtype ListVolumeRecoveryPoints = ListVolumeRecoveryPoints'
{ _lvrpGatewayARN :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listVolumeRecoveryPoints
:: Text
-> ListVolumeRecoveryPoints
listVolumeRecoveryPoints pGatewayARN_ =
ListVolumeRecoveryPoints'
{ _lvrpGatewayARN = pGatewayARN_
}
lvrpGatewayARN :: Lens' ListVolumeRecoveryPoints Text
lvrpGatewayARN = lens _lvrpGatewayARN (\ s a -> s{_lvrpGatewayARN = a});
instance AWSRequest ListVolumeRecoveryPoints where
type Rs ListVolumeRecoveryPoints =
ListVolumeRecoveryPointsResponse
request = postJSON storageGateway
response
= receiveJSON
(\ s h x ->
ListVolumeRecoveryPointsResponse' <$>
(x .?> "VolumeRecoveryPointInfos" .!@ mempty) <*>
(x .?> "GatewayARN")
<*> (pure (fromEnum s)))
instance ToHeaders ListVolumeRecoveryPoints where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StorageGateway_20130630.ListVolumeRecoveryPoints"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListVolumeRecoveryPoints where
toJSON ListVolumeRecoveryPoints'{..}
= object
(catMaybes [Just ("GatewayARN" .= _lvrpGatewayARN)])
instance ToPath ListVolumeRecoveryPoints where
toPath = const "/"
instance ToQuery ListVolumeRecoveryPoints where
toQuery = const mempty
data ListVolumeRecoveryPointsResponse = ListVolumeRecoveryPointsResponse'
{ _lvrprsVolumeRecoveryPointInfos :: !(Maybe [VolumeRecoveryPointInfo])
, _lvrprsGatewayARN :: !(Maybe Text)
, _lvrprsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listVolumeRecoveryPointsResponse
:: Int
-> ListVolumeRecoveryPointsResponse
listVolumeRecoveryPointsResponse pResponseStatus_ =
ListVolumeRecoveryPointsResponse'
{ _lvrprsVolumeRecoveryPointInfos = Nothing
, _lvrprsGatewayARN = Nothing
, _lvrprsResponseStatus = pResponseStatus_
}
lvrprsVolumeRecoveryPointInfos :: Lens' ListVolumeRecoveryPointsResponse [VolumeRecoveryPointInfo]
lvrprsVolumeRecoveryPointInfos = lens _lvrprsVolumeRecoveryPointInfos (\ s a -> s{_lvrprsVolumeRecoveryPointInfos = a}) . _Default . _Coerce;
lvrprsGatewayARN :: Lens' ListVolumeRecoveryPointsResponse (Maybe Text)
lvrprsGatewayARN = lens _lvrprsGatewayARN (\ s a -> s{_lvrprsGatewayARN = a});
lvrprsResponseStatus :: Lens' ListVolumeRecoveryPointsResponse Int
lvrprsResponseStatus = lens _lvrprsResponseStatus (\ s a -> s{_lvrprsResponseStatus = a});