module Network.AWS.IAM.UpdateAccountPasswordPolicy
(
updateAccountPasswordPolicy
, UpdateAccountPasswordPolicy
, uappMinimumPasswordLength
, uappRequireNumbers
, uappPasswordReusePrevention
, uappRequireLowercaseCharacters
, uappMaxPasswordAge
, uappHardExpiry
, uappRequireSymbols
, uappRequireUppercaseCharacters
, uappAllowUsersToChangePassword
, updateAccountPasswordPolicyResponse
, UpdateAccountPasswordPolicyResponse
) 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 UpdateAccountPasswordPolicy = UpdateAccountPasswordPolicy'
{ _uappMinimumPasswordLength :: !(Maybe Nat)
, _uappRequireNumbers :: !(Maybe Bool)
, _uappPasswordReusePrevention :: !(Maybe Nat)
, _uappRequireLowercaseCharacters :: !(Maybe Bool)
, _uappMaxPasswordAge :: !(Maybe Nat)
, _uappHardExpiry :: !(Maybe Bool)
, _uappRequireSymbols :: !(Maybe Bool)
, _uappRequireUppercaseCharacters :: !(Maybe Bool)
, _uappAllowUsersToChangePassword :: !(Maybe Bool)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateAccountPasswordPolicy
:: UpdateAccountPasswordPolicy
updateAccountPasswordPolicy =
UpdateAccountPasswordPolicy'
{ _uappMinimumPasswordLength = Nothing
, _uappRequireNumbers = Nothing
, _uappPasswordReusePrevention = Nothing
, _uappRequireLowercaseCharacters = Nothing
, _uappMaxPasswordAge = Nothing
, _uappHardExpiry = Nothing
, _uappRequireSymbols = Nothing
, _uappRequireUppercaseCharacters = Nothing
, _uappAllowUsersToChangePassword = Nothing
}
uappMinimumPasswordLength :: Lens' UpdateAccountPasswordPolicy (Maybe Natural)
uappMinimumPasswordLength = lens _uappMinimumPasswordLength (\ s a -> s{_uappMinimumPasswordLength = a}) . mapping _Nat;
uappRequireNumbers :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappRequireNumbers = lens _uappRequireNumbers (\ s a -> s{_uappRequireNumbers = a});
uappPasswordReusePrevention :: Lens' UpdateAccountPasswordPolicy (Maybe Natural)
uappPasswordReusePrevention = lens _uappPasswordReusePrevention (\ s a -> s{_uappPasswordReusePrevention = a}) . mapping _Nat;
uappRequireLowercaseCharacters :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappRequireLowercaseCharacters = lens _uappRequireLowercaseCharacters (\ s a -> s{_uappRequireLowercaseCharacters = a});
uappMaxPasswordAge :: Lens' UpdateAccountPasswordPolicy (Maybe Natural)
uappMaxPasswordAge = lens _uappMaxPasswordAge (\ s a -> s{_uappMaxPasswordAge = a}) . mapping _Nat;
uappHardExpiry :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappHardExpiry = lens _uappHardExpiry (\ s a -> s{_uappHardExpiry = a});
uappRequireSymbols :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappRequireSymbols = lens _uappRequireSymbols (\ s a -> s{_uappRequireSymbols = a});
uappRequireUppercaseCharacters :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappRequireUppercaseCharacters = lens _uappRequireUppercaseCharacters (\ s a -> s{_uappRequireUppercaseCharacters = a});
uappAllowUsersToChangePassword :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappAllowUsersToChangePassword = lens _uappAllowUsersToChangePassword (\ s a -> s{_uappAllowUsersToChangePassword = a});
instance AWSRequest UpdateAccountPasswordPolicy where
type Rs UpdateAccountPasswordPolicy =
UpdateAccountPasswordPolicyResponse
request = postQuery iAM
response
= receiveNull UpdateAccountPasswordPolicyResponse'
instance ToHeaders UpdateAccountPasswordPolicy where
toHeaders = const mempty
instance ToPath UpdateAccountPasswordPolicy where
toPath = const "/"
instance ToQuery UpdateAccountPasswordPolicy where
toQuery UpdateAccountPasswordPolicy'{..}
= mconcat
["Action" =:
("UpdateAccountPasswordPolicy" :: ByteString),
"Version" =: ("2010-05-08" :: ByteString),
"MinimumPasswordLength" =:
_uappMinimumPasswordLength,
"RequireNumbers" =: _uappRequireNumbers,
"PasswordReusePrevention" =:
_uappPasswordReusePrevention,
"RequireLowercaseCharacters" =:
_uappRequireLowercaseCharacters,
"MaxPasswordAge" =: _uappMaxPasswordAge,
"HardExpiry" =: _uappHardExpiry,
"RequireSymbols" =: _uappRequireSymbols,
"RequireUppercaseCharacters" =:
_uappRequireUppercaseCharacters,
"AllowUsersToChangePassword" =:
_uappAllowUsersToChangePassword]
data UpdateAccountPasswordPolicyResponse =
UpdateAccountPasswordPolicyResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
updateAccountPasswordPolicyResponse
:: UpdateAccountPasswordPolicyResponse
updateAccountPasswordPolicyResponse = UpdateAccountPasswordPolicyResponse'