module Network.AWS.IAM.UpdateAccountPasswordPolicy
(
UpdateAccountPasswordPolicy
, updateAccountPasswordPolicy
, uappAllowUsersToChangePassword
, uappHardExpiry
, uappMaxPasswordAge
, uappMinimumPasswordLength
, uappPasswordReusePrevention
, uappRequireLowercaseCharacters
, uappRequireNumbers
, uappRequireSymbols
, uappRequireUppercaseCharacters
, UpdateAccountPasswordPolicyResponse
, updateAccountPasswordPolicyResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.IAM.Types
import qualified GHC.Exts
data UpdateAccountPasswordPolicy = UpdateAccountPasswordPolicy
{ _uappAllowUsersToChangePassword :: Maybe Bool
, _uappHardExpiry :: Maybe Bool
, _uappMaxPasswordAge :: Maybe Nat
, _uappMinimumPasswordLength :: Maybe Nat
, _uappPasswordReusePrevention :: Maybe Nat
, _uappRequireLowercaseCharacters :: Maybe Bool
, _uappRequireNumbers :: Maybe Bool
, _uappRequireSymbols :: Maybe Bool
, _uappRequireUppercaseCharacters :: Maybe Bool
} deriving (Eq, Ord, Read, Show)
updateAccountPasswordPolicy :: UpdateAccountPasswordPolicy
updateAccountPasswordPolicy = UpdateAccountPasswordPolicy
{ _uappMinimumPasswordLength = Nothing
, _uappRequireSymbols = Nothing
, _uappRequireNumbers = Nothing
, _uappRequireUppercaseCharacters = Nothing
, _uappRequireLowercaseCharacters = Nothing
, _uappAllowUsersToChangePassword = Nothing
, _uappMaxPasswordAge = Nothing
, _uappPasswordReusePrevention = Nothing
, _uappHardExpiry = Nothing
}
uappAllowUsersToChangePassword :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappAllowUsersToChangePassword =
lens _uappAllowUsersToChangePassword
(\s a -> s { _uappAllowUsersToChangePassword = a })
uappHardExpiry :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappHardExpiry = lens _uappHardExpiry (\s a -> s { _uappHardExpiry = a })
uappMaxPasswordAge :: Lens' UpdateAccountPasswordPolicy (Maybe Natural)
uappMaxPasswordAge =
lens _uappMaxPasswordAge (\s a -> s { _uappMaxPasswordAge = a })
. mapping _Nat
uappMinimumPasswordLength :: Lens' UpdateAccountPasswordPolicy (Maybe Natural)
uappMinimumPasswordLength =
lens _uappMinimumPasswordLength
(\s a -> s { _uappMinimumPasswordLength = a })
. mapping _Nat
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 })
uappRequireNumbers :: Lens' UpdateAccountPasswordPolicy (Maybe Bool)
uappRequireNumbers =
lens _uappRequireNumbers (\s a -> s { _uappRequireNumbers = 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 })
data UpdateAccountPasswordPolicyResponse = UpdateAccountPasswordPolicyResponse
deriving (Eq, Ord, Read, Show, Generic)
updateAccountPasswordPolicyResponse :: UpdateAccountPasswordPolicyResponse
updateAccountPasswordPolicyResponse = UpdateAccountPasswordPolicyResponse
instance ToPath UpdateAccountPasswordPolicy where
toPath = const "/"
instance ToQuery UpdateAccountPasswordPolicy where
toQuery UpdateAccountPasswordPolicy{..} = mconcat
[ "AllowUsersToChangePassword" =? _uappAllowUsersToChangePassword
, "HardExpiry" =? _uappHardExpiry
, "MaxPasswordAge" =? _uappMaxPasswordAge
, "MinimumPasswordLength" =? _uappMinimumPasswordLength
, "PasswordReusePrevention" =? _uappPasswordReusePrevention
, "RequireLowercaseCharacters" =? _uappRequireLowercaseCharacters
, "RequireNumbers" =? _uappRequireNumbers
, "RequireSymbols" =? _uappRequireSymbols
, "RequireUppercaseCharacters" =? _uappRequireUppercaseCharacters
]
instance ToHeaders UpdateAccountPasswordPolicy
instance AWSRequest UpdateAccountPasswordPolicy where
type Sv UpdateAccountPasswordPolicy = IAM
type Rs UpdateAccountPasswordPolicy = UpdateAccountPasswordPolicyResponse
request = post "UpdateAccountPasswordPolicy"
response = nullResponse UpdateAccountPasswordPolicyResponse