{-# 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.DescribeStackInstance
(
describeStackInstance
, DescribeStackInstance
, dStackSetName
, dStackInstanceAccount
, dStackInstanceRegion
, describeStackInstanceResponse
, DescribeStackInstanceResponse
, dsisrsStackInstance
, dsisrsResponseStatus
) 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 DescribeStackInstance = DescribeStackInstance'
{ _dStackSetName :: !Text
, _dStackInstanceAccount :: !Text
, _dStackInstanceRegion :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStackInstance
:: Text
-> Text
-> Text
-> DescribeStackInstance
describeStackInstance pStackSetName_ pStackInstanceAccount_ pStackInstanceRegion_ =
DescribeStackInstance'
{ _dStackSetName = pStackSetName_
, _dStackInstanceAccount = pStackInstanceAccount_
, _dStackInstanceRegion = pStackInstanceRegion_
}
dStackSetName :: Lens' DescribeStackInstance Text
dStackSetName = lens _dStackSetName (\ s a -> s{_dStackSetName = a})
dStackInstanceAccount :: Lens' DescribeStackInstance Text
dStackInstanceAccount = lens _dStackInstanceAccount (\ s a -> s{_dStackInstanceAccount = a})
dStackInstanceRegion :: Lens' DescribeStackInstance Text
dStackInstanceRegion = lens _dStackInstanceRegion (\ s a -> s{_dStackInstanceRegion = a})
instance AWSRequest DescribeStackInstance where
type Rs DescribeStackInstance =
DescribeStackInstanceResponse
request = postQuery cloudFormation
response
= receiveXMLWrapper "DescribeStackInstanceResult"
(\ s h x ->
DescribeStackInstanceResponse' <$>
(x .@? "StackInstance") <*> (pure (fromEnum s)))
instance Hashable DescribeStackInstance where
instance NFData DescribeStackInstance where
instance ToHeaders DescribeStackInstance where
toHeaders = const mempty
instance ToPath DescribeStackInstance where
toPath = const "/"
instance ToQuery DescribeStackInstance where
toQuery DescribeStackInstance'{..}
= mconcat
["Action" =: ("DescribeStackInstance" :: ByteString),
"Version" =: ("2010-05-15" :: ByteString),
"StackSetName" =: _dStackSetName,
"StackInstanceAccount" =: _dStackInstanceAccount,
"StackInstanceRegion" =: _dStackInstanceRegion]
data DescribeStackInstanceResponse = DescribeStackInstanceResponse'
{ _dsisrsStackInstance :: !(Maybe StackInstance)
, _dsisrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeStackInstanceResponse
:: Int
-> DescribeStackInstanceResponse
describeStackInstanceResponse pResponseStatus_ =
DescribeStackInstanceResponse'
{_dsisrsStackInstance = Nothing, _dsisrsResponseStatus = pResponseStatus_}
dsisrsStackInstance :: Lens' DescribeStackInstanceResponse (Maybe StackInstance)
dsisrsStackInstance = lens _dsisrsStackInstance (\ s a -> s{_dsisrsStackInstance = a})
dsisrsResponseStatus :: Lens' DescribeStackInstanceResponse Int
dsisrsResponseStatus = lens _dsisrsResponseStatus (\ s a -> s{_dsisrsResponseStatus = a})
instance NFData DescribeStackInstanceResponse where