{-# 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.CodeStar.DeleteProject
(
deleteProject
, DeleteProject
, dpDeleteStack
, dpClientRequestToken
, dpId
, deleteProjectResponse
, DeleteProjectResponse
, dprsProjectARN
, dprsStackId
, dprsResponseStatus
) where
import Network.AWS.CodeStar.Types
import Network.AWS.CodeStar.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DeleteProject = DeleteProject'
{ _dpDeleteStack :: !(Maybe Bool)
, _dpClientRequestToken :: !(Maybe Text)
, _dpId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteProject
:: Text
-> DeleteProject
deleteProject pId_ =
DeleteProject'
{_dpDeleteStack = Nothing, _dpClientRequestToken = Nothing, _dpId = pId_}
dpDeleteStack :: Lens' DeleteProject (Maybe Bool)
dpDeleteStack = lens _dpDeleteStack (\ s a -> s{_dpDeleteStack = a})
dpClientRequestToken :: Lens' DeleteProject (Maybe Text)
dpClientRequestToken = lens _dpClientRequestToken (\ s a -> s{_dpClientRequestToken = a})
dpId :: Lens' DeleteProject Text
dpId = lens _dpId (\ s a -> s{_dpId = a})
instance AWSRequest DeleteProject where
type Rs DeleteProject = DeleteProjectResponse
request = postJSON codeStar
response
= receiveJSON
(\ s h x ->
DeleteProjectResponse' <$>
(x .?> "projectArn") <*> (x .?> "stackId") <*>
(pure (fromEnum s)))
instance Hashable DeleteProject where
instance NFData DeleteProject where
instance ToHeaders DeleteProject where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeStar_20170419.DeleteProject" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteProject where
toJSON DeleteProject'{..}
= object
(catMaybes
[("deleteStack" .=) <$> _dpDeleteStack,
("clientRequestToken" .=) <$> _dpClientRequestToken,
Just ("id" .= _dpId)])
instance ToPath DeleteProject where
toPath = const "/"
instance ToQuery DeleteProject where
toQuery = const mempty
data DeleteProjectResponse = DeleteProjectResponse'
{ _dprsProjectARN :: !(Maybe Text)
, _dprsStackId :: !(Maybe Text)
, _dprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteProjectResponse
:: Int
-> DeleteProjectResponse
deleteProjectResponse pResponseStatus_ =
DeleteProjectResponse'
{ _dprsProjectARN = Nothing
, _dprsStackId = Nothing
, _dprsResponseStatus = pResponseStatus_
}
dprsProjectARN :: Lens' DeleteProjectResponse (Maybe Text)
dprsProjectARN = lens _dprsProjectARN (\ s a -> s{_dprsProjectARN = a})
dprsStackId :: Lens' DeleteProjectResponse (Maybe Text)
dprsStackId = lens _dprsStackId (\ s a -> s{_dprsStackId = a})
dprsResponseStatus :: Lens' DeleteProjectResponse Int
dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a})
instance NFData DeleteProjectResponse where