{-# 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.AlexaBusiness.UpdateRoom
(
UpdateRoom (..),
newUpdateRoom,
updateRoom_description,
updateRoom_profileArn,
updateRoom_providerCalendarId,
updateRoom_roomArn,
updateRoom_roomName,
UpdateRoomResponse (..),
newUpdateRoomResponse,
updateRoomResponse_httpStatus,
)
where
import Amazonka.AlexaBusiness.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 UpdateRoom = UpdateRoom'
{
UpdateRoom -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
UpdateRoom -> Maybe Text
profileArn :: Prelude.Maybe Prelude.Text,
UpdateRoom -> Maybe Text
providerCalendarId :: Prelude.Maybe Prelude.Text,
UpdateRoom -> Maybe Text
roomArn :: Prelude.Maybe Prelude.Text,
UpdateRoom -> Maybe Text
roomName :: Prelude.Maybe Prelude.Text
}
deriving (UpdateRoom -> UpdateRoom -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRoom -> UpdateRoom -> Bool
$c/= :: UpdateRoom -> UpdateRoom -> Bool
== :: UpdateRoom -> UpdateRoom -> Bool
$c== :: UpdateRoom -> UpdateRoom -> Bool
Prelude.Eq, ReadPrec [UpdateRoom]
ReadPrec UpdateRoom
Int -> ReadS UpdateRoom
ReadS [UpdateRoom]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRoom]
$creadListPrec :: ReadPrec [UpdateRoom]
readPrec :: ReadPrec UpdateRoom
$creadPrec :: ReadPrec UpdateRoom
readList :: ReadS [UpdateRoom]
$creadList :: ReadS [UpdateRoom]
readsPrec :: Int -> ReadS UpdateRoom
$creadsPrec :: Int -> ReadS UpdateRoom
Prelude.Read, Int -> UpdateRoom -> ShowS
[UpdateRoom] -> ShowS
UpdateRoom -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRoom] -> ShowS
$cshowList :: [UpdateRoom] -> ShowS
show :: UpdateRoom -> String
$cshow :: UpdateRoom -> String
showsPrec :: Int -> UpdateRoom -> ShowS
$cshowsPrec :: Int -> UpdateRoom -> ShowS
Prelude.Show, forall x. Rep UpdateRoom x -> UpdateRoom
forall x. UpdateRoom -> Rep UpdateRoom x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateRoom x -> UpdateRoom
$cfrom :: forall x. UpdateRoom -> Rep UpdateRoom x
Prelude.Generic)
newUpdateRoom ::
UpdateRoom
newUpdateRoom :: UpdateRoom
newUpdateRoom =
UpdateRoom'
{ $sel:description:UpdateRoom' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:profileArn:UpdateRoom' :: Maybe Text
profileArn = forall a. Maybe a
Prelude.Nothing,
$sel:providerCalendarId:UpdateRoom' :: Maybe Text
providerCalendarId = forall a. Maybe a
Prelude.Nothing,
$sel:roomArn:UpdateRoom' :: Maybe Text
roomArn = forall a. Maybe a
Prelude.Nothing,
$sel:roomName:UpdateRoom' :: Maybe Text
roomName = forall a. Maybe a
Prelude.Nothing
}
updateRoom_description :: Lens.Lens' UpdateRoom (Prelude.Maybe Prelude.Text)
updateRoom_description :: Lens' UpdateRoom (Maybe Text)
updateRoom_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoom' {Maybe Text
description :: Maybe Text
$sel:description:UpdateRoom' :: UpdateRoom -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateRoom
s@UpdateRoom' {} Maybe Text
a -> UpdateRoom
s {$sel:description:UpdateRoom' :: Maybe Text
description = Maybe Text
a} :: UpdateRoom)
updateRoom_profileArn :: Lens.Lens' UpdateRoom (Prelude.Maybe Prelude.Text)
updateRoom_profileArn :: Lens' UpdateRoom (Maybe Text)
updateRoom_profileArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoom' {Maybe Text
profileArn :: Maybe Text
$sel:profileArn:UpdateRoom' :: UpdateRoom -> Maybe Text
profileArn} -> Maybe Text
profileArn) (\s :: UpdateRoom
s@UpdateRoom' {} Maybe Text
a -> UpdateRoom
s {$sel:profileArn:UpdateRoom' :: Maybe Text
profileArn = Maybe Text
a} :: UpdateRoom)
updateRoom_providerCalendarId :: Lens.Lens' UpdateRoom (Prelude.Maybe Prelude.Text)
updateRoom_providerCalendarId :: Lens' UpdateRoom (Maybe Text)
updateRoom_providerCalendarId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoom' {Maybe Text
providerCalendarId :: Maybe Text
$sel:providerCalendarId:UpdateRoom' :: UpdateRoom -> Maybe Text
providerCalendarId} -> Maybe Text
providerCalendarId) (\s :: UpdateRoom
s@UpdateRoom' {} Maybe Text
a -> UpdateRoom
s {$sel:providerCalendarId:UpdateRoom' :: Maybe Text
providerCalendarId = Maybe Text
a} :: UpdateRoom)
updateRoom_roomArn :: Lens.Lens' UpdateRoom (Prelude.Maybe Prelude.Text)
updateRoom_roomArn :: Lens' UpdateRoom (Maybe Text)
updateRoom_roomArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoom' {Maybe Text
roomArn :: Maybe Text
$sel:roomArn:UpdateRoom' :: UpdateRoom -> Maybe Text
roomArn} -> Maybe Text
roomArn) (\s :: UpdateRoom
s@UpdateRoom' {} Maybe Text
a -> UpdateRoom
s {$sel:roomArn:UpdateRoom' :: Maybe Text
roomArn = Maybe Text
a} :: UpdateRoom)
updateRoom_roomName :: Lens.Lens' UpdateRoom (Prelude.Maybe Prelude.Text)
updateRoom_roomName :: Lens' UpdateRoom (Maybe Text)
updateRoom_roomName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoom' {Maybe Text
roomName :: Maybe Text
$sel:roomName:UpdateRoom' :: UpdateRoom -> Maybe Text
roomName} -> Maybe Text
roomName) (\s :: UpdateRoom
s@UpdateRoom' {} Maybe Text
a -> UpdateRoom
s {$sel:roomName:UpdateRoom' :: Maybe Text
roomName = Maybe Text
a} :: UpdateRoom)
instance Core.AWSRequest UpdateRoom where
type AWSResponse UpdateRoom = UpdateRoomResponse
request :: (Service -> Service) -> UpdateRoom -> Request UpdateRoom
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 UpdateRoom
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateRoom)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> UpdateRoomResponse
UpdateRoomResponse'
forall (f :: * -> *) a b. Functor 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 UpdateRoom where
hashWithSalt :: Int -> UpdateRoom -> Int
hashWithSalt Int
_salt UpdateRoom' {Maybe Text
roomName :: Maybe Text
roomArn :: Maybe Text
providerCalendarId :: Maybe Text
profileArn :: Maybe Text
description :: Maybe Text
$sel:roomName:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:roomArn:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:providerCalendarId:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:profileArn:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:description:UpdateRoom' :: UpdateRoom -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
profileArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
providerCalendarId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
roomArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
roomName
instance Prelude.NFData UpdateRoom where
rnf :: UpdateRoom -> ()
rnf UpdateRoom' {Maybe Text
roomName :: Maybe Text
roomArn :: Maybe Text
providerCalendarId :: Maybe Text
profileArn :: Maybe Text
description :: Maybe Text
$sel:roomName:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:roomArn:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:providerCalendarId:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:profileArn:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:description:UpdateRoom' :: UpdateRoom -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
profileArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
providerCalendarId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roomArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roomName
instance Data.ToHeaders UpdateRoom where
toHeaders :: UpdateRoom -> 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
"AlexaForBusiness.UpdateRoom" ::
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 UpdateRoom where
toJSON :: UpdateRoom -> Value
toJSON UpdateRoom' {Maybe Text
roomName :: Maybe Text
roomArn :: Maybe Text
providerCalendarId :: Maybe Text
profileArn :: Maybe Text
description :: Maybe Text
$sel:roomName:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:roomArn:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:providerCalendarId:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:profileArn:UpdateRoom' :: UpdateRoom -> Maybe Text
$sel:description:UpdateRoom' :: UpdateRoom -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Description" 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
description,
(Key
"ProfileArn" 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
profileArn,
(Key
"ProviderCalendarId" 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
providerCalendarId,
(Key
"RoomArn" 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
roomArn,
(Key
"RoomName" 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
roomName
]
)
instance Data.ToPath UpdateRoom where
toPath :: UpdateRoom -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateRoom where
toQuery :: UpdateRoom -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateRoomResponse = UpdateRoomResponse'
{
UpdateRoomResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateRoomResponse -> UpdateRoomResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRoomResponse -> UpdateRoomResponse -> Bool
$c/= :: UpdateRoomResponse -> UpdateRoomResponse -> Bool
== :: UpdateRoomResponse -> UpdateRoomResponse -> Bool
$c== :: UpdateRoomResponse -> UpdateRoomResponse -> Bool
Prelude.Eq, ReadPrec [UpdateRoomResponse]
ReadPrec UpdateRoomResponse
Int -> ReadS UpdateRoomResponse
ReadS [UpdateRoomResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRoomResponse]
$creadListPrec :: ReadPrec [UpdateRoomResponse]
readPrec :: ReadPrec UpdateRoomResponse
$creadPrec :: ReadPrec UpdateRoomResponse
readList :: ReadS [UpdateRoomResponse]
$creadList :: ReadS [UpdateRoomResponse]
readsPrec :: Int -> ReadS UpdateRoomResponse
$creadsPrec :: Int -> ReadS UpdateRoomResponse
Prelude.Read, Int -> UpdateRoomResponse -> ShowS
[UpdateRoomResponse] -> ShowS
UpdateRoomResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRoomResponse] -> ShowS
$cshowList :: [UpdateRoomResponse] -> ShowS
show :: UpdateRoomResponse -> String
$cshow :: UpdateRoomResponse -> String
showsPrec :: Int -> UpdateRoomResponse -> ShowS
$cshowsPrec :: Int -> UpdateRoomResponse -> ShowS
Prelude.Show, forall x. Rep UpdateRoomResponse x -> UpdateRoomResponse
forall x. UpdateRoomResponse -> Rep UpdateRoomResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateRoomResponse x -> UpdateRoomResponse
$cfrom :: forall x. UpdateRoomResponse -> Rep UpdateRoomResponse x
Prelude.Generic)
newUpdateRoomResponse ::
Prelude.Int ->
UpdateRoomResponse
newUpdateRoomResponse :: Int -> UpdateRoomResponse
newUpdateRoomResponse Int
pHttpStatus_ =
UpdateRoomResponse' {$sel:httpStatus:UpdateRoomResponse' :: Int
httpStatus = Int
pHttpStatus_}
updateRoomResponse_httpStatus :: Lens.Lens' UpdateRoomResponse Prelude.Int
updateRoomResponse_httpStatus :: Lens' UpdateRoomResponse Int
updateRoomResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoomResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateRoomResponse' :: UpdateRoomResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateRoomResponse
s@UpdateRoomResponse' {} Int
a -> UpdateRoomResponse
s {$sel:httpStatus:UpdateRoomResponse' :: Int
httpStatus = Int
a} :: UpdateRoomResponse)
instance Prelude.NFData UpdateRoomResponse where
rnf :: UpdateRoomResponse -> ()
rnf UpdateRoomResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateRoomResponse' :: UpdateRoomResponse -> Int
..} = forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus