{-# 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.DeleteStackInstances
(
deleteStackInstances
, DeleteStackInstances
, dsiOperationPreferences
, dsiOperationId
, dsiStackSetName
, dsiAccounts
, dsiRegions
, dsiRetainStacks
, deleteStackInstancesResponse
, DeleteStackInstancesResponse
, dsirsOperationId
, dsirsResponseStatus
) 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 DeleteStackInstances = DeleteStackInstances'
{ _dsiOperationPreferences :: !(Maybe StackSetOperationPreferences)
, _dsiOperationId :: !(Maybe Text)
, _dsiStackSetName :: !Text
, _dsiAccounts :: ![Text]
, _dsiRegions :: ![Text]
, _dsiRetainStacks :: !Bool
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteStackInstances
:: Text
-> Bool
-> DeleteStackInstances
deleteStackInstances pStackSetName_ pRetainStacks_ =
DeleteStackInstances'
{ _dsiOperationPreferences = Nothing
, _dsiOperationId = Nothing
, _dsiStackSetName = pStackSetName_
, _dsiAccounts = mempty
, _dsiRegions = mempty
, _dsiRetainStacks = pRetainStacks_
}
dsiOperationPreferences :: Lens' DeleteStackInstances (Maybe StackSetOperationPreferences)
dsiOperationPreferences = lens _dsiOperationPreferences (\ s a -> s{_dsiOperationPreferences = a})
dsiOperationId :: Lens' DeleteStackInstances (Maybe Text)
dsiOperationId = lens _dsiOperationId (\ s a -> s{_dsiOperationId = a})
dsiStackSetName :: Lens' DeleteStackInstances Text
dsiStackSetName = lens _dsiStackSetName (\ s a -> s{_dsiStackSetName = a})
dsiAccounts :: Lens' DeleteStackInstances [Text]
dsiAccounts = lens _dsiAccounts (\ s a -> s{_dsiAccounts = a}) . _Coerce
dsiRegions :: Lens' DeleteStackInstances [Text]
dsiRegions = lens _dsiRegions (\ s a -> s{_dsiRegions = a}) . _Coerce
dsiRetainStacks :: Lens' DeleteStackInstances Bool
dsiRetainStacks = lens _dsiRetainStacks (\ s a -> s{_dsiRetainStacks = a})
instance AWSRequest DeleteStackInstances where
type Rs DeleteStackInstances =
DeleteStackInstancesResponse
request = postQuery cloudFormation
response
= receiveXMLWrapper "DeleteStackInstancesResult"
(\ s h x ->
DeleteStackInstancesResponse' <$>
(x .@? "OperationId") <*> (pure (fromEnum s)))
instance Hashable DeleteStackInstances where
instance NFData DeleteStackInstances where
instance ToHeaders DeleteStackInstances where
toHeaders = const mempty
instance ToPath DeleteStackInstances where
toPath = const "/"
instance ToQuery DeleteStackInstances where
toQuery DeleteStackInstances'{..}
= mconcat
["Action" =: ("DeleteStackInstances" :: ByteString),
"Version" =: ("2010-05-15" :: ByteString),
"OperationPreferences" =: _dsiOperationPreferences,
"OperationId" =: _dsiOperationId,
"StackSetName" =: _dsiStackSetName,
"Accounts" =: toQueryList "member" _dsiAccounts,
"Regions" =: toQueryList "member" _dsiRegions,
"RetainStacks" =: _dsiRetainStacks]
data DeleteStackInstancesResponse = DeleteStackInstancesResponse'
{ _dsirsOperationId :: !(Maybe Text)
, _dsirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteStackInstancesResponse
:: Int
-> DeleteStackInstancesResponse
deleteStackInstancesResponse pResponseStatus_ =
DeleteStackInstancesResponse'
{_dsirsOperationId = Nothing, _dsirsResponseStatus = pResponseStatus_}
dsirsOperationId :: Lens' DeleteStackInstancesResponse (Maybe Text)
dsirsOperationId = lens _dsirsOperationId (\ s a -> s{_dsirsOperationId = a})
dsirsResponseStatus :: Lens' DeleteStackInstancesResponse Int
dsirsResponseStatus = lens _dsirsResponseStatus (\ s a -> s{_dsirsResponseStatus = a})
instance NFData DeleteStackInstancesResponse where