module Network.AWS.StorageGateway.DescribeStorediSCSIVolumes
(
describeStorediSCSIVolumes
, DescribeStorediSCSIVolumes
, dsscsivVolumeARNs
, describeStorediSCSIVolumesResponse
, DescribeStorediSCSIVolumesResponse
, dsscsivrsStorediSCSIVolumes
, dsscsivrsResponseStatus
) 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 DescribeStorediSCSIVolumes = DescribeStorediSCSIVolumes'
{ _dsscsivVolumeARNs :: [Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeStorediSCSIVolumes
:: DescribeStorediSCSIVolumes
describeStorediSCSIVolumes =
DescribeStorediSCSIVolumes'
{ _dsscsivVolumeARNs = mempty
}
dsscsivVolumeARNs :: Lens' DescribeStorediSCSIVolumes [Text]
dsscsivVolumeARNs = lens _dsscsivVolumeARNs (\ s a -> s{_dsscsivVolumeARNs = a}) . _Coerce;
instance AWSRequest DescribeStorediSCSIVolumes where
type Rs DescribeStorediSCSIVolumes =
DescribeStorediSCSIVolumesResponse
request = postJSON storageGateway
response
= receiveJSON
(\ s h x ->
DescribeStorediSCSIVolumesResponse' <$>
(x .?> "StorediSCSIVolumes" .!@ mempty) <*>
(pure (fromEnum s)))
instance ToHeaders DescribeStorediSCSIVolumes where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StorageGateway_20130630.DescribeStorediSCSIVolumes"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeStorediSCSIVolumes where
toJSON DescribeStorediSCSIVolumes'{..}
= object
(catMaybes
[Just ("VolumeARNs" .= _dsscsivVolumeARNs)])
instance ToPath DescribeStorediSCSIVolumes where
toPath = const "/"
instance ToQuery DescribeStorediSCSIVolumes where
toQuery = const mempty
data DescribeStorediSCSIVolumesResponse = DescribeStorediSCSIVolumesResponse'
{ _dsscsivrsStorediSCSIVolumes :: !(Maybe [StorediSCSIVolume])
, _dsscsivrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeStorediSCSIVolumesResponse
:: Int
-> DescribeStorediSCSIVolumesResponse
describeStorediSCSIVolumesResponse pResponseStatus_ =
DescribeStorediSCSIVolumesResponse'
{ _dsscsivrsStorediSCSIVolumes = Nothing
, _dsscsivrsResponseStatus = pResponseStatus_
}
dsscsivrsStorediSCSIVolumes :: Lens' DescribeStorediSCSIVolumesResponse [StorediSCSIVolume]
dsscsivrsStorediSCSIVolumes = lens _dsscsivrsStorediSCSIVolumes (\ s a -> s{_dsscsivrsStorediSCSIVolumes = a}) . _Default . _Coerce;
dsscsivrsResponseStatus :: Lens' DescribeStorediSCSIVolumesResponse Int
dsscsivrsResponseStatus = lens _dsscsivrsResponseStatus (\ s a -> s{_dsscsivrsResponseStatus = a});