{-# 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.CloudFormation.DescribeChangeSet
(
describeChangeSet
, DescribeChangeSet
, desNextToken
, desStackName
, desChangeSetName
, describeChangeSetResponse
, DescribeChangeSetResponse
, drsCreationTime
, drsChanges
, drsNotificationARNs
, drsChangeSetName
, drsExecutionStatus
, drsChangeSetId
, drsNextToken
, drsParameters
, drsStatusReason
, drsStackId
, drsDescription
, drsCapabilities
, drsTags
, drsStackName
, drsResponseStatus
, drsStatus
) 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 DescribeChangeSet = DescribeChangeSet'
{ _desNextToken :: !(Maybe Text)
, _desStackName :: !(Maybe Text)
, _desChangeSetName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeChangeSet
:: Text
-> DescribeChangeSet
describeChangeSet pChangeSetName_ =
DescribeChangeSet'
{ _desNextToken = Nothing
, _desStackName = Nothing
, _desChangeSetName = pChangeSetName_
}
desNextToken :: Lens' DescribeChangeSet (Maybe Text)
desNextToken = lens _desNextToken (\ s a -> s{_desNextToken = a});
desStackName :: Lens' DescribeChangeSet (Maybe Text)
desStackName = lens _desStackName (\ s a -> s{_desStackName = a});
desChangeSetName :: Lens' DescribeChangeSet Text
desChangeSetName = lens _desChangeSetName (\ s a -> s{_desChangeSetName = a});
instance AWSRequest DescribeChangeSet where
type Rs DescribeChangeSet = DescribeChangeSetResponse
request = postQuery cloudFormation
response
= receiveXMLWrapper "DescribeChangeSetResult"
(\ s h x ->
DescribeChangeSetResponse' <$>
(x .@? "CreationTime") <*>
(x .@? "Changes" .!@ mempty >>=
may (parseXMLList "member"))
<*>
(x .@? "NotificationARNs" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "ChangeSetName")
<*> (x .@? "ExecutionStatus")
<*> (x .@? "ChangeSetId")
<*> (x .@? "NextToken")
<*>
(x .@? "Parameters" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "StatusReason")
<*> (x .@? "StackId")
<*> (x .@? "Description")
<*>
(x .@? "Capabilities" .!@ mempty >>=
may (parseXMLList "member"))
<*>
(x .@? "Tags" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "StackName")
<*> (pure (fromEnum s))
<*> (x .@ "Status"))
instance Hashable DescribeChangeSet
instance NFData DescribeChangeSet
instance ToHeaders DescribeChangeSet where
toHeaders = const mempty
instance ToPath DescribeChangeSet where
toPath = const "/"
instance ToQuery DescribeChangeSet where
toQuery DescribeChangeSet'{..}
= mconcat
["Action" =: ("DescribeChangeSet" :: ByteString),
"Version" =: ("2010-05-15" :: ByteString),
"NextToken" =: _desNextToken,
"StackName" =: _desStackName,
"ChangeSetName" =: _desChangeSetName]
data DescribeChangeSetResponse = DescribeChangeSetResponse'
{ _drsCreationTime :: !(Maybe ISO8601)
, _drsChanges :: !(Maybe [Change])
, _drsNotificationARNs :: !(Maybe [Text])
, _drsChangeSetName :: !(Maybe Text)
, _drsExecutionStatus :: !(Maybe ExecutionStatus)
, _drsChangeSetId :: !(Maybe Text)
, _drsNextToken :: !(Maybe Text)
, _drsParameters :: !(Maybe [Parameter])
, _drsStatusReason :: !(Maybe Text)
, _drsStackId :: !(Maybe Text)
, _drsDescription :: !(Maybe Text)
, _drsCapabilities :: !(Maybe [Capability])
, _drsTags :: !(Maybe [Tag])
, _drsStackName :: !(Maybe Text)
, _drsResponseStatus :: !Int
, _drsStatus :: !ChangeSetStatus
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeChangeSetResponse
:: Int
-> ChangeSetStatus
-> DescribeChangeSetResponse
describeChangeSetResponse pResponseStatus_ pStatus_ =
DescribeChangeSetResponse'
{ _drsCreationTime = Nothing
, _drsChanges = Nothing
, _drsNotificationARNs = Nothing
, _drsChangeSetName = Nothing
, _drsExecutionStatus = Nothing
, _drsChangeSetId = Nothing
, _drsNextToken = Nothing
, _drsParameters = Nothing
, _drsStatusReason = Nothing
, _drsStackId = Nothing
, _drsDescription = Nothing
, _drsCapabilities = Nothing
, _drsTags = Nothing
, _drsStackName = Nothing
, _drsResponseStatus = pResponseStatus_
, _drsStatus = pStatus_
}
drsCreationTime :: Lens' DescribeChangeSetResponse (Maybe UTCTime)
drsCreationTime = lens _drsCreationTime (\ s a -> s{_drsCreationTime = a}) . mapping _Time;
drsChanges :: Lens' DescribeChangeSetResponse [Change]
drsChanges = lens _drsChanges (\ s a -> s{_drsChanges = a}) . _Default . _Coerce;
drsNotificationARNs :: Lens' DescribeChangeSetResponse [Text]
drsNotificationARNs = lens _drsNotificationARNs (\ s a -> s{_drsNotificationARNs = a}) . _Default . _Coerce;
drsChangeSetName :: Lens' DescribeChangeSetResponse (Maybe Text)
drsChangeSetName = lens _drsChangeSetName (\ s a -> s{_drsChangeSetName = a});
drsExecutionStatus :: Lens' DescribeChangeSetResponse (Maybe ExecutionStatus)
drsExecutionStatus = lens _drsExecutionStatus (\ s a -> s{_drsExecutionStatus = a});
drsChangeSetId :: Lens' DescribeChangeSetResponse (Maybe Text)
drsChangeSetId = lens _drsChangeSetId (\ s a -> s{_drsChangeSetId = a});
drsNextToken :: Lens' DescribeChangeSetResponse (Maybe Text)
drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a});
drsParameters :: Lens' DescribeChangeSetResponse [Parameter]
drsParameters = lens _drsParameters (\ s a -> s{_drsParameters = a}) . _Default . _Coerce;
drsStatusReason :: Lens' DescribeChangeSetResponse (Maybe Text)
drsStatusReason = lens _drsStatusReason (\ s a -> s{_drsStatusReason = a});
drsStackId :: Lens' DescribeChangeSetResponse (Maybe Text)
drsStackId = lens _drsStackId (\ s a -> s{_drsStackId = a});
drsDescription :: Lens' DescribeChangeSetResponse (Maybe Text)
drsDescription = lens _drsDescription (\ s a -> s{_drsDescription = a});
drsCapabilities :: Lens' DescribeChangeSetResponse [Capability]
drsCapabilities = lens _drsCapabilities (\ s a -> s{_drsCapabilities = a}) . _Default . _Coerce;
drsTags :: Lens' DescribeChangeSetResponse [Tag]
drsTags = lens _drsTags (\ s a -> s{_drsTags = a}) . _Default . _Coerce;
drsStackName :: Lens' DescribeChangeSetResponse (Maybe Text)
drsStackName = lens _drsStackName (\ s a -> s{_drsStackName = a});
drsResponseStatus :: Lens' DescribeChangeSetResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
drsStatus :: Lens' DescribeChangeSetResponse ChangeSetStatus
drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
instance NFData DescribeChangeSetResponse