module Network.AWS.EC2.DescribeAccountAttributes
(
DescribeAccountAttributes
, describeAccountAttributes
, daaAttributeNames
, daaDryRun
, DescribeAccountAttributesResponse
, describeAccountAttributesResponse
, daarAccountAttributes
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeAccountAttributes = DescribeAccountAttributes
{ _daaAttributeNames :: List "attributeName" AccountAttributeName
, _daaDryRun :: Maybe Bool
} deriving (Eq, Show)
describeAccountAttributes :: DescribeAccountAttributes
describeAccountAttributes = DescribeAccountAttributes
{ _daaDryRun = Nothing
, _daaAttributeNames = mempty
}
daaAttributeNames :: Lens' DescribeAccountAttributes [AccountAttributeName]
daaAttributeNames =
lens _daaAttributeNames (\s a -> s { _daaAttributeNames = a })
. _List
daaDryRun :: Lens' DescribeAccountAttributes (Maybe Bool)
daaDryRun = lens _daaDryRun (\s a -> s { _daaDryRun = a })
newtype DescribeAccountAttributesResponse = DescribeAccountAttributesResponse
{ _daarAccountAttributes :: List "item" AccountAttribute
} deriving (Eq, Show, Monoid, Semigroup)
describeAccountAttributesResponse :: DescribeAccountAttributesResponse
describeAccountAttributesResponse = DescribeAccountAttributesResponse
{ _daarAccountAttributes = mempty
}
daarAccountAttributes :: Lens' DescribeAccountAttributesResponse [AccountAttribute]
daarAccountAttributes =
lens _daarAccountAttributes (\s a -> s { _daarAccountAttributes = a })
. _List
instance ToPath DescribeAccountAttributes where
toPath = const "/"
instance ToQuery DescribeAccountAttributes where
toQuery DescribeAccountAttributes{..} = mconcat
[ "attributeName" `toQueryList` _daaAttributeNames
, "dryRun" =? _daaDryRun
]
instance ToHeaders DescribeAccountAttributes
instance AWSRequest DescribeAccountAttributes where
type Sv DescribeAccountAttributes = EC2
type Rs DescribeAccountAttributes = DescribeAccountAttributesResponse
request = post "DescribeAccountAttributes"
response = xmlResponse
instance FromXML DescribeAccountAttributesResponse where
parseXML x = DescribeAccountAttributesResponse
<$> x .@? "accountAttributeSet" .!@ mempty