{-# 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.DescribeUserHierarchyGroup
(
DescribeUserHierarchyGroup (..),
newDescribeUserHierarchyGroup,
describeUserHierarchyGroup_hierarchyGroupId,
describeUserHierarchyGroup_instanceId,
DescribeUserHierarchyGroupResponse (..),
newDescribeUserHierarchyGroupResponse,
describeUserHierarchyGroupResponse_hierarchyGroup,
describeUserHierarchyGroupResponse_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 DescribeUserHierarchyGroup = DescribeUserHierarchyGroup'
{
DescribeUserHierarchyGroup -> Text
hierarchyGroupId :: Prelude.Text,
DescribeUserHierarchyGroup -> Text
instanceId :: Prelude.Text
}
deriving (DescribeUserHierarchyGroup -> DescribeUserHierarchyGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeUserHierarchyGroup -> DescribeUserHierarchyGroup -> Bool
$c/= :: DescribeUserHierarchyGroup -> DescribeUserHierarchyGroup -> Bool
== :: DescribeUserHierarchyGroup -> DescribeUserHierarchyGroup -> Bool
$c== :: DescribeUserHierarchyGroup -> DescribeUserHierarchyGroup -> Bool
Prelude.Eq, ReadPrec [DescribeUserHierarchyGroup]
ReadPrec DescribeUserHierarchyGroup
Int -> ReadS DescribeUserHierarchyGroup
ReadS [DescribeUserHierarchyGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeUserHierarchyGroup]
$creadListPrec :: ReadPrec [DescribeUserHierarchyGroup]
readPrec :: ReadPrec DescribeUserHierarchyGroup
$creadPrec :: ReadPrec DescribeUserHierarchyGroup
readList :: ReadS [DescribeUserHierarchyGroup]
$creadList :: ReadS [DescribeUserHierarchyGroup]
readsPrec :: Int -> ReadS DescribeUserHierarchyGroup
$creadsPrec :: Int -> ReadS DescribeUserHierarchyGroup
Prelude.Read, Int -> DescribeUserHierarchyGroup -> ShowS
[DescribeUserHierarchyGroup] -> ShowS
DescribeUserHierarchyGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeUserHierarchyGroup] -> ShowS
$cshowList :: [DescribeUserHierarchyGroup] -> ShowS
show :: DescribeUserHierarchyGroup -> String
$cshow :: DescribeUserHierarchyGroup -> String
showsPrec :: Int -> DescribeUserHierarchyGroup -> ShowS
$cshowsPrec :: Int -> DescribeUserHierarchyGroup -> ShowS
Prelude.Show, forall x.
Rep DescribeUserHierarchyGroup x -> DescribeUserHierarchyGroup
forall x.
DescribeUserHierarchyGroup -> Rep DescribeUserHierarchyGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeUserHierarchyGroup x -> DescribeUserHierarchyGroup
$cfrom :: forall x.
DescribeUserHierarchyGroup -> Rep DescribeUserHierarchyGroup x
Prelude.Generic)
newDescribeUserHierarchyGroup ::
Prelude.Text ->
Prelude.Text ->
DescribeUserHierarchyGroup
newDescribeUserHierarchyGroup :: Text -> Text -> DescribeUserHierarchyGroup
newDescribeUserHierarchyGroup
Text
pHierarchyGroupId_
Text
pInstanceId_ =
DescribeUserHierarchyGroup'
{ $sel:hierarchyGroupId:DescribeUserHierarchyGroup' :: Text
hierarchyGroupId =
Text
pHierarchyGroupId_,
$sel:instanceId:DescribeUserHierarchyGroup' :: Text
instanceId = Text
pInstanceId_
}
describeUserHierarchyGroup_hierarchyGroupId :: Lens.Lens' DescribeUserHierarchyGroup Prelude.Text
describeUserHierarchyGroup_hierarchyGroupId :: Lens' DescribeUserHierarchyGroup Text
describeUserHierarchyGroup_hierarchyGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserHierarchyGroup' {Text
hierarchyGroupId :: Text
$sel:hierarchyGroupId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
hierarchyGroupId} -> Text
hierarchyGroupId) (\s :: DescribeUserHierarchyGroup
s@DescribeUserHierarchyGroup' {} Text
a -> DescribeUserHierarchyGroup
s {$sel:hierarchyGroupId:DescribeUserHierarchyGroup' :: Text
hierarchyGroupId = Text
a} :: DescribeUserHierarchyGroup)
describeUserHierarchyGroup_instanceId :: Lens.Lens' DescribeUserHierarchyGroup Prelude.Text
describeUserHierarchyGroup_instanceId :: Lens' DescribeUserHierarchyGroup Text
describeUserHierarchyGroup_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserHierarchyGroup' {Text
instanceId :: Text
$sel:instanceId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
instanceId} -> Text
instanceId) (\s :: DescribeUserHierarchyGroup
s@DescribeUserHierarchyGroup' {} Text
a -> DescribeUserHierarchyGroup
s {$sel:instanceId:DescribeUserHierarchyGroup' :: Text
instanceId = Text
a} :: DescribeUserHierarchyGroup)
instance Core.AWSRequest DescribeUserHierarchyGroup where
type
AWSResponse DescribeUserHierarchyGroup =
DescribeUserHierarchyGroupResponse
request :: (Service -> Service)
-> DescribeUserHierarchyGroup -> Request DescribeUserHierarchyGroup
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 DescribeUserHierarchyGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeUserHierarchyGroup)))
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 HierarchyGroup -> Int -> DescribeUserHierarchyGroupResponse
DescribeUserHierarchyGroupResponse'
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
"HierarchyGroup")
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 DescribeUserHierarchyGroup where
hashWithSalt :: Int -> DescribeUserHierarchyGroup -> Int
hashWithSalt Int
_salt DescribeUserHierarchyGroup' {Text
instanceId :: Text
hierarchyGroupId :: Text
$sel:instanceId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
$sel:hierarchyGroupId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
hierarchyGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
instance Prelude.NFData DescribeUserHierarchyGroup where
rnf :: DescribeUserHierarchyGroup -> ()
rnf DescribeUserHierarchyGroup' {Text
instanceId :: Text
hierarchyGroupId :: Text
$sel:instanceId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
$sel:hierarchyGroupId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
hierarchyGroupId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
instanceId
instance Data.ToHeaders DescribeUserHierarchyGroup where
toHeaders :: DescribeUserHierarchyGroup -> 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 DescribeUserHierarchyGroup where
toPath :: DescribeUserHierarchyGroup -> ByteString
toPath DescribeUserHierarchyGroup' {Text
instanceId :: Text
hierarchyGroupId :: Text
$sel:instanceId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
$sel:hierarchyGroupId:DescribeUserHierarchyGroup' :: DescribeUserHierarchyGroup -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/user-hierarchy-groups/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
hierarchyGroupId
]
instance Data.ToQuery DescribeUserHierarchyGroup where
toQuery :: DescribeUserHierarchyGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeUserHierarchyGroupResponse = DescribeUserHierarchyGroupResponse'
{
DescribeUserHierarchyGroupResponse -> Maybe HierarchyGroup
hierarchyGroup :: Prelude.Maybe HierarchyGroup,
DescribeUserHierarchyGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeUserHierarchyGroupResponse
-> DescribeUserHierarchyGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeUserHierarchyGroupResponse
-> DescribeUserHierarchyGroupResponse -> Bool
$c/= :: DescribeUserHierarchyGroupResponse
-> DescribeUserHierarchyGroupResponse -> Bool
== :: DescribeUserHierarchyGroupResponse
-> DescribeUserHierarchyGroupResponse -> Bool
$c== :: DescribeUserHierarchyGroupResponse
-> DescribeUserHierarchyGroupResponse -> Bool
Prelude.Eq, ReadPrec [DescribeUserHierarchyGroupResponse]
ReadPrec DescribeUserHierarchyGroupResponse
Int -> ReadS DescribeUserHierarchyGroupResponse
ReadS [DescribeUserHierarchyGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeUserHierarchyGroupResponse]
$creadListPrec :: ReadPrec [DescribeUserHierarchyGroupResponse]
readPrec :: ReadPrec DescribeUserHierarchyGroupResponse
$creadPrec :: ReadPrec DescribeUserHierarchyGroupResponse
readList :: ReadS [DescribeUserHierarchyGroupResponse]
$creadList :: ReadS [DescribeUserHierarchyGroupResponse]
readsPrec :: Int -> ReadS DescribeUserHierarchyGroupResponse
$creadsPrec :: Int -> ReadS DescribeUserHierarchyGroupResponse
Prelude.Read, Int -> DescribeUserHierarchyGroupResponse -> ShowS
[DescribeUserHierarchyGroupResponse] -> ShowS
DescribeUserHierarchyGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeUserHierarchyGroupResponse] -> ShowS
$cshowList :: [DescribeUserHierarchyGroupResponse] -> ShowS
show :: DescribeUserHierarchyGroupResponse -> String
$cshow :: DescribeUserHierarchyGroupResponse -> String
showsPrec :: Int -> DescribeUserHierarchyGroupResponse -> ShowS
$cshowsPrec :: Int -> DescribeUserHierarchyGroupResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeUserHierarchyGroupResponse x
-> DescribeUserHierarchyGroupResponse
forall x.
DescribeUserHierarchyGroupResponse
-> Rep DescribeUserHierarchyGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeUserHierarchyGroupResponse x
-> DescribeUserHierarchyGroupResponse
$cfrom :: forall x.
DescribeUserHierarchyGroupResponse
-> Rep DescribeUserHierarchyGroupResponse x
Prelude.Generic)
newDescribeUserHierarchyGroupResponse ::
Prelude.Int ->
DescribeUserHierarchyGroupResponse
newDescribeUserHierarchyGroupResponse :: Int -> DescribeUserHierarchyGroupResponse
newDescribeUserHierarchyGroupResponse Int
pHttpStatus_ =
DescribeUserHierarchyGroupResponse'
{ $sel:hierarchyGroup:DescribeUserHierarchyGroupResponse' :: Maybe HierarchyGroup
hierarchyGroup =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeUserHierarchyGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeUserHierarchyGroupResponse_hierarchyGroup :: Lens.Lens' DescribeUserHierarchyGroupResponse (Prelude.Maybe HierarchyGroup)
describeUserHierarchyGroupResponse_hierarchyGroup :: Lens' DescribeUserHierarchyGroupResponse (Maybe HierarchyGroup)
describeUserHierarchyGroupResponse_hierarchyGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserHierarchyGroupResponse' {Maybe HierarchyGroup
hierarchyGroup :: Maybe HierarchyGroup
$sel:hierarchyGroup:DescribeUserHierarchyGroupResponse' :: DescribeUserHierarchyGroupResponse -> Maybe HierarchyGroup
hierarchyGroup} -> Maybe HierarchyGroup
hierarchyGroup) (\s :: DescribeUserHierarchyGroupResponse
s@DescribeUserHierarchyGroupResponse' {} Maybe HierarchyGroup
a -> DescribeUserHierarchyGroupResponse
s {$sel:hierarchyGroup:DescribeUserHierarchyGroupResponse' :: Maybe HierarchyGroup
hierarchyGroup = Maybe HierarchyGroup
a} :: DescribeUserHierarchyGroupResponse)
describeUserHierarchyGroupResponse_httpStatus :: Lens.Lens' DescribeUserHierarchyGroupResponse Prelude.Int
describeUserHierarchyGroupResponse_httpStatus :: Lens' DescribeUserHierarchyGroupResponse Int
describeUserHierarchyGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeUserHierarchyGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeUserHierarchyGroupResponse' :: DescribeUserHierarchyGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeUserHierarchyGroupResponse
s@DescribeUserHierarchyGroupResponse' {} Int
a -> DescribeUserHierarchyGroupResponse
s {$sel:httpStatus:DescribeUserHierarchyGroupResponse' :: Int
httpStatus = Int
a} :: DescribeUserHierarchyGroupResponse)
instance
Prelude.NFData
DescribeUserHierarchyGroupResponse
where
rnf :: DescribeUserHierarchyGroupResponse -> ()
rnf DescribeUserHierarchyGroupResponse' {Int
Maybe HierarchyGroup
httpStatus :: Int
hierarchyGroup :: Maybe HierarchyGroup
$sel:httpStatus:DescribeUserHierarchyGroupResponse' :: DescribeUserHierarchyGroupResponse -> Int
$sel:hierarchyGroup:DescribeUserHierarchyGroupResponse' :: DescribeUserHierarchyGroupResponse -> Maybe HierarchyGroup
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe HierarchyGroup
hierarchyGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus