{-# 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.UpdateTeamMember
(
updateTeamMember
, UpdateTeamMember
, utmRemoteAccessAllowed
, utmProjectRole
, utmProjectId
, utmUserARN
, updateTeamMemberResponse
, UpdateTeamMemberResponse
, utmrsUserARN
, utmrsRemoteAccessAllowed
, utmrsProjectRole
, utmrsResponseStatus
) 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 UpdateTeamMember = UpdateTeamMember'
{ _utmRemoteAccessAllowed :: !(Maybe Bool)
, _utmProjectRole :: !(Maybe Text)
, _utmProjectId :: !Text
, _utmUserARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateTeamMember
:: Text
-> Text
-> UpdateTeamMember
updateTeamMember pProjectId_ pUserARN_ =
UpdateTeamMember'
{ _utmRemoteAccessAllowed = Nothing
, _utmProjectRole = Nothing
, _utmProjectId = pProjectId_
, _utmUserARN = pUserARN_
}
utmRemoteAccessAllowed :: Lens' UpdateTeamMember (Maybe Bool)
utmRemoteAccessAllowed = lens _utmRemoteAccessAllowed (\ s a -> s{_utmRemoteAccessAllowed = a})
utmProjectRole :: Lens' UpdateTeamMember (Maybe Text)
utmProjectRole = lens _utmProjectRole (\ s a -> s{_utmProjectRole = a})
utmProjectId :: Lens' UpdateTeamMember Text
utmProjectId = lens _utmProjectId (\ s a -> s{_utmProjectId = a})
utmUserARN :: Lens' UpdateTeamMember Text
utmUserARN = lens _utmUserARN (\ s a -> s{_utmUserARN = a})
instance AWSRequest UpdateTeamMember where
type Rs UpdateTeamMember = UpdateTeamMemberResponse
request = postJSON codeStar
response
= receiveJSON
(\ s h x ->
UpdateTeamMemberResponse' <$>
(x .?> "userArn") <*> (x .?> "remoteAccessAllowed")
<*> (x .?> "projectRole")
<*> (pure (fromEnum s)))
instance Hashable UpdateTeamMember where
instance NFData UpdateTeamMember where
instance ToHeaders UpdateTeamMember where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeStar_20170419.UpdateTeamMember" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateTeamMember where
toJSON UpdateTeamMember'{..}
= object
(catMaybes
[("remoteAccessAllowed" .=) <$>
_utmRemoteAccessAllowed,
("projectRole" .=) <$> _utmProjectRole,
Just ("projectId" .= _utmProjectId),
Just ("userArn" .= _utmUserARN)])
instance ToPath UpdateTeamMember where
toPath = const "/"
instance ToQuery UpdateTeamMember where
toQuery = const mempty
data UpdateTeamMemberResponse = UpdateTeamMemberResponse'
{ _utmrsUserARN :: !(Maybe Text)
, _utmrsRemoteAccessAllowed :: !(Maybe Bool)
, _utmrsProjectRole :: !(Maybe Text)
, _utmrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateTeamMemberResponse
:: Int
-> UpdateTeamMemberResponse
updateTeamMemberResponse pResponseStatus_ =
UpdateTeamMemberResponse'
{ _utmrsUserARN = Nothing
, _utmrsRemoteAccessAllowed = Nothing
, _utmrsProjectRole = Nothing
, _utmrsResponseStatus = pResponseStatus_
}
utmrsUserARN :: Lens' UpdateTeamMemberResponse (Maybe Text)
utmrsUserARN = lens _utmrsUserARN (\ s a -> s{_utmrsUserARN = a})
utmrsRemoteAccessAllowed :: Lens' UpdateTeamMemberResponse (Maybe Bool)
utmrsRemoteAccessAllowed = lens _utmrsRemoteAccessAllowed (\ s a -> s{_utmrsRemoteAccessAllowed = a})
utmrsProjectRole :: Lens' UpdateTeamMemberResponse (Maybe Text)
utmrsProjectRole = lens _utmrsProjectRole (\ s a -> s{_utmrsProjectRole = a})
utmrsResponseStatus :: Lens' UpdateTeamMemberResponse Int
utmrsResponseStatus = lens _utmrsResponseStatus (\ s a -> s{_utmrsResponseStatus = a})
instance NFData UpdateTeamMemberResponse where