{-# 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.Connect.DescribeAgentStatus
(
DescribeAgentStatus (..),
newDescribeAgentStatus,
describeAgentStatus_instanceId,
describeAgentStatus_agentStatusId,
DescribeAgentStatusResponse (..),
newDescribeAgentStatusResponse,
describeAgentStatusResponse_agentStatus,
describeAgentStatusResponse_httpStatus,
)
where
import Amazonka.Connect.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeAgentStatus = DescribeAgentStatus'
{
DescribeAgentStatus -> Text
instanceId :: Prelude.Text,
DescribeAgentStatus -> Text
agentStatusId :: Prelude.Text
}
deriving (DescribeAgentStatus -> DescribeAgentStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAgentStatus -> DescribeAgentStatus -> Bool
$c/= :: DescribeAgentStatus -> DescribeAgentStatus -> Bool
== :: DescribeAgentStatus -> DescribeAgentStatus -> Bool
$c== :: DescribeAgentStatus -> DescribeAgentStatus -> Bool
Prelude.Eq, ReadPrec [DescribeAgentStatus]
ReadPrec DescribeAgentStatus
Int -> ReadS DescribeAgentStatus
ReadS [DescribeAgentStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAgentStatus]
$creadListPrec :: ReadPrec [DescribeAgentStatus]
readPrec :: ReadPrec DescribeAgentStatus
$creadPrec :: ReadPrec DescribeAgentStatus
readList :: ReadS [DescribeAgentStatus]
$creadList :: ReadS [DescribeAgentStatus]
readsPrec :: Int -> ReadS DescribeAgentStatus
$creadsPrec :: Int -> ReadS DescribeAgentStatus
Prelude.Read, Int -> DescribeAgentStatus -> ShowS
[DescribeAgentStatus] -> ShowS
DescribeAgentStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAgentStatus] -> ShowS
$cshowList :: [DescribeAgentStatus] -> ShowS
show :: DescribeAgentStatus -> String
$cshow :: DescribeAgentStatus -> String
showsPrec :: Int -> DescribeAgentStatus -> ShowS
$cshowsPrec :: Int -> DescribeAgentStatus -> ShowS
Prelude.Show, forall x. Rep DescribeAgentStatus x -> DescribeAgentStatus
forall x. DescribeAgentStatus -> Rep DescribeAgentStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAgentStatus x -> DescribeAgentStatus
$cfrom :: forall x. DescribeAgentStatus -> Rep DescribeAgentStatus x
Prelude.Generic)
newDescribeAgentStatus ::
Prelude.Text ->
Prelude.Text ->
DescribeAgentStatus
newDescribeAgentStatus :: Text -> Text -> DescribeAgentStatus
newDescribeAgentStatus Text
pInstanceId_ Text
pAgentStatusId_ =
DescribeAgentStatus'
{ $sel:instanceId:DescribeAgentStatus' :: Text
instanceId = Text
pInstanceId_,
$sel:agentStatusId:DescribeAgentStatus' :: Text
agentStatusId = Text
pAgentStatusId_
}
describeAgentStatus_instanceId :: Lens.Lens' DescribeAgentStatus Prelude.Text
describeAgentStatus_instanceId :: Lens' DescribeAgentStatus Text
describeAgentStatus_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAgentStatus' {Text
instanceId :: Text
$sel:instanceId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
instanceId} -> Text
instanceId) (\s :: DescribeAgentStatus
s@DescribeAgentStatus' {} Text
a -> DescribeAgentStatus
s {$sel:instanceId:DescribeAgentStatus' :: Text
instanceId = Text
a} :: DescribeAgentStatus)
describeAgentStatus_agentStatusId :: Lens.Lens' DescribeAgentStatus Prelude.Text
describeAgentStatus_agentStatusId :: Lens' DescribeAgentStatus Text
describeAgentStatus_agentStatusId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAgentStatus' {Text
agentStatusId :: Text
$sel:agentStatusId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
agentStatusId} -> Text
agentStatusId) (\s :: DescribeAgentStatus
s@DescribeAgentStatus' {} Text
a -> DescribeAgentStatus
s {$sel:agentStatusId:DescribeAgentStatus' :: Text
agentStatusId = Text
a} :: DescribeAgentStatus)
instance Core.AWSRequest DescribeAgentStatus where
type
AWSResponse DescribeAgentStatus =
DescribeAgentStatusResponse
request :: (Service -> Service)
-> DescribeAgentStatus -> Request DescribeAgentStatus
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeAgentStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeAgentStatus)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe AgentStatus -> Int -> DescribeAgentStatusResponse
DescribeAgentStatusResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"AgentStatus")
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 DescribeAgentStatus where
hashWithSalt :: Int -> DescribeAgentStatus -> Int
hashWithSalt Int
_salt DescribeAgentStatus' {Text
agentStatusId :: Text
instanceId :: Text
$sel:agentStatusId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
$sel:instanceId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
agentStatusId
instance Prelude.NFData DescribeAgentStatus where
rnf :: DescribeAgentStatus -> ()
rnf DescribeAgentStatus' {Text
agentStatusId :: Text
instanceId :: Text
$sel:agentStatusId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
$sel:instanceId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
instanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
agentStatusId
instance Data.ToHeaders DescribeAgentStatus where
toHeaders :: DescribeAgentStatus -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DescribeAgentStatus where
toPath :: DescribeAgentStatus -> ByteString
toPath DescribeAgentStatus' {Text
agentStatusId :: Text
instanceId :: Text
$sel:agentStatusId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
$sel:instanceId:DescribeAgentStatus' :: DescribeAgentStatus -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/agent-status/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
agentStatusId
]
instance Data.ToQuery DescribeAgentStatus where
toQuery :: DescribeAgentStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeAgentStatusResponse = DescribeAgentStatusResponse'
{
DescribeAgentStatusResponse -> Maybe AgentStatus
agentStatus :: Prelude.Maybe AgentStatus,
DescribeAgentStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeAgentStatusResponse -> DescribeAgentStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAgentStatusResponse -> DescribeAgentStatusResponse -> Bool
$c/= :: DescribeAgentStatusResponse -> DescribeAgentStatusResponse -> Bool
== :: DescribeAgentStatusResponse -> DescribeAgentStatusResponse -> Bool
$c== :: DescribeAgentStatusResponse -> DescribeAgentStatusResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAgentStatusResponse]
ReadPrec DescribeAgentStatusResponse
Int -> ReadS DescribeAgentStatusResponse
ReadS [DescribeAgentStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAgentStatusResponse]
$creadListPrec :: ReadPrec [DescribeAgentStatusResponse]
readPrec :: ReadPrec DescribeAgentStatusResponse
$creadPrec :: ReadPrec DescribeAgentStatusResponse
readList :: ReadS [DescribeAgentStatusResponse]
$creadList :: ReadS [DescribeAgentStatusResponse]
readsPrec :: Int -> ReadS DescribeAgentStatusResponse
$creadsPrec :: Int -> ReadS DescribeAgentStatusResponse
Prelude.Read, Int -> DescribeAgentStatusResponse -> ShowS
[DescribeAgentStatusResponse] -> ShowS
DescribeAgentStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAgentStatusResponse] -> ShowS
$cshowList :: [DescribeAgentStatusResponse] -> ShowS
show :: DescribeAgentStatusResponse -> String
$cshow :: DescribeAgentStatusResponse -> String
showsPrec :: Int -> DescribeAgentStatusResponse -> ShowS
$cshowsPrec :: Int -> DescribeAgentStatusResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeAgentStatusResponse x -> DescribeAgentStatusResponse
forall x.
DescribeAgentStatusResponse -> Rep DescribeAgentStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAgentStatusResponse x -> DescribeAgentStatusResponse
$cfrom :: forall x.
DescribeAgentStatusResponse -> Rep DescribeAgentStatusResponse x
Prelude.Generic)
newDescribeAgentStatusResponse ::
Prelude.Int ->
DescribeAgentStatusResponse
newDescribeAgentStatusResponse :: Int -> DescribeAgentStatusResponse
newDescribeAgentStatusResponse Int
pHttpStatus_ =
DescribeAgentStatusResponse'
{ $sel:agentStatus:DescribeAgentStatusResponse' :: Maybe AgentStatus
agentStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeAgentStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeAgentStatusResponse_agentStatus :: Lens.Lens' DescribeAgentStatusResponse (Prelude.Maybe AgentStatus)
describeAgentStatusResponse_agentStatus :: Lens' DescribeAgentStatusResponse (Maybe AgentStatus)
describeAgentStatusResponse_agentStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAgentStatusResponse' {Maybe AgentStatus
agentStatus :: Maybe AgentStatus
$sel:agentStatus:DescribeAgentStatusResponse' :: DescribeAgentStatusResponse -> Maybe AgentStatus
agentStatus} -> Maybe AgentStatus
agentStatus) (\s :: DescribeAgentStatusResponse
s@DescribeAgentStatusResponse' {} Maybe AgentStatus
a -> DescribeAgentStatusResponse
s {$sel:agentStatus:DescribeAgentStatusResponse' :: Maybe AgentStatus
agentStatus = Maybe AgentStatus
a} :: DescribeAgentStatusResponse)
describeAgentStatusResponse_httpStatus :: Lens.Lens' DescribeAgentStatusResponse Prelude.Int
describeAgentStatusResponse_httpStatus :: Lens' DescribeAgentStatusResponse Int
describeAgentStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAgentStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeAgentStatusResponse' :: DescribeAgentStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeAgentStatusResponse
s@DescribeAgentStatusResponse' {} Int
a -> DescribeAgentStatusResponse
s {$sel:httpStatus:DescribeAgentStatusResponse' :: Int
httpStatus = Int
a} :: DescribeAgentStatusResponse)
instance Prelude.NFData DescribeAgentStatusResponse where
rnf :: DescribeAgentStatusResponse -> ()
rnf DescribeAgentStatusResponse' {Int
Maybe AgentStatus
httpStatus :: Int
agentStatus :: Maybe AgentStatus
$sel:httpStatus:DescribeAgentStatusResponse' :: DescribeAgentStatusResponse -> Int
$sel:agentStatus:DescribeAgentStatusResponse' :: DescribeAgentStatusResponse -> Maybe AgentStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AgentStatus
agentStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus