module Network.AWS.IAM.CreateLoginProfile
(
createLoginProfile
, CreateLoginProfile
, clpPasswordResetRequired
, clpUserName
, clpPassword
, createLoginProfileResponse
, CreateLoginProfileResponse
, clprsResponseStatus
, clprsLoginProfile
) where
import Network.AWS.IAM.Types
import Network.AWS.IAM.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateLoginProfile = CreateLoginProfile'
{ _clpPasswordResetRequired :: !(Maybe Bool)
, _clpUserName :: !Text
, _clpPassword :: !(Sensitive Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createLoginProfile
:: Text
-> Text
-> CreateLoginProfile
createLoginProfile pUserName_ pPassword_ =
CreateLoginProfile'
{ _clpPasswordResetRequired = Nothing
, _clpUserName = pUserName_
, _clpPassword = _Sensitive # pPassword_
}
clpPasswordResetRequired :: Lens' CreateLoginProfile (Maybe Bool)
clpPasswordResetRequired = lens _clpPasswordResetRequired (\ s a -> s{_clpPasswordResetRequired = a});
clpUserName :: Lens' CreateLoginProfile Text
clpUserName = lens _clpUserName (\ s a -> s{_clpUserName = a});
clpPassword :: Lens' CreateLoginProfile Text
clpPassword = lens _clpPassword (\ s a -> s{_clpPassword = a}) . _Sensitive;
instance AWSRequest CreateLoginProfile where
type Rs CreateLoginProfile =
CreateLoginProfileResponse
request = postQuery iAM
response
= receiveXMLWrapper "CreateLoginProfileResult"
(\ s h x ->
CreateLoginProfileResponse' <$>
(pure (fromEnum s)) <*> (x .@ "LoginProfile"))
instance ToHeaders CreateLoginProfile where
toHeaders = const mempty
instance ToPath CreateLoginProfile where
toPath = const "/"
instance ToQuery CreateLoginProfile where
toQuery CreateLoginProfile'{..}
= mconcat
["Action" =: ("CreateLoginProfile" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"PasswordResetRequired" =: _clpPasswordResetRequired,
"UserName" =: _clpUserName,
"Password" =: _clpPassword]
data CreateLoginProfileResponse = CreateLoginProfileResponse'
{ _clprsResponseStatus :: !Int
, _clprsLoginProfile :: !LoginProfile
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createLoginProfileResponse
:: Int
-> LoginProfile
-> CreateLoginProfileResponse
createLoginProfileResponse pResponseStatus_ pLoginProfile_ =
CreateLoginProfileResponse'
{ _clprsResponseStatus = pResponseStatus_
, _clprsLoginProfile = pLoginProfile_
}
clprsResponseStatus :: Lens' CreateLoginProfileResponse Int
clprsResponseStatus = lens _clprsResponseStatus (\ s a -> s{_clprsResponseStatus = a});
clprsLoginProfile :: Lens' CreateLoginProfileResponse LoginProfile
clprsLoginProfile = lens _clprsLoginProfile (\ s a -> s{_clprsLoginProfile = a});