module Network.AWS.CodeStar.ListTagsForProject
(
listTagsForProject
, ListTagsForProject
, ltfpNextToken
, ltfpMaxResults
, ltfpId
, listTagsForProjectResponse
, ListTagsForProjectResponse
, ltfprsNextToken
, ltfprsTags
, ltfprsResponseStatus
) 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 ListTagsForProject = ListTagsForProject'
{ _ltfpNextToken :: !(Maybe Text)
, _ltfpMaxResults :: !(Maybe Nat)
, _ltfpId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForProject
:: Text
-> ListTagsForProject
listTagsForProject pId_ =
ListTagsForProject'
{_ltfpNextToken = Nothing, _ltfpMaxResults = Nothing, _ltfpId = pId_}
ltfpNextToken :: Lens' ListTagsForProject (Maybe Text)
ltfpNextToken = lens _ltfpNextToken (\ s a -> s{_ltfpNextToken = a});
ltfpMaxResults :: Lens' ListTagsForProject (Maybe Natural)
ltfpMaxResults = lens _ltfpMaxResults (\ s a -> s{_ltfpMaxResults = a}) . mapping _Nat;
ltfpId :: Lens' ListTagsForProject Text
ltfpId = lens _ltfpId (\ s a -> s{_ltfpId = a});
instance AWSRequest ListTagsForProject where
type Rs ListTagsForProject =
ListTagsForProjectResponse
request = postJSON codeStar
response
= receiveJSON
(\ s h x ->
ListTagsForProjectResponse' <$>
(x .?> "nextToken") <*> (x .?> "tags" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable ListTagsForProject where
instance NFData ListTagsForProject where
instance ToHeaders ListTagsForProject where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeStar_20170419.ListTagsForProject" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListTagsForProject where
toJSON ListTagsForProject'{..}
= object
(catMaybes
[("nextToken" .=) <$> _ltfpNextToken,
("maxResults" .=) <$> _ltfpMaxResults,
Just ("id" .= _ltfpId)])
instance ToPath ListTagsForProject where
toPath = const "/"
instance ToQuery ListTagsForProject where
toQuery = const mempty
data ListTagsForProjectResponse = ListTagsForProjectResponse'
{ _ltfprsNextToken :: !(Maybe Text)
, _ltfprsTags :: !(Maybe (Map Text Text))
, _ltfprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForProjectResponse
:: Int
-> ListTagsForProjectResponse
listTagsForProjectResponse pResponseStatus_ =
ListTagsForProjectResponse'
{ _ltfprsNextToken = Nothing
, _ltfprsTags = Nothing
, _ltfprsResponseStatus = pResponseStatus_
}
ltfprsNextToken :: Lens' ListTagsForProjectResponse (Maybe Text)
ltfprsNextToken = lens _ltfprsNextToken (\ s a -> s{_ltfprsNextToken = a});
ltfprsTags :: Lens' ListTagsForProjectResponse (HashMap Text Text)
ltfprsTags = lens _ltfprsTags (\ s a -> s{_ltfprsTags = a}) . _Default . _Map;
ltfprsResponseStatus :: Lens' ListTagsForProjectResponse Int
ltfprsResponseStatus = lens _ltfprsResponseStatus (\ s a -> s{_ltfprsResponseStatus = a});
instance NFData ListTagsForProjectResponse where