{-# 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.DescribeLaunchTemplateVersions
(
describeLaunchTemplateVersions
, DescribeLaunchTemplateVersions
, dltvsLaunchTemplateName
, dltvsLaunchTemplateId
, dltvsMinVersion
, dltvsFilters
, dltvsMaxVersion
, dltvsVersions
, dltvsNextToken
, dltvsDryRun
, dltvsMaxResults
, describeLaunchTemplateVersionsResponse
, DescribeLaunchTemplateVersionsResponse
, dltvrsNextToken
, dltvrsLaunchTemplateVersions
, dltvrsResponseStatus
) 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 DescribeLaunchTemplateVersions = DescribeLaunchTemplateVersions'
{ _dltvsLaunchTemplateName :: !(Maybe Text)
, _dltvsLaunchTemplateId :: !(Maybe Text)
, _dltvsMinVersion :: !(Maybe Text)
, _dltvsFilters :: !(Maybe [Filter])
, _dltvsMaxVersion :: !(Maybe Text)
, _dltvsVersions :: !(Maybe [Text])
, _dltvsNextToken :: !(Maybe Text)
, _dltvsDryRun :: !(Maybe Bool)
, _dltvsMaxResults :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeLaunchTemplateVersions
:: DescribeLaunchTemplateVersions
describeLaunchTemplateVersions =
DescribeLaunchTemplateVersions'
{ _dltvsLaunchTemplateName = Nothing
, _dltvsLaunchTemplateId = Nothing
, _dltvsMinVersion = Nothing
, _dltvsFilters = Nothing
, _dltvsMaxVersion = Nothing
, _dltvsVersions = Nothing
, _dltvsNextToken = Nothing
, _dltvsDryRun = Nothing
, _dltvsMaxResults = Nothing
}
dltvsLaunchTemplateName :: Lens' DescribeLaunchTemplateVersions (Maybe Text)
dltvsLaunchTemplateName = lens _dltvsLaunchTemplateName (\ s a -> s{_dltvsLaunchTemplateName = a})
dltvsLaunchTemplateId :: Lens' DescribeLaunchTemplateVersions (Maybe Text)
dltvsLaunchTemplateId = lens _dltvsLaunchTemplateId (\ s a -> s{_dltvsLaunchTemplateId = a})
dltvsMinVersion :: Lens' DescribeLaunchTemplateVersions (Maybe Text)
dltvsMinVersion = lens _dltvsMinVersion (\ s a -> s{_dltvsMinVersion = a})
dltvsFilters :: Lens' DescribeLaunchTemplateVersions [Filter]
dltvsFilters = lens _dltvsFilters (\ s a -> s{_dltvsFilters = a}) . _Default . _Coerce
dltvsMaxVersion :: Lens' DescribeLaunchTemplateVersions (Maybe Text)
dltvsMaxVersion = lens _dltvsMaxVersion (\ s a -> s{_dltvsMaxVersion = a})
dltvsVersions :: Lens' DescribeLaunchTemplateVersions [Text]
dltvsVersions = lens _dltvsVersions (\ s a -> s{_dltvsVersions = a}) . _Default . _Coerce
dltvsNextToken :: Lens' DescribeLaunchTemplateVersions (Maybe Text)
dltvsNextToken = lens _dltvsNextToken (\ s a -> s{_dltvsNextToken = a})
dltvsDryRun :: Lens' DescribeLaunchTemplateVersions (Maybe Bool)
dltvsDryRun = lens _dltvsDryRun (\ s a -> s{_dltvsDryRun = a})
dltvsMaxResults :: Lens' DescribeLaunchTemplateVersions (Maybe Int)
dltvsMaxResults = lens _dltvsMaxResults (\ s a -> s{_dltvsMaxResults = a})
instance AWSRequest DescribeLaunchTemplateVersions
where
type Rs DescribeLaunchTemplateVersions =
DescribeLaunchTemplateVersionsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeLaunchTemplateVersionsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "launchTemplateVersionSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DescribeLaunchTemplateVersions
where
instance NFData DescribeLaunchTemplateVersions where
instance ToHeaders DescribeLaunchTemplateVersions
where
toHeaders = const mempty
instance ToPath DescribeLaunchTemplateVersions where
toPath = const "/"
instance ToQuery DescribeLaunchTemplateVersions where
toQuery DescribeLaunchTemplateVersions'{..}
= mconcat
["Action" =:
("DescribeLaunchTemplateVersions" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"LaunchTemplateName" =: _dltvsLaunchTemplateName,
"LaunchTemplateId" =: _dltvsLaunchTemplateId,
"MinVersion" =: _dltvsMinVersion,
toQuery (toQueryList "Filter" <$> _dltvsFilters),
"MaxVersion" =: _dltvsMaxVersion,
toQuery
(toQueryList "LaunchTemplateVersion" <$>
_dltvsVersions),
"NextToken" =: _dltvsNextToken,
"DryRun" =: _dltvsDryRun,
"MaxResults" =: _dltvsMaxResults]
data DescribeLaunchTemplateVersionsResponse = DescribeLaunchTemplateVersionsResponse'
{ _dltvrsNextToken :: !(Maybe Text)
, _dltvrsLaunchTemplateVersions :: !(Maybe [LaunchTemplateVersion])
, _dltvrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeLaunchTemplateVersionsResponse
:: Int
-> DescribeLaunchTemplateVersionsResponse
describeLaunchTemplateVersionsResponse pResponseStatus_ =
DescribeLaunchTemplateVersionsResponse'
{ _dltvrsNextToken = Nothing
, _dltvrsLaunchTemplateVersions = Nothing
, _dltvrsResponseStatus = pResponseStatus_
}
dltvrsNextToken :: Lens' DescribeLaunchTemplateVersionsResponse (Maybe Text)
dltvrsNextToken = lens _dltvrsNextToken (\ s a -> s{_dltvrsNextToken = a})
dltvrsLaunchTemplateVersions :: Lens' DescribeLaunchTemplateVersionsResponse [LaunchTemplateVersion]
dltvrsLaunchTemplateVersions = lens _dltvrsLaunchTemplateVersions (\ s a -> s{_dltvrsLaunchTemplateVersions = a}) . _Default . _Coerce
dltvrsResponseStatus :: Lens' DescribeLaunchTemplateVersionsResponse Int
dltvrsResponseStatus = lens _dltvrsResponseStatus (\ s a -> s{_dltvrsResponseStatus = a})
instance NFData
DescribeLaunchTemplateVersionsResponse
where