{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.IAM.GetAccountPasswordPolicy
(
GetAccountPasswordPolicy (..),
newGetAccountPasswordPolicy,
GetAccountPasswordPolicyResponse (..),
newGetAccountPasswordPolicyResponse,
getAccountPasswordPolicyResponse_httpStatus,
getAccountPasswordPolicyResponse_passwordPolicy,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IAM.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetAccountPasswordPolicy = GetAccountPasswordPolicy'
{
}
deriving (GetAccountPasswordPolicy -> GetAccountPasswordPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccountPasswordPolicy -> GetAccountPasswordPolicy -> Bool
$c/= :: GetAccountPasswordPolicy -> GetAccountPasswordPolicy -> Bool
== :: GetAccountPasswordPolicy -> GetAccountPasswordPolicy -> Bool
$c== :: GetAccountPasswordPolicy -> GetAccountPasswordPolicy -> Bool
Prelude.Eq, ReadPrec [GetAccountPasswordPolicy]
ReadPrec GetAccountPasswordPolicy
Int -> ReadS GetAccountPasswordPolicy
ReadS [GetAccountPasswordPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccountPasswordPolicy]
$creadListPrec :: ReadPrec [GetAccountPasswordPolicy]
readPrec :: ReadPrec GetAccountPasswordPolicy
$creadPrec :: ReadPrec GetAccountPasswordPolicy
readList :: ReadS [GetAccountPasswordPolicy]
$creadList :: ReadS [GetAccountPasswordPolicy]
readsPrec :: Int -> ReadS GetAccountPasswordPolicy
$creadsPrec :: Int -> ReadS GetAccountPasswordPolicy
Prelude.Read, Int -> GetAccountPasswordPolicy -> ShowS
[GetAccountPasswordPolicy] -> ShowS
GetAccountPasswordPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccountPasswordPolicy] -> ShowS
$cshowList :: [GetAccountPasswordPolicy] -> ShowS
show :: GetAccountPasswordPolicy -> String
$cshow :: GetAccountPasswordPolicy -> String
showsPrec :: Int -> GetAccountPasswordPolicy -> ShowS
$cshowsPrec :: Int -> GetAccountPasswordPolicy -> ShowS
Prelude.Show, forall x.
Rep GetAccountPasswordPolicy x -> GetAccountPasswordPolicy
forall x.
GetAccountPasswordPolicy -> Rep GetAccountPasswordPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetAccountPasswordPolicy x -> GetAccountPasswordPolicy
$cfrom :: forall x.
GetAccountPasswordPolicy -> Rep GetAccountPasswordPolicy x
Prelude.Generic)
newGetAccountPasswordPolicy ::
GetAccountPasswordPolicy
newGetAccountPasswordPolicy :: GetAccountPasswordPolicy
newGetAccountPasswordPolicy =
GetAccountPasswordPolicy
GetAccountPasswordPolicy'
instance Core.AWSRequest GetAccountPasswordPolicy where
type
AWSResponse GetAccountPasswordPolicy =
GetAccountPasswordPolicyResponse
request :: (Service -> Service)
-> GetAccountPasswordPolicy -> Request GetAccountPasswordPolicy
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetAccountPasswordPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetAccountPasswordPolicy)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"GetAccountPasswordPolicyResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Int -> PasswordPolicy -> GetAccountPasswordPolicyResponse
GetAccountPasswordPolicyResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"PasswordPolicy")
)
instance Prelude.Hashable GetAccountPasswordPolicy where
hashWithSalt :: Int -> GetAccountPasswordPolicy -> Int
hashWithSalt Int
_salt GetAccountPasswordPolicy
_ =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()
instance Prelude.NFData GetAccountPasswordPolicy where
rnf :: GetAccountPasswordPolicy -> ()
rnf GetAccountPasswordPolicy
_ = ()
instance Data.ToHeaders GetAccountPasswordPolicy where
toHeaders :: GetAccountPasswordPolicy -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath GetAccountPasswordPolicy where
toPath :: GetAccountPasswordPolicy -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetAccountPasswordPolicy where
toQuery :: GetAccountPasswordPolicy -> QueryString
toQuery =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"GetAccountPasswordPolicy" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-05-08" :: Prelude.ByteString)
]
)
data GetAccountPasswordPolicyResponse = GetAccountPasswordPolicyResponse'
{
GetAccountPasswordPolicyResponse -> Int
httpStatus :: Prelude.Int,
GetAccountPasswordPolicyResponse -> PasswordPolicy
passwordPolicy :: PasswordPolicy
}
deriving (GetAccountPasswordPolicyResponse
-> GetAccountPasswordPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccountPasswordPolicyResponse
-> GetAccountPasswordPolicyResponse -> Bool
$c/= :: GetAccountPasswordPolicyResponse
-> GetAccountPasswordPolicyResponse -> Bool
== :: GetAccountPasswordPolicyResponse
-> GetAccountPasswordPolicyResponse -> Bool
$c== :: GetAccountPasswordPolicyResponse
-> GetAccountPasswordPolicyResponse -> Bool
Prelude.Eq, ReadPrec [GetAccountPasswordPolicyResponse]
ReadPrec GetAccountPasswordPolicyResponse
Int -> ReadS GetAccountPasswordPolicyResponse
ReadS [GetAccountPasswordPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccountPasswordPolicyResponse]
$creadListPrec :: ReadPrec [GetAccountPasswordPolicyResponse]
readPrec :: ReadPrec GetAccountPasswordPolicyResponse
$creadPrec :: ReadPrec GetAccountPasswordPolicyResponse
readList :: ReadS [GetAccountPasswordPolicyResponse]
$creadList :: ReadS [GetAccountPasswordPolicyResponse]
readsPrec :: Int -> ReadS GetAccountPasswordPolicyResponse
$creadsPrec :: Int -> ReadS GetAccountPasswordPolicyResponse
Prelude.Read, Int -> GetAccountPasswordPolicyResponse -> ShowS
[GetAccountPasswordPolicyResponse] -> ShowS
GetAccountPasswordPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccountPasswordPolicyResponse] -> ShowS
$cshowList :: [GetAccountPasswordPolicyResponse] -> ShowS
show :: GetAccountPasswordPolicyResponse -> String
$cshow :: GetAccountPasswordPolicyResponse -> String
showsPrec :: Int -> GetAccountPasswordPolicyResponse -> ShowS
$cshowsPrec :: Int -> GetAccountPasswordPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep GetAccountPasswordPolicyResponse x
-> GetAccountPasswordPolicyResponse
forall x.
GetAccountPasswordPolicyResponse
-> Rep GetAccountPasswordPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetAccountPasswordPolicyResponse x
-> GetAccountPasswordPolicyResponse
$cfrom :: forall x.
GetAccountPasswordPolicyResponse
-> Rep GetAccountPasswordPolicyResponse x
Prelude.Generic)
newGetAccountPasswordPolicyResponse ::
Prelude.Int ->
PasswordPolicy ->
GetAccountPasswordPolicyResponse
newGetAccountPasswordPolicyResponse :: Int -> PasswordPolicy -> GetAccountPasswordPolicyResponse
newGetAccountPasswordPolicyResponse
Int
pHttpStatus_
PasswordPolicy
pPasswordPolicy_ =
GetAccountPasswordPolicyResponse'
{ $sel:httpStatus:GetAccountPasswordPolicyResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:passwordPolicy:GetAccountPasswordPolicyResponse' :: PasswordPolicy
passwordPolicy = PasswordPolicy
pPasswordPolicy_
}
getAccountPasswordPolicyResponse_httpStatus :: Lens.Lens' GetAccountPasswordPolicyResponse Prelude.Int
getAccountPasswordPolicyResponse_httpStatus :: Lens' GetAccountPasswordPolicyResponse Int
getAccountPasswordPolicyResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccountPasswordPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetAccountPasswordPolicyResponse' :: GetAccountPasswordPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetAccountPasswordPolicyResponse
s@GetAccountPasswordPolicyResponse' {} Int
a -> GetAccountPasswordPolicyResponse
s {$sel:httpStatus:GetAccountPasswordPolicyResponse' :: Int
httpStatus = Int
a} :: GetAccountPasswordPolicyResponse)
getAccountPasswordPolicyResponse_passwordPolicy :: Lens.Lens' GetAccountPasswordPolicyResponse PasswordPolicy
getAccountPasswordPolicyResponse_passwordPolicy :: Lens' GetAccountPasswordPolicyResponse PasswordPolicy
getAccountPasswordPolicyResponse_passwordPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccountPasswordPolicyResponse' {PasswordPolicy
passwordPolicy :: PasswordPolicy
$sel:passwordPolicy:GetAccountPasswordPolicyResponse' :: GetAccountPasswordPolicyResponse -> PasswordPolicy
passwordPolicy} -> PasswordPolicy
passwordPolicy) (\s :: GetAccountPasswordPolicyResponse
s@GetAccountPasswordPolicyResponse' {} PasswordPolicy
a -> GetAccountPasswordPolicyResponse
s {$sel:passwordPolicy:GetAccountPasswordPolicyResponse' :: PasswordPolicy
passwordPolicy = PasswordPolicy
a} :: GetAccountPasswordPolicyResponse)
instance
Prelude.NFData
GetAccountPasswordPolicyResponse
where
rnf :: GetAccountPasswordPolicyResponse -> ()
rnf GetAccountPasswordPolicyResponse' {Int
PasswordPolicy
passwordPolicy :: PasswordPolicy
httpStatus :: Int
$sel:passwordPolicy:GetAccountPasswordPolicyResponse' :: GetAccountPasswordPolicyResponse -> PasswordPolicy
$sel:httpStatus:GetAccountPasswordPolicyResponse' :: GetAccountPasswordPolicyResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PasswordPolicy
passwordPolicy