{-# 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.CodeBuild.ListBuildsForProject
(
listBuildsForProject
, ListBuildsForProject
, lbfpSortOrder
, lbfpNextToken
, lbfpProjectName
, listBuildsForProjectResponse
, ListBuildsForProjectResponse
, lbfprsIds
, lbfprsNextToken
, lbfprsResponseStatus
) where
import Network.AWS.CodeBuild.Types
import Network.AWS.CodeBuild.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListBuildsForProject = ListBuildsForProject'
{ _lbfpSortOrder :: !(Maybe SortOrderType)
, _lbfpNextToken :: !(Maybe Text)
, _lbfpProjectName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listBuildsForProject
:: Text
-> ListBuildsForProject
listBuildsForProject pProjectName_ =
ListBuildsForProject'
{ _lbfpSortOrder = Nothing
, _lbfpNextToken = Nothing
, _lbfpProjectName = pProjectName_
}
lbfpSortOrder :: Lens' ListBuildsForProject (Maybe SortOrderType)
lbfpSortOrder = lens _lbfpSortOrder (\ s a -> s{_lbfpSortOrder = a});
lbfpNextToken :: Lens' ListBuildsForProject (Maybe Text)
lbfpNextToken = lens _lbfpNextToken (\ s a -> s{_lbfpNextToken = a});
lbfpProjectName :: Lens' ListBuildsForProject Text
lbfpProjectName = lens _lbfpProjectName (\ s a -> s{_lbfpProjectName = a});
instance AWSRequest ListBuildsForProject where
type Rs ListBuildsForProject =
ListBuildsForProjectResponse
request = postJSON codeBuild
response
= receiveJSON
(\ s h x ->
ListBuildsForProjectResponse' <$>
(x .?> "ids") <*> (x .?> "nextToken") <*>
(pure (fromEnum s)))
instance Hashable ListBuildsForProject
instance NFData ListBuildsForProject
instance ToHeaders ListBuildsForProject where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeBuild_20161006.ListBuildsForProject" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListBuildsForProject where
toJSON ListBuildsForProject'{..}
= object
(catMaybes
[("sortOrder" .=) <$> _lbfpSortOrder,
("nextToken" .=) <$> _lbfpNextToken,
Just ("projectName" .= _lbfpProjectName)])
instance ToPath ListBuildsForProject where
toPath = const "/"
instance ToQuery ListBuildsForProject where
toQuery = const mempty
data ListBuildsForProjectResponse = ListBuildsForProjectResponse'
{ _lbfprsIds :: !(Maybe (List1 Text))
, _lbfprsNextToken :: !(Maybe Text)
, _lbfprsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listBuildsForProjectResponse
:: Int
-> ListBuildsForProjectResponse
listBuildsForProjectResponse pResponseStatus_ =
ListBuildsForProjectResponse'
{ _lbfprsIds = Nothing
, _lbfprsNextToken = Nothing
, _lbfprsResponseStatus = pResponseStatus_
}
lbfprsIds :: Lens' ListBuildsForProjectResponse (Maybe (NonEmpty Text))
lbfprsIds = lens _lbfprsIds (\ s a -> s{_lbfprsIds = a}) . mapping _List1;
lbfprsNextToken :: Lens' ListBuildsForProjectResponse (Maybe Text)
lbfprsNextToken = lens _lbfprsNextToken (\ s a -> s{_lbfprsNextToken = a});
lbfprsResponseStatus :: Lens' ListBuildsForProjectResponse Int
lbfprsResponseStatus = lens _lbfprsResponseStatus (\ s a -> s{_lbfprsResponseStatus = a});
instance NFData ListBuildsForProjectResponse