{-# 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.ListTeamMembers
(
listTeamMembers
, ListTeamMembers
, ltmNextToken
, ltmMaxResults
, ltmProjectId
, listTeamMembersResponse
, ListTeamMembersResponse
, ltmrsNextToken
, ltmrsResponseStatus
, ltmrsTeamMembers
) 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 ListTeamMembers = ListTeamMembers'
{ _ltmNextToken :: !(Maybe Text)
, _ltmMaxResults :: !(Maybe Nat)
, _ltmProjectId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTeamMembers
:: Text
-> ListTeamMembers
listTeamMembers pProjectId_ =
ListTeamMembers'
{ _ltmNextToken = Nothing
, _ltmMaxResults = Nothing
, _ltmProjectId = pProjectId_
}
ltmNextToken :: Lens' ListTeamMembers (Maybe Text)
ltmNextToken = lens _ltmNextToken (\ s a -> s{_ltmNextToken = a})
ltmMaxResults :: Lens' ListTeamMembers (Maybe Natural)
ltmMaxResults = lens _ltmMaxResults (\ s a -> s{_ltmMaxResults = a}) . mapping _Nat
ltmProjectId :: Lens' ListTeamMembers Text
ltmProjectId = lens _ltmProjectId (\ s a -> s{_ltmProjectId = a})
instance AWSRequest ListTeamMembers where
type Rs ListTeamMembers = ListTeamMembersResponse
request = postJSON codeStar
response
= receiveJSON
(\ s h x ->
ListTeamMembersResponse' <$>
(x .?> "nextToken") <*> (pure (fromEnum s)) <*>
(x .?> "teamMembers" .!@ mempty))
instance Hashable ListTeamMembers where
instance NFData ListTeamMembers where
instance ToHeaders ListTeamMembers where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeStar_20170419.ListTeamMembers" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListTeamMembers where
toJSON ListTeamMembers'{..}
= object
(catMaybes
[("nextToken" .=) <$> _ltmNextToken,
("maxResults" .=) <$> _ltmMaxResults,
Just ("projectId" .= _ltmProjectId)])
instance ToPath ListTeamMembers where
toPath = const "/"
instance ToQuery ListTeamMembers where
toQuery = const mempty
data ListTeamMembersResponse = ListTeamMembersResponse'
{ _ltmrsNextToken :: !(Maybe Text)
, _ltmrsResponseStatus :: !Int
, _ltmrsTeamMembers :: ![TeamMember]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTeamMembersResponse
:: Int
-> ListTeamMembersResponse
listTeamMembersResponse pResponseStatus_ =
ListTeamMembersResponse'
{ _ltmrsNextToken = Nothing
, _ltmrsResponseStatus = pResponseStatus_
, _ltmrsTeamMembers = mempty
}
ltmrsNextToken :: Lens' ListTeamMembersResponse (Maybe Text)
ltmrsNextToken = lens _ltmrsNextToken (\ s a -> s{_ltmrsNextToken = a})
ltmrsResponseStatus :: Lens' ListTeamMembersResponse Int
ltmrsResponseStatus = lens _ltmrsResponseStatus (\ s a -> s{_ltmrsResponseStatus = a})
ltmrsTeamMembers :: Lens' ListTeamMembersResponse [TeamMember]
ltmrsTeamMembers = lens _ltmrsTeamMembers (\ s a -> s{_ltmrsTeamMembers = a}) . _Coerce
instance NFData ListTeamMembersResponse where