module Network.AWS.CloudFormation.GetTemplateSummary
(
getTemplateSummary
, GetTemplateSummary
, gtsTemplateBody
, gtsTemplateURL
, gtsStackName
, getTemplateSummaryResponse
, GetTemplateSummaryResponse
, gtsrsVersion
, gtsrsCapabilitiesReason
, gtsrsParameters
, gtsrsMetadata
, gtsrsDescription
, gtsrsCapabilities
, gtsrsResourceTypes
, gtsrsResponseStatus
) where
import Network.AWS.CloudFormation.Types
import Network.AWS.CloudFormation.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetTemplateSummary = GetTemplateSummary'
{ _gtsTemplateBody :: !(Maybe Text)
, _gtsTemplateURL :: !(Maybe Text)
, _gtsStackName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getTemplateSummary
:: GetTemplateSummary
getTemplateSummary =
GetTemplateSummary'
{ _gtsTemplateBody = Nothing
, _gtsTemplateURL = Nothing
, _gtsStackName = Nothing
}
gtsTemplateBody :: Lens' GetTemplateSummary (Maybe Text)
gtsTemplateBody = lens _gtsTemplateBody (\ s a -> s{_gtsTemplateBody = a});
gtsTemplateURL :: Lens' GetTemplateSummary (Maybe Text)
gtsTemplateURL = lens _gtsTemplateURL (\ s a -> s{_gtsTemplateURL = a});
gtsStackName :: Lens' GetTemplateSummary (Maybe Text)
gtsStackName = lens _gtsStackName (\ s a -> s{_gtsStackName = a});
instance AWSRequest GetTemplateSummary where
type Rs GetTemplateSummary =
GetTemplateSummaryResponse
request = postQuery cloudFormation
response
= receiveXMLWrapper "GetTemplateSummaryResult"
(\ s h x ->
GetTemplateSummaryResponse' <$>
(x .@? "Version") <*> (x .@? "CapabilitiesReason")
<*>
(x .@? "Parameters" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "Metadata")
<*> (x .@? "Description")
<*>
(x .@? "Capabilities" .!@ mempty >>=
may (parseXMLList "member"))
<*>
(x .@? "ResourceTypes" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable GetTemplateSummary
instance NFData GetTemplateSummary
instance ToHeaders GetTemplateSummary where
toHeaders = const mempty
instance ToPath GetTemplateSummary where
toPath = const "/"
instance ToQuery GetTemplateSummary where
toQuery GetTemplateSummary'{..}
= mconcat
["Action" =: ("GetTemplateSummary" :: ByteString),
"Version" =: ("2010-05-15" :: ByteString),
"TemplateBody" =: _gtsTemplateBody,
"TemplateURL" =: _gtsTemplateURL,
"StackName" =: _gtsStackName]
data GetTemplateSummaryResponse = GetTemplateSummaryResponse'
{ _gtsrsVersion :: !(Maybe Text)
, _gtsrsCapabilitiesReason :: !(Maybe Text)
, _gtsrsParameters :: !(Maybe [ParameterDeclaration])
, _gtsrsMetadata :: !(Maybe Text)
, _gtsrsDescription :: !(Maybe Text)
, _gtsrsCapabilities :: !(Maybe [Capability])
, _gtsrsResourceTypes :: !(Maybe [Text])
, _gtsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getTemplateSummaryResponse
:: Int
-> GetTemplateSummaryResponse
getTemplateSummaryResponse pResponseStatus_ =
GetTemplateSummaryResponse'
{ _gtsrsVersion = Nothing
, _gtsrsCapabilitiesReason = Nothing
, _gtsrsParameters = Nothing
, _gtsrsMetadata = Nothing
, _gtsrsDescription = Nothing
, _gtsrsCapabilities = Nothing
, _gtsrsResourceTypes = Nothing
, _gtsrsResponseStatus = pResponseStatus_
}
gtsrsVersion :: Lens' GetTemplateSummaryResponse (Maybe Text)
gtsrsVersion = lens _gtsrsVersion (\ s a -> s{_gtsrsVersion = a});
gtsrsCapabilitiesReason :: Lens' GetTemplateSummaryResponse (Maybe Text)
gtsrsCapabilitiesReason = lens _gtsrsCapabilitiesReason (\ s a -> s{_gtsrsCapabilitiesReason = a});
gtsrsParameters :: Lens' GetTemplateSummaryResponse [ParameterDeclaration]
gtsrsParameters = lens _gtsrsParameters (\ s a -> s{_gtsrsParameters = a}) . _Default . _Coerce;
gtsrsMetadata :: Lens' GetTemplateSummaryResponse (Maybe Text)
gtsrsMetadata = lens _gtsrsMetadata (\ s a -> s{_gtsrsMetadata = a});
gtsrsDescription :: Lens' GetTemplateSummaryResponse (Maybe Text)
gtsrsDescription = lens _gtsrsDescription (\ s a -> s{_gtsrsDescription = a});
gtsrsCapabilities :: Lens' GetTemplateSummaryResponse [Capability]
gtsrsCapabilities = lens _gtsrsCapabilities (\ s a -> s{_gtsrsCapabilities = a}) . _Default . _Coerce;
gtsrsResourceTypes :: Lens' GetTemplateSummaryResponse [Text]
gtsrsResourceTypes = lens _gtsrsResourceTypes (\ s a -> s{_gtsrsResourceTypes = a}) . _Default . _Coerce;
gtsrsResponseStatus :: Lens' GetTemplateSummaryResponse Int
gtsrsResponseStatus = lens _gtsrsResponseStatus (\ s a -> s{_gtsrsResponseStatus = a});
instance NFData GetTemplateSummaryResponse