{-# 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.Organizations.DescribeOrganizationalUnit
(
DescribeOrganizationalUnit (..),
newDescribeOrganizationalUnit,
describeOrganizationalUnit_organizationalUnitId,
DescribeOrganizationalUnitResponse (..),
newDescribeOrganizationalUnitResponse,
describeOrganizationalUnitResponse_organizationalUnit,
describeOrganizationalUnitResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Organizations.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeOrganizationalUnit = DescribeOrganizationalUnit'
{
DescribeOrganizationalUnit -> Text
organizationalUnitId :: Prelude.Text
}
deriving (DescribeOrganizationalUnit -> DescribeOrganizationalUnit -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeOrganizationalUnit -> DescribeOrganizationalUnit -> Bool
$c/= :: DescribeOrganizationalUnit -> DescribeOrganizationalUnit -> Bool
== :: DescribeOrganizationalUnit -> DescribeOrganizationalUnit -> Bool
$c== :: DescribeOrganizationalUnit -> DescribeOrganizationalUnit -> Bool
Prelude.Eq, ReadPrec [DescribeOrganizationalUnit]
ReadPrec DescribeOrganizationalUnit
Int -> ReadS DescribeOrganizationalUnit
ReadS [DescribeOrganizationalUnit]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeOrganizationalUnit]
$creadListPrec :: ReadPrec [DescribeOrganizationalUnit]
readPrec :: ReadPrec DescribeOrganizationalUnit
$creadPrec :: ReadPrec DescribeOrganizationalUnit
readList :: ReadS [DescribeOrganizationalUnit]
$creadList :: ReadS [DescribeOrganizationalUnit]
readsPrec :: Int -> ReadS DescribeOrganizationalUnit
$creadsPrec :: Int -> ReadS DescribeOrganizationalUnit
Prelude.Read, Int -> DescribeOrganizationalUnit -> ShowS
[DescribeOrganizationalUnit] -> ShowS
DescribeOrganizationalUnit -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeOrganizationalUnit] -> ShowS
$cshowList :: [DescribeOrganizationalUnit] -> ShowS
show :: DescribeOrganizationalUnit -> String
$cshow :: DescribeOrganizationalUnit -> String
showsPrec :: Int -> DescribeOrganizationalUnit -> ShowS
$cshowsPrec :: Int -> DescribeOrganizationalUnit -> ShowS
Prelude.Show, forall x.
Rep DescribeOrganizationalUnit x -> DescribeOrganizationalUnit
forall x.
DescribeOrganizationalUnit -> Rep DescribeOrganizationalUnit x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeOrganizationalUnit x -> DescribeOrganizationalUnit
$cfrom :: forall x.
DescribeOrganizationalUnit -> Rep DescribeOrganizationalUnit x
Prelude.Generic)
newDescribeOrganizationalUnit ::
Prelude.Text ->
DescribeOrganizationalUnit
newDescribeOrganizationalUnit :: Text -> DescribeOrganizationalUnit
newDescribeOrganizationalUnit Text
pOrganizationalUnitId_ =
DescribeOrganizationalUnit'
{ $sel:organizationalUnitId:DescribeOrganizationalUnit' :: Text
organizationalUnitId =
Text
pOrganizationalUnitId_
}
describeOrganizationalUnit_organizationalUnitId :: Lens.Lens' DescribeOrganizationalUnit Prelude.Text
describeOrganizationalUnit_organizationalUnitId :: Lens' DescribeOrganizationalUnit Text
describeOrganizationalUnit_organizationalUnitId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOrganizationalUnit' {Text
organizationalUnitId :: Text
$sel:organizationalUnitId:DescribeOrganizationalUnit' :: DescribeOrganizationalUnit -> Text
organizationalUnitId} -> Text
organizationalUnitId) (\s :: DescribeOrganizationalUnit
s@DescribeOrganizationalUnit' {} Text
a -> DescribeOrganizationalUnit
s {$sel:organizationalUnitId:DescribeOrganizationalUnit' :: Text
organizationalUnitId = Text
a} :: DescribeOrganizationalUnit)
instance Core.AWSRequest DescribeOrganizationalUnit where
type
AWSResponse DescribeOrganizationalUnit =
DescribeOrganizationalUnitResponse
request :: (Service -> Service)
-> DescribeOrganizationalUnit -> Request DescribeOrganizationalUnit
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeOrganizationalUnit
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeOrganizationalUnit)))
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 OrganizationalUnit
-> Int -> DescribeOrganizationalUnitResponse
DescribeOrganizationalUnitResponse'
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
"OrganizationalUnit")
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 DescribeOrganizationalUnit where
hashWithSalt :: Int -> DescribeOrganizationalUnit -> Int
hashWithSalt Int
_salt DescribeOrganizationalUnit' {Text
organizationalUnitId :: Text
$sel:organizationalUnitId:DescribeOrganizationalUnit' :: DescribeOrganizationalUnit -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
organizationalUnitId
instance Prelude.NFData DescribeOrganizationalUnit where
rnf :: DescribeOrganizationalUnit -> ()
rnf DescribeOrganizationalUnit' {Text
organizationalUnitId :: Text
$sel:organizationalUnitId:DescribeOrganizationalUnit' :: DescribeOrganizationalUnit -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
organizationalUnitId
instance Data.ToHeaders DescribeOrganizationalUnit where
toHeaders :: DescribeOrganizationalUnit -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSOrganizationsV20161128.DescribeOrganizationalUnit" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeOrganizationalUnit where
toJSON :: DescribeOrganizationalUnit -> Value
toJSON DescribeOrganizationalUnit' {Text
organizationalUnitId :: Text
$sel:organizationalUnitId:DescribeOrganizationalUnit' :: DescribeOrganizationalUnit -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"OrganizationalUnitId"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
organizationalUnitId
)
]
)
instance Data.ToPath DescribeOrganizationalUnit where
toPath :: DescribeOrganizationalUnit -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeOrganizationalUnit where
toQuery :: DescribeOrganizationalUnit -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeOrganizationalUnitResponse = DescribeOrganizationalUnitResponse'
{
DescribeOrganizationalUnitResponse -> Maybe OrganizationalUnit
organizationalUnit :: Prelude.Maybe OrganizationalUnit,
DescribeOrganizationalUnitResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeOrganizationalUnitResponse
-> DescribeOrganizationalUnitResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeOrganizationalUnitResponse
-> DescribeOrganizationalUnitResponse -> Bool
$c/= :: DescribeOrganizationalUnitResponse
-> DescribeOrganizationalUnitResponse -> Bool
== :: DescribeOrganizationalUnitResponse
-> DescribeOrganizationalUnitResponse -> Bool
$c== :: DescribeOrganizationalUnitResponse
-> DescribeOrganizationalUnitResponse -> Bool
Prelude.Eq, ReadPrec [DescribeOrganizationalUnitResponse]
ReadPrec DescribeOrganizationalUnitResponse
Int -> ReadS DescribeOrganizationalUnitResponse
ReadS [DescribeOrganizationalUnitResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeOrganizationalUnitResponse]
$creadListPrec :: ReadPrec [DescribeOrganizationalUnitResponse]
readPrec :: ReadPrec DescribeOrganizationalUnitResponse
$creadPrec :: ReadPrec DescribeOrganizationalUnitResponse
readList :: ReadS [DescribeOrganizationalUnitResponse]
$creadList :: ReadS [DescribeOrganizationalUnitResponse]
readsPrec :: Int -> ReadS DescribeOrganizationalUnitResponse
$creadsPrec :: Int -> ReadS DescribeOrganizationalUnitResponse
Prelude.Read, Int -> DescribeOrganizationalUnitResponse -> ShowS
[DescribeOrganizationalUnitResponse] -> ShowS
DescribeOrganizationalUnitResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeOrganizationalUnitResponse] -> ShowS
$cshowList :: [DescribeOrganizationalUnitResponse] -> ShowS
show :: DescribeOrganizationalUnitResponse -> String
$cshow :: DescribeOrganizationalUnitResponse -> String
showsPrec :: Int -> DescribeOrganizationalUnitResponse -> ShowS
$cshowsPrec :: Int -> DescribeOrganizationalUnitResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeOrganizationalUnitResponse x
-> DescribeOrganizationalUnitResponse
forall x.
DescribeOrganizationalUnitResponse
-> Rep DescribeOrganizationalUnitResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeOrganizationalUnitResponse x
-> DescribeOrganizationalUnitResponse
$cfrom :: forall x.
DescribeOrganizationalUnitResponse
-> Rep DescribeOrganizationalUnitResponse x
Prelude.Generic)
newDescribeOrganizationalUnitResponse ::
Prelude.Int ->
DescribeOrganizationalUnitResponse
newDescribeOrganizationalUnitResponse :: Int -> DescribeOrganizationalUnitResponse
newDescribeOrganizationalUnitResponse Int
pHttpStatus_ =
DescribeOrganizationalUnitResponse'
{ $sel:organizationalUnit:DescribeOrganizationalUnitResponse' :: Maybe OrganizationalUnit
organizationalUnit =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeOrganizationalUnitResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeOrganizationalUnitResponse_organizationalUnit :: Lens.Lens' DescribeOrganizationalUnitResponse (Prelude.Maybe OrganizationalUnit)
describeOrganizationalUnitResponse_organizationalUnit :: Lens' DescribeOrganizationalUnitResponse (Maybe OrganizationalUnit)
describeOrganizationalUnitResponse_organizationalUnit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOrganizationalUnitResponse' {Maybe OrganizationalUnit
organizationalUnit :: Maybe OrganizationalUnit
$sel:organizationalUnit:DescribeOrganizationalUnitResponse' :: DescribeOrganizationalUnitResponse -> Maybe OrganizationalUnit
organizationalUnit} -> Maybe OrganizationalUnit
organizationalUnit) (\s :: DescribeOrganizationalUnitResponse
s@DescribeOrganizationalUnitResponse' {} Maybe OrganizationalUnit
a -> DescribeOrganizationalUnitResponse
s {$sel:organizationalUnit:DescribeOrganizationalUnitResponse' :: Maybe OrganizationalUnit
organizationalUnit = Maybe OrganizationalUnit
a} :: DescribeOrganizationalUnitResponse)
describeOrganizationalUnitResponse_httpStatus :: Lens.Lens' DescribeOrganizationalUnitResponse Prelude.Int
describeOrganizationalUnitResponse_httpStatus :: Lens' DescribeOrganizationalUnitResponse Int
describeOrganizationalUnitResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOrganizationalUnitResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeOrganizationalUnitResponse' :: DescribeOrganizationalUnitResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeOrganizationalUnitResponse
s@DescribeOrganizationalUnitResponse' {} Int
a -> DescribeOrganizationalUnitResponse
s {$sel:httpStatus:DescribeOrganizationalUnitResponse' :: Int
httpStatus = Int
a} :: DescribeOrganizationalUnitResponse)
instance
Prelude.NFData
DescribeOrganizationalUnitResponse
where
rnf :: DescribeOrganizationalUnitResponse -> ()
rnf DescribeOrganizationalUnitResponse' {Int
Maybe OrganizationalUnit
httpStatus :: Int
organizationalUnit :: Maybe OrganizationalUnit
$sel:httpStatus:DescribeOrganizationalUnitResponse' :: DescribeOrganizationalUnitResponse -> Int
$sel:organizationalUnit:DescribeOrganizationalUnitResponse' :: DescribeOrganizationalUnitResponse -> Maybe OrganizationalUnit
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe OrganizationalUnit
organizationalUnit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus