module Network.AWS.StorageGateway.ListVolumeRecoveryPoints
(
ListVolumeRecoveryPoints
, listVolumeRecoveryPoints
, lvrpGatewayARN
, ListVolumeRecoveryPointsResponse
, listVolumeRecoveryPointsResponse
, lvrprGatewayARN
, lvrprVolumeRecoveryPointInfos
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.StorageGateway.Types
import qualified GHC.Exts
newtype ListVolumeRecoveryPoints = ListVolumeRecoveryPoints
{ _lvrpGatewayARN :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
listVolumeRecoveryPoints :: Text
-> ListVolumeRecoveryPoints
listVolumeRecoveryPoints p1 = ListVolumeRecoveryPoints
{ _lvrpGatewayARN = p1
}
lvrpGatewayARN :: Lens' ListVolumeRecoveryPoints Text
lvrpGatewayARN = lens _lvrpGatewayARN (\s a -> s { _lvrpGatewayARN = a })
data ListVolumeRecoveryPointsResponse = ListVolumeRecoveryPointsResponse
{ _lvrprGatewayARN :: Maybe Text
, _lvrprVolumeRecoveryPointInfos :: List "VolumeRecoveryPointInfos" VolumeRecoveryPointInfo
} deriving (Eq, Show)
listVolumeRecoveryPointsResponse :: ListVolumeRecoveryPointsResponse
listVolumeRecoveryPointsResponse = ListVolumeRecoveryPointsResponse
{ _lvrprGatewayARN = Nothing
, _lvrprVolumeRecoveryPointInfos = mempty
}
lvrprGatewayARN :: Lens' ListVolumeRecoveryPointsResponse (Maybe Text)
lvrprGatewayARN = lens _lvrprGatewayARN (\s a -> s { _lvrprGatewayARN = a })
lvrprVolumeRecoveryPointInfos :: Lens' ListVolumeRecoveryPointsResponse [VolumeRecoveryPointInfo]
lvrprVolumeRecoveryPointInfos =
lens _lvrprVolumeRecoveryPointInfos
(\s a -> s { _lvrprVolumeRecoveryPointInfos = a })
. _List
instance ToPath ListVolumeRecoveryPoints where
toPath = const "/"
instance ToQuery ListVolumeRecoveryPoints where
toQuery = const mempty
instance ToHeaders ListVolumeRecoveryPoints
instance ToJSON ListVolumeRecoveryPoints where
toJSON ListVolumeRecoveryPoints{..} = object
[ "GatewayARN" .= _lvrpGatewayARN
]
instance AWSRequest ListVolumeRecoveryPoints where
type Sv ListVolumeRecoveryPoints = StorageGateway
type Rs ListVolumeRecoveryPoints = ListVolumeRecoveryPointsResponse
request = post "ListVolumeRecoveryPoints"
response = jsonResponse
instance FromJSON ListVolumeRecoveryPointsResponse where
parseJSON = withObject "ListVolumeRecoveryPointsResponse" $ \o -> ListVolumeRecoveryPointsResponse
<$> o .:? "GatewayARN"
<*> o .: "VolumeRecoveryPointInfos"