{-# 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.EC2.DescribeVolumesModifications
(
describeVolumesModifications
, DescribeVolumesModifications
, dvmFilters
, dvmVolumeIds
, dvmNextToken
, dvmDryRun
, dvmMaxResults
, describeVolumesModificationsResponse
, DescribeVolumesModificationsResponse
, dvmrsVolumesModifications
, dvmrsNextToken
, dvmrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeVolumesModifications = DescribeVolumesModifications'
{ _dvmFilters :: !(Maybe [Filter])
, _dvmVolumeIds :: !(Maybe [Text])
, _dvmNextToken :: !(Maybe Text)
, _dvmDryRun :: !(Maybe Bool)
, _dvmMaxResults :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeVolumesModifications
:: DescribeVolumesModifications
describeVolumesModifications =
DescribeVolumesModifications'
{ _dvmFilters = Nothing
, _dvmVolumeIds = Nothing
, _dvmNextToken = Nothing
, _dvmDryRun = Nothing
, _dvmMaxResults = Nothing
}
dvmFilters :: Lens' DescribeVolumesModifications [Filter]
dvmFilters = lens _dvmFilters (\ s a -> s{_dvmFilters = a}) . _Default . _Coerce
dvmVolumeIds :: Lens' DescribeVolumesModifications [Text]
dvmVolumeIds = lens _dvmVolumeIds (\ s a -> s{_dvmVolumeIds = a}) . _Default . _Coerce
dvmNextToken :: Lens' DescribeVolumesModifications (Maybe Text)
dvmNextToken = lens _dvmNextToken (\ s a -> s{_dvmNextToken = a})
dvmDryRun :: Lens' DescribeVolumesModifications (Maybe Bool)
dvmDryRun = lens _dvmDryRun (\ s a -> s{_dvmDryRun = a})
dvmMaxResults :: Lens' DescribeVolumesModifications (Maybe Int)
dvmMaxResults = lens _dvmMaxResults (\ s a -> s{_dvmMaxResults = a})
instance AWSRequest DescribeVolumesModifications
where
type Rs DescribeVolumesModifications =
DescribeVolumesModificationsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeVolumesModificationsResponse' <$>
(x .@? "volumeModificationSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (x .@? "nextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribeVolumesModifications where
instance NFData DescribeVolumesModifications where
instance ToHeaders DescribeVolumesModifications where
toHeaders = const mempty
instance ToPath DescribeVolumesModifications where
toPath = const "/"
instance ToQuery DescribeVolumesModifications where
toQuery DescribeVolumesModifications'{..}
= mconcat
["Action" =:
("DescribeVolumesModifications" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQuery (toQueryList "Filter" <$> _dvmFilters),
toQuery (toQueryList "VolumeId" <$> _dvmVolumeIds),
"NextToken" =: _dvmNextToken, "DryRun" =: _dvmDryRun,
"MaxResults" =: _dvmMaxResults]
data DescribeVolumesModificationsResponse = DescribeVolumesModificationsResponse'
{ _dvmrsVolumesModifications :: !(Maybe [VolumeModification])
, _dvmrsNextToken :: !(Maybe Text)
, _dvmrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeVolumesModificationsResponse
:: Int
-> DescribeVolumesModificationsResponse
describeVolumesModificationsResponse pResponseStatus_ =
DescribeVolumesModificationsResponse'
{ _dvmrsVolumesModifications = Nothing
, _dvmrsNextToken = Nothing
, _dvmrsResponseStatus = pResponseStatus_
}
dvmrsVolumesModifications :: Lens' DescribeVolumesModificationsResponse [VolumeModification]
dvmrsVolumesModifications = lens _dvmrsVolumesModifications (\ s a -> s{_dvmrsVolumesModifications = a}) . _Default . _Coerce
dvmrsNextToken :: Lens' DescribeVolumesModificationsResponse (Maybe Text)
dvmrsNextToken = lens _dvmrsNextToken (\ s a -> s{_dvmrsNextToken = a})
dvmrsResponseStatus :: Lens' DescribeVolumesModificationsResponse Int
dvmrsResponseStatus = lens _dvmrsResponseStatus (\ s a -> s{_dvmrsResponseStatus = a})
instance NFData DescribeVolumesModificationsResponse
where