{-# 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.GetAccessKeyLastUsed
(
GetAccessKeyLastUsed (..),
newGetAccessKeyLastUsed,
getAccessKeyLastUsed_accessKeyId,
GetAccessKeyLastUsedResponse (..),
newGetAccessKeyLastUsedResponse,
getAccessKeyLastUsedResponse_accessKeyLastUsed,
getAccessKeyLastUsedResponse_userName,
getAccessKeyLastUsedResponse_httpStatus,
)
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 GetAccessKeyLastUsed = GetAccessKeyLastUsed'
{
GetAccessKeyLastUsed -> AccessKey
accessKeyId :: Core.AccessKey
}
deriving (GetAccessKeyLastUsed -> GetAccessKeyLastUsed -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccessKeyLastUsed -> GetAccessKeyLastUsed -> Bool
$c/= :: GetAccessKeyLastUsed -> GetAccessKeyLastUsed -> Bool
== :: GetAccessKeyLastUsed -> GetAccessKeyLastUsed -> Bool
$c== :: GetAccessKeyLastUsed -> GetAccessKeyLastUsed -> Bool
Prelude.Eq, ReadPrec [GetAccessKeyLastUsed]
ReadPrec GetAccessKeyLastUsed
Int -> ReadS GetAccessKeyLastUsed
ReadS [GetAccessKeyLastUsed]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccessKeyLastUsed]
$creadListPrec :: ReadPrec [GetAccessKeyLastUsed]
readPrec :: ReadPrec GetAccessKeyLastUsed
$creadPrec :: ReadPrec GetAccessKeyLastUsed
readList :: ReadS [GetAccessKeyLastUsed]
$creadList :: ReadS [GetAccessKeyLastUsed]
readsPrec :: Int -> ReadS GetAccessKeyLastUsed
$creadsPrec :: Int -> ReadS GetAccessKeyLastUsed
Prelude.Read, Int -> GetAccessKeyLastUsed -> ShowS
[GetAccessKeyLastUsed] -> ShowS
GetAccessKeyLastUsed -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccessKeyLastUsed] -> ShowS
$cshowList :: [GetAccessKeyLastUsed] -> ShowS
show :: GetAccessKeyLastUsed -> String
$cshow :: GetAccessKeyLastUsed -> String
showsPrec :: Int -> GetAccessKeyLastUsed -> ShowS
$cshowsPrec :: Int -> GetAccessKeyLastUsed -> ShowS
Prelude.Show, forall x. Rep GetAccessKeyLastUsed x -> GetAccessKeyLastUsed
forall x. GetAccessKeyLastUsed -> Rep GetAccessKeyLastUsed x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAccessKeyLastUsed x -> GetAccessKeyLastUsed
$cfrom :: forall x. GetAccessKeyLastUsed -> Rep GetAccessKeyLastUsed x
Prelude.Generic)
newGetAccessKeyLastUsed ::
Core.AccessKey ->
GetAccessKeyLastUsed
newGetAccessKeyLastUsed :: AccessKey -> GetAccessKeyLastUsed
newGetAccessKeyLastUsed AccessKey
pAccessKeyId_ =
GetAccessKeyLastUsed' {$sel:accessKeyId:GetAccessKeyLastUsed' :: AccessKey
accessKeyId = AccessKey
pAccessKeyId_}
getAccessKeyLastUsed_accessKeyId :: Lens.Lens' GetAccessKeyLastUsed Core.AccessKey
getAccessKeyLastUsed_accessKeyId :: Lens' GetAccessKeyLastUsed AccessKey
getAccessKeyLastUsed_accessKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessKeyLastUsed' {AccessKey
accessKeyId :: AccessKey
$sel:accessKeyId:GetAccessKeyLastUsed' :: GetAccessKeyLastUsed -> AccessKey
accessKeyId} -> AccessKey
accessKeyId) (\s :: GetAccessKeyLastUsed
s@GetAccessKeyLastUsed' {} AccessKey
a -> GetAccessKeyLastUsed
s {$sel:accessKeyId:GetAccessKeyLastUsed' :: AccessKey
accessKeyId = AccessKey
a} :: GetAccessKeyLastUsed)
instance Core.AWSRequest GetAccessKeyLastUsed where
type
AWSResponse GetAccessKeyLastUsed =
GetAccessKeyLastUsedResponse
request :: (Service -> Service)
-> GetAccessKeyLastUsed -> Request GetAccessKeyLastUsed
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 GetAccessKeyLastUsed
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetAccessKeyLastUsed)))
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
"GetAccessKeyLastUsedResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe AccessKeyLastUsed
-> Maybe Text -> Int -> GetAccessKeyLastUsedResponse
GetAccessKeyLastUsedResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AccessKeyLastUsed")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"UserName")
forall (f :: * -> *) a b. Applicative f => 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))
)
instance Prelude.Hashable GetAccessKeyLastUsed where
hashWithSalt :: Int -> GetAccessKeyLastUsed -> Int
hashWithSalt Int
_salt GetAccessKeyLastUsed' {AccessKey
accessKeyId :: AccessKey
$sel:accessKeyId:GetAccessKeyLastUsed' :: GetAccessKeyLastUsed -> AccessKey
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AccessKey
accessKeyId
instance Prelude.NFData GetAccessKeyLastUsed where
rnf :: GetAccessKeyLastUsed -> ()
rnf GetAccessKeyLastUsed' {AccessKey
accessKeyId :: AccessKey
$sel:accessKeyId:GetAccessKeyLastUsed' :: GetAccessKeyLastUsed -> AccessKey
..} =
forall a. NFData a => a -> ()
Prelude.rnf AccessKey
accessKeyId
instance Data.ToHeaders GetAccessKeyLastUsed where
toHeaders :: GetAccessKeyLastUsed -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath GetAccessKeyLastUsed where
toPath :: GetAccessKeyLastUsed -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetAccessKeyLastUsed where
toQuery :: GetAccessKeyLastUsed -> QueryString
toQuery GetAccessKeyLastUsed' {AccessKey
accessKeyId :: AccessKey
$sel:accessKeyId:GetAccessKeyLastUsed' :: GetAccessKeyLastUsed -> AccessKey
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"GetAccessKeyLastUsed" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-05-08" :: Prelude.ByteString),
ByteString
"AccessKeyId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: AccessKey
accessKeyId
]
data GetAccessKeyLastUsedResponse = GetAccessKeyLastUsedResponse'
{
GetAccessKeyLastUsedResponse -> Maybe AccessKeyLastUsed
accessKeyLastUsed :: Prelude.Maybe AccessKeyLastUsed,
GetAccessKeyLastUsedResponse -> Maybe Text
userName :: Prelude.Maybe Prelude.Text,
GetAccessKeyLastUsedResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetAccessKeyLastUsedResponse
-> GetAccessKeyLastUsedResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccessKeyLastUsedResponse
-> GetAccessKeyLastUsedResponse -> Bool
$c/= :: GetAccessKeyLastUsedResponse
-> GetAccessKeyLastUsedResponse -> Bool
== :: GetAccessKeyLastUsedResponse
-> GetAccessKeyLastUsedResponse -> Bool
$c== :: GetAccessKeyLastUsedResponse
-> GetAccessKeyLastUsedResponse -> Bool
Prelude.Eq, ReadPrec [GetAccessKeyLastUsedResponse]
ReadPrec GetAccessKeyLastUsedResponse
Int -> ReadS GetAccessKeyLastUsedResponse
ReadS [GetAccessKeyLastUsedResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccessKeyLastUsedResponse]
$creadListPrec :: ReadPrec [GetAccessKeyLastUsedResponse]
readPrec :: ReadPrec GetAccessKeyLastUsedResponse
$creadPrec :: ReadPrec GetAccessKeyLastUsedResponse
readList :: ReadS [GetAccessKeyLastUsedResponse]
$creadList :: ReadS [GetAccessKeyLastUsedResponse]
readsPrec :: Int -> ReadS GetAccessKeyLastUsedResponse
$creadsPrec :: Int -> ReadS GetAccessKeyLastUsedResponse
Prelude.Read, Int -> GetAccessKeyLastUsedResponse -> ShowS
[GetAccessKeyLastUsedResponse] -> ShowS
GetAccessKeyLastUsedResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccessKeyLastUsedResponse] -> ShowS
$cshowList :: [GetAccessKeyLastUsedResponse] -> ShowS
show :: GetAccessKeyLastUsedResponse -> String
$cshow :: GetAccessKeyLastUsedResponse -> String
showsPrec :: Int -> GetAccessKeyLastUsedResponse -> ShowS
$cshowsPrec :: Int -> GetAccessKeyLastUsedResponse -> ShowS
Prelude.Show, forall x.
Rep GetAccessKeyLastUsedResponse x -> GetAccessKeyLastUsedResponse
forall x.
GetAccessKeyLastUsedResponse -> Rep GetAccessKeyLastUsedResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetAccessKeyLastUsedResponse x -> GetAccessKeyLastUsedResponse
$cfrom :: forall x.
GetAccessKeyLastUsedResponse -> Rep GetAccessKeyLastUsedResponse x
Prelude.Generic)
newGetAccessKeyLastUsedResponse ::
Prelude.Int ->
GetAccessKeyLastUsedResponse
newGetAccessKeyLastUsedResponse :: Int -> GetAccessKeyLastUsedResponse
newGetAccessKeyLastUsedResponse Int
pHttpStatus_ =
GetAccessKeyLastUsedResponse'
{ $sel:accessKeyLastUsed:GetAccessKeyLastUsedResponse' :: Maybe AccessKeyLastUsed
accessKeyLastUsed =
forall a. Maybe a
Prelude.Nothing,
$sel:userName:GetAccessKeyLastUsedResponse' :: Maybe Text
userName = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetAccessKeyLastUsedResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getAccessKeyLastUsedResponse_accessKeyLastUsed :: Lens.Lens' GetAccessKeyLastUsedResponse (Prelude.Maybe AccessKeyLastUsed)
getAccessKeyLastUsedResponse_accessKeyLastUsed :: Lens' GetAccessKeyLastUsedResponse (Maybe AccessKeyLastUsed)
getAccessKeyLastUsedResponse_accessKeyLastUsed = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessKeyLastUsedResponse' {Maybe AccessKeyLastUsed
accessKeyLastUsed :: Maybe AccessKeyLastUsed
$sel:accessKeyLastUsed:GetAccessKeyLastUsedResponse' :: GetAccessKeyLastUsedResponse -> Maybe AccessKeyLastUsed
accessKeyLastUsed} -> Maybe AccessKeyLastUsed
accessKeyLastUsed) (\s :: GetAccessKeyLastUsedResponse
s@GetAccessKeyLastUsedResponse' {} Maybe AccessKeyLastUsed
a -> GetAccessKeyLastUsedResponse
s {$sel:accessKeyLastUsed:GetAccessKeyLastUsedResponse' :: Maybe AccessKeyLastUsed
accessKeyLastUsed = Maybe AccessKeyLastUsed
a} :: GetAccessKeyLastUsedResponse)
getAccessKeyLastUsedResponse_userName :: Lens.Lens' GetAccessKeyLastUsedResponse (Prelude.Maybe Prelude.Text)
getAccessKeyLastUsedResponse_userName :: Lens' GetAccessKeyLastUsedResponse (Maybe Text)
getAccessKeyLastUsedResponse_userName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessKeyLastUsedResponse' {Maybe Text
userName :: Maybe Text
$sel:userName:GetAccessKeyLastUsedResponse' :: GetAccessKeyLastUsedResponse -> Maybe Text
userName} -> Maybe Text
userName) (\s :: GetAccessKeyLastUsedResponse
s@GetAccessKeyLastUsedResponse' {} Maybe Text
a -> GetAccessKeyLastUsedResponse
s {$sel:userName:GetAccessKeyLastUsedResponse' :: Maybe Text
userName = Maybe Text
a} :: GetAccessKeyLastUsedResponse)
getAccessKeyLastUsedResponse_httpStatus :: Lens.Lens' GetAccessKeyLastUsedResponse Prelude.Int
getAccessKeyLastUsedResponse_httpStatus :: Lens' GetAccessKeyLastUsedResponse Int
getAccessKeyLastUsedResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessKeyLastUsedResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetAccessKeyLastUsedResponse' :: GetAccessKeyLastUsedResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetAccessKeyLastUsedResponse
s@GetAccessKeyLastUsedResponse' {} Int
a -> GetAccessKeyLastUsedResponse
s {$sel:httpStatus:GetAccessKeyLastUsedResponse' :: Int
httpStatus = Int
a} :: GetAccessKeyLastUsedResponse)
instance Prelude.NFData GetAccessKeyLastUsedResponse where
rnf :: GetAccessKeyLastUsedResponse -> ()
rnf GetAccessKeyLastUsedResponse' {Int
Maybe Text
Maybe AccessKeyLastUsed
httpStatus :: Int
userName :: Maybe Text
accessKeyLastUsed :: Maybe AccessKeyLastUsed
$sel:httpStatus:GetAccessKeyLastUsedResponse' :: GetAccessKeyLastUsedResponse -> Int
$sel:userName:GetAccessKeyLastUsedResponse' :: GetAccessKeyLastUsedResponse -> Maybe Text
$sel:accessKeyLastUsed:GetAccessKeyLastUsedResponse' :: GetAccessKeyLastUsedResponse -> Maybe AccessKeyLastUsed
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AccessKeyLastUsed
accessKeyLastUsed
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus