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