module Network.AWS.OpsWorks.UpdateUserProfile
(
updateUserProfile
, UpdateUserProfile
, uupAllowSelfManagement
, uupSSHPublicKey
, uupSSHUsername
, uupIAMUserARN
, updateUserProfileResponse
, UpdateUserProfileResponse
) where
import Network.AWS.Lens
import Network.AWS.OpsWorks.Types
import Network.AWS.OpsWorks.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateUserProfile = UpdateUserProfile'
{ _uupAllowSelfManagement :: !(Maybe Bool)
, _uupSSHPublicKey :: !(Maybe Text)
, _uupSSHUsername :: !(Maybe Text)
, _uupIAMUserARN :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateUserProfile
:: Text
-> UpdateUserProfile
updateUserProfile pIAMUserARN_ =
UpdateUserProfile'
{ _uupAllowSelfManagement = Nothing
, _uupSSHPublicKey = Nothing
, _uupSSHUsername = Nothing
, _uupIAMUserARN = pIAMUserARN_
}
uupAllowSelfManagement :: Lens' UpdateUserProfile (Maybe Bool)
uupAllowSelfManagement = lens _uupAllowSelfManagement (\ s a -> s{_uupAllowSelfManagement = a});
uupSSHPublicKey :: Lens' UpdateUserProfile (Maybe Text)
uupSSHPublicKey = lens _uupSSHPublicKey (\ s a -> s{_uupSSHPublicKey = a});
uupSSHUsername :: Lens' UpdateUserProfile (Maybe Text)
uupSSHUsername = lens _uupSSHUsername (\ s a -> s{_uupSSHUsername = a});
uupIAMUserARN :: Lens' UpdateUserProfile Text
uupIAMUserARN = lens _uupIAMUserARN (\ s a -> s{_uupIAMUserARN = a});
instance AWSRequest UpdateUserProfile where
type Rs UpdateUserProfile = UpdateUserProfileResponse
request = postJSON opsWorks
response = receiveNull UpdateUserProfileResponse'
instance Hashable UpdateUserProfile
instance NFData UpdateUserProfile
instance ToHeaders UpdateUserProfile where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OpsWorks_20130218.UpdateUserProfile" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateUserProfile where
toJSON UpdateUserProfile'{..}
= object
(catMaybes
[("AllowSelfManagement" .=) <$>
_uupAllowSelfManagement,
("SshPublicKey" .=) <$> _uupSSHPublicKey,
("SshUsername" .=) <$> _uupSSHUsername,
Just ("IamUserArn" .= _uupIAMUserARN)])
instance ToPath UpdateUserProfile where
toPath = const "/"
instance ToQuery UpdateUserProfile where
toQuery = const mempty
data UpdateUserProfileResponse =
UpdateUserProfileResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
updateUserProfileResponse
:: UpdateUserProfileResponse
updateUserProfileResponse = UpdateUserProfileResponse'
instance NFData UpdateUserProfileResponse