{-# 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.UpdateOrganizationalUnit
(
UpdateOrganizationalUnit (..),
newUpdateOrganizationalUnit,
updateOrganizationalUnit_name,
updateOrganizationalUnit_organizationalUnitId,
UpdateOrganizationalUnitResponse (..),
newUpdateOrganizationalUnitResponse,
updateOrganizationalUnitResponse_organizationalUnit,
updateOrganizationalUnitResponse_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 UpdateOrganizationalUnit = UpdateOrganizationalUnit'
{
UpdateOrganizationalUnit -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateOrganizationalUnit -> Text
organizationalUnitId :: Prelude.Text
}
deriving (UpdateOrganizationalUnit -> UpdateOrganizationalUnit -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateOrganizationalUnit -> UpdateOrganizationalUnit -> Bool
$c/= :: UpdateOrganizationalUnit -> UpdateOrganizationalUnit -> Bool
== :: UpdateOrganizationalUnit -> UpdateOrganizationalUnit -> Bool
$c== :: UpdateOrganizationalUnit -> UpdateOrganizationalUnit -> Bool
Prelude.Eq, ReadPrec [UpdateOrganizationalUnit]
ReadPrec UpdateOrganizationalUnit
Int -> ReadS UpdateOrganizationalUnit
ReadS [UpdateOrganizationalUnit]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateOrganizationalUnit]
$creadListPrec :: ReadPrec [UpdateOrganizationalUnit]
readPrec :: ReadPrec UpdateOrganizationalUnit
$creadPrec :: ReadPrec UpdateOrganizationalUnit
readList :: ReadS [UpdateOrganizationalUnit]
$creadList :: ReadS [UpdateOrganizationalUnit]
readsPrec :: Int -> ReadS UpdateOrganizationalUnit
$creadsPrec :: Int -> ReadS UpdateOrganizationalUnit
Prelude.Read, Int -> UpdateOrganizationalUnit -> ShowS
[UpdateOrganizationalUnit] -> ShowS
UpdateOrganizationalUnit -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateOrganizationalUnit] -> ShowS
$cshowList :: [UpdateOrganizationalUnit] -> ShowS
show :: UpdateOrganizationalUnit -> String
$cshow :: UpdateOrganizationalUnit -> String
showsPrec :: Int -> UpdateOrganizationalUnit -> ShowS
$cshowsPrec :: Int -> UpdateOrganizationalUnit -> ShowS
Prelude.Show, forall x.
Rep UpdateOrganizationalUnit x -> UpdateOrganizationalUnit
forall x.
UpdateOrganizationalUnit -> Rep UpdateOrganizationalUnit x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateOrganizationalUnit x -> UpdateOrganizationalUnit
$cfrom :: forall x.
UpdateOrganizationalUnit -> Rep UpdateOrganizationalUnit x
Prelude.Generic)
newUpdateOrganizationalUnit ::
Prelude.Text ->
UpdateOrganizationalUnit
newUpdateOrganizationalUnit :: Text -> UpdateOrganizationalUnit
newUpdateOrganizationalUnit Text
pOrganizationalUnitId_ =
UpdateOrganizationalUnit'
{ $sel:name:UpdateOrganizationalUnit' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:organizationalUnitId:UpdateOrganizationalUnit' :: Text
organizationalUnitId = Text
pOrganizationalUnitId_
}
updateOrganizationalUnit_name :: Lens.Lens' UpdateOrganizationalUnit (Prelude.Maybe Prelude.Text)
updateOrganizationalUnit_name :: Lens' UpdateOrganizationalUnit (Maybe Text)
updateOrganizationalUnit_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOrganizationalUnit' {Maybe Text
name :: Maybe Text
$sel:name:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateOrganizationalUnit
s@UpdateOrganizationalUnit' {} Maybe Text
a -> UpdateOrganizationalUnit
s {$sel:name:UpdateOrganizationalUnit' :: Maybe Text
name = Maybe Text
a} :: UpdateOrganizationalUnit)
updateOrganizationalUnit_organizationalUnitId :: Lens.Lens' UpdateOrganizationalUnit Prelude.Text
updateOrganizationalUnit_organizationalUnitId :: Lens' UpdateOrganizationalUnit Text
updateOrganizationalUnit_organizationalUnitId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOrganizationalUnit' {Text
organizationalUnitId :: Text
$sel:organizationalUnitId:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Text
organizationalUnitId} -> Text
organizationalUnitId) (\s :: UpdateOrganizationalUnit
s@UpdateOrganizationalUnit' {} Text
a -> UpdateOrganizationalUnit
s {$sel:organizationalUnitId:UpdateOrganizationalUnit' :: Text
organizationalUnitId = Text
a} :: UpdateOrganizationalUnit)
instance Core.AWSRequest UpdateOrganizationalUnit where
type
AWSResponse UpdateOrganizationalUnit =
UpdateOrganizationalUnitResponse
request :: (Service -> Service)
-> UpdateOrganizationalUnit -> Request UpdateOrganizationalUnit
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 UpdateOrganizationalUnit
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateOrganizationalUnit)))
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 -> UpdateOrganizationalUnitResponse
UpdateOrganizationalUnitResponse'
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 UpdateOrganizationalUnit where
hashWithSalt :: Int -> UpdateOrganizationalUnit -> Int
hashWithSalt Int
_salt UpdateOrganizationalUnit' {Maybe Text
Text
organizationalUnitId :: Text
name :: Maybe Text
$sel:organizationalUnitId:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Text
$sel:name:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
organizationalUnitId
instance Prelude.NFData UpdateOrganizationalUnit where
rnf :: UpdateOrganizationalUnit -> ()
rnf UpdateOrganizationalUnit' {Maybe Text
Text
organizationalUnitId :: Text
name :: Maybe Text
$sel:organizationalUnitId:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Text
$sel:name:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
organizationalUnitId
instance Data.ToHeaders UpdateOrganizationalUnit where
toHeaders :: UpdateOrganizationalUnit -> 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.UpdateOrganizationalUnit" ::
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 UpdateOrganizationalUnit where
toJSON :: UpdateOrganizationalUnit -> Value
toJSON UpdateOrganizationalUnit' {Maybe Text
Text
organizationalUnitId :: Text
name :: Maybe Text
$sel:organizationalUnitId:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Text
$sel:name:UpdateOrganizationalUnit' :: UpdateOrganizationalUnit -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
name,
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 UpdateOrganizationalUnit where
toPath :: UpdateOrganizationalUnit -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateOrganizationalUnit where
toQuery :: UpdateOrganizationalUnit -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateOrganizationalUnitResponse = UpdateOrganizationalUnitResponse'
{
UpdateOrganizationalUnitResponse -> Maybe OrganizationalUnit
organizationalUnit :: Prelude.Maybe OrganizationalUnit,
UpdateOrganizationalUnitResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateOrganizationalUnitResponse
-> UpdateOrganizationalUnitResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateOrganizationalUnitResponse
-> UpdateOrganizationalUnitResponse -> Bool
$c/= :: UpdateOrganizationalUnitResponse
-> UpdateOrganizationalUnitResponse -> Bool
== :: UpdateOrganizationalUnitResponse
-> UpdateOrganizationalUnitResponse -> Bool
$c== :: UpdateOrganizationalUnitResponse
-> UpdateOrganizationalUnitResponse -> Bool
Prelude.Eq, ReadPrec [UpdateOrganizationalUnitResponse]
ReadPrec UpdateOrganizationalUnitResponse
Int -> ReadS UpdateOrganizationalUnitResponse
ReadS [UpdateOrganizationalUnitResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateOrganizationalUnitResponse]
$creadListPrec :: ReadPrec [UpdateOrganizationalUnitResponse]
readPrec :: ReadPrec UpdateOrganizationalUnitResponse
$creadPrec :: ReadPrec UpdateOrganizationalUnitResponse
readList :: ReadS [UpdateOrganizationalUnitResponse]
$creadList :: ReadS [UpdateOrganizationalUnitResponse]
readsPrec :: Int -> ReadS UpdateOrganizationalUnitResponse
$creadsPrec :: Int -> ReadS UpdateOrganizationalUnitResponse
Prelude.Read, Int -> UpdateOrganizationalUnitResponse -> ShowS
[UpdateOrganizationalUnitResponse] -> ShowS
UpdateOrganizationalUnitResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateOrganizationalUnitResponse] -> ShowS
$cshowList :: [UpdateOrganizationalUnitResponse] -> ShowS
show :: UpdateOrganizationalUnitResponse -> String
$cshow :: UpdateOrganizationalUnitResponse -> String
showsPrec :: Int -> UpdateOrganizationalUnitResponse -> ShowS
$cshowsPrec :: Int -> UpdateOrganizationalUnitResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateOrganizationalUnitResponse x
-> UpdateOrganizationalUnitResponse
forall x.
UpdateOrganizationalUnitResponse
-> Rep UpdateOrganizationalUnitResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateOrganizationalUnitResponse x
-> UpdateOrganizationalUnitResponse
$cfrom :: forall x.
UpdateOrganizationalUnitResponse
-> Rep UpdateOrganizationalUnitResponse x
Prelude.Generic)
newUpdateOrganizationalUnitResponse ::
Prelude.Int ->
UpdateOrganizationalUnitResponse
newUpdateOrganizationalUnitResponse :: Int -> UpdateOrganizationalUnitResponse
newUpdateOrganizationalUnitResponse Int
pHttpStatus_ =
UpdateOrganizationalUnitResponse'
{ $sel:organizationalUnit:UpdateOrganizationalUnitResponse' :: Maybe OrganizationalUnit
organizationalUnit =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateOrganizationalUnitResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateOrganizationalUnitResponse_organizationalUnit :: Lens.Lens' UpdateOrganizationalUnitResponse (Prelude.Maybe OrganizationalUnit)
updateOrganizationalUnitResponse_organizationalUnit :: Lens' UpdateOrganizationalUnitResponse (Maybe OrganizationalUnit)
updateOrganizationalUnitResponse_organizationalUnit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOrganizationalUnitResponse' {Maybe OrganizationalUnit
organizationalUnit :: Maybe OrganizationalUnit
$sel:organizationalUnit:UpdateOrganizationalUnitResponse' :: UpdateOrganizationalUnitResponse -> Maybe OrganizationalUnit
organizationalUnit} -> Maybe OrganizationalUnit
organizationalUnit) (\s :: UpdateOrganizationalUnitResponse
s@UpdateOrganizationalUnitResponse' {} Maybe OrganizationalUnit
a -> UpdateOrganizationalUnitResponse
s {$sel:organizationalUnit:UpdateOrganizationalUnitResponse' :: Maybe OrganizationalUnit
organizationalUnit = Maybe OrganizationalUnit
a} :: UpdateOrganizationalUnitResponse)
updateOrganizationalUnitResponse_httpStatus :: Lens.Lens' UpdateOrganizationalUnitResponse Prelude.Int
updateOrganizationalUnitResponse_httpStatus :: Lens' UpdateOrganizationalUnitResponse Int
updateOrganizationalUnitResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateOrganizationalUnitResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateOrganizationalUnitResponse' :: UpdateOrganizationalUnitResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateOrganizationalUnitResponse
s@UpdateOrganizationalUnitResponse' {} Int
a -> UpdateOrganizationalUnitResponse
s {$sel:httpStatus:UpdateOrganizationalUnitResponse' :: Int
httpStatus = Int
a} :: UpdateOrganizationalUnitResponse)
instance
Prelude.NFData
UpdateOrganizationalUnitResponse
where
rnf :: UpdateOrganizationalUnitResponse -> ()
rnf UpdateOrganizationalUnitResponse' {Int
Maybe OrganizationalUnit
httpStatus :: Int
organizationalUnit :: Maybe OrganizationalUnit
$sel:httpStatus:UpdateOrganizationalUnitResponse' :: UpdateOrganizationalUnitResponse -> Int
$sel:organizationalUnit:UpdateOrganizationalUnitResponse' :: UpdateOrganizationalUnitResponse -> 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