{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.CodeBuild.ListBuildsForProject -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Gets a list of build IDs for the specified build project, with each build ID representing a single build. -- -- module Network.AWS.CodeBuild.ListBuildsForProject ( -- * Creating a Request listBuildsForProject , ListBuildsForProject -- * Request Lenses , lbfpSortOrder , lbfpNextToken , lbfpProjectName -- * Destructuring the Response , listBuildsForProjectResponse , ListBuildsForProjectResponse -- * Response Lenses , 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 -- | /See:/ 'listBuildsForProject' smart constructor. data ListBuildsForProject = ListBuildsForProject' { _lbfpSortOrder :: !(Maybe SortOrderType) , _lbfpNextToken :: !(Maybe Text) , _lbfpProjectName :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ListBuildsForProject' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lbfpSortOrder' - The order to list build IDs. Valid values include: * @ASCENDING@ : List the build IDs in ascending order by build ID. * @DESCENDING@ : List the build IDs in descending order by build ID. -- -- * 'lbfpNextToken' - During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. -- -- * 'lbfpProjectName' - The name of the build project to get a list of build IDs for. listBuildsForProject :: Text -- ^ 'lbfpProjectName' -> ListBuildsForProject listBuildsForProject pProjectName_ = ListBuildsForProject' { _lbfpSortOrder = Nothing , _lbfpNextToken = Nothing , _lbfpProjectName = pProjectName_ } -- | The order to list build IDs. Valid values include: * @ASCENDING@ : List the build IDs in ascending order by build ID. * @DESCENDING@ : List the build IDs in descending order by build ID. lbfpSortOrder :: Lens' ListBuildsForProject (Maybe SortOrderType) lbfpSortOrder = lens _lbfpSortOrder (\ s a -> s{_lbfpSortOrder = a}); -- | During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned. lbfpNextToken :: Lens' ListBuildsForProject (Maybe Text) lbfpNextToken = lens _lbfpNextToken (\ s a -> s{_lbfpNextToken = a}); -- | The name of the build project to get a list of build IDs for. 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 -- | /See:/ 'listBuildsForProjectResponse' smart constructor. data ListBuildsForProjectResponse = ListBuildsForProjectResponse' { _lbfprsIds :: !(Maybe (List1 Text)) , _lbfprsNextToken :: !(Maybe Text) , _lbfprsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ListBuildsForProjectResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lbfprsIds' - A list of build IDs for the specified build project, with each build ID representing a single build. -- -- * 'lbfprsNextToken' - If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. -- -- * 'lbfprsResponseStatus' - -- | The response status code. listBuildsForProjectResponse :: Int -- ^ 'lbfprsResponseStatus' -> ListBuildsForProjectResponse listBuildsForProjectResponse pResponseStatus_ = ListBuildsForProjectResponse' { _lbfprsIds = Nothing , _lbfprsNextToken = Nothing , _lbfprsResponseStatus = pResponseStatus_ } -- | A list of build IDs for the specified build project, with each build ID representing a single build. lbfprsIds :: Lens' ListBuildsForProjectResponse (Maybe (NonEmpty Text)) lbfprsIds = lens _lbfprsIds (\ s a -> s{_lbfprsIds = a}) . mapping _List1; -- | If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a /next token/ . To get the next batch of items in the list, call this operation again, adding the next token to the call. lbfprsNextToken :: Lens' ListBuildsForProjectResponse (Maybe Text) lbfprsNextToken = lens _lbfprsNextToken (\ s a -> s{_lbfprsNextToken = a}); -- | -- | The response status code. lbfprsResponseStatus :: Lens' ListBuildsForProjectResponse Int lbfprsResponseStatus = lens _lbfprsResponseStatus (\ s a -> s{_lbfprsResponseStatus = a}); instance NFData ListBuildsForProjectResponse