{-# 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.ChimeSdkMeetings.UpdateAttendeeCapabilities
(
UpdateAttendeeCapabilities (..),
newUpdateAttendeeCapabilities,
updateAttendeeCapabilities_meetingId,
updateAttendeeCapabilities_attendeeId,
updateAttendeeCapabilities_capabilities,
UpdateAttendeeCapabilitiesResponse (..),
newUpdateAttendeeCapabilitiesResponse,
updateAttendeeCapabilitiesResponse_attendee,
updateAttendeeCapabilitiesResponse_httpStatus,
)
where
import Amazonka.ChimeSdkMeetings.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 UpdateAttendeeCapabilities = UpdateAttendeeCapabilities'
{
UpdateAttendeeCapabilities -> Text
meetingId :: Prelude.Text,
UpdateAttendeeCapabilities -> Text
attendeeId :: Prelude.Text,
UpdateAttendeeCapabilities -> AttendeeCapabilities
capabilities :: AttendeeCapabilities
}
deriving (UpdateAttendeeCapabilities -> UpdateAttendeeCapabilities -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAttendeeCapabilities -> UpdateAttendeeCapabilities -> Bool
$c/= :: UpdateAttendeeCapabilities -> UpdateAttendeeCapabilities -> Bool
== :: UpdateAttendeeCapabilities -> UpdateAttendeeCapabilities -> Bool
$c== :: UpdateAttendeeCapabilities -> UpdateAttendeeCapabilities -> Bool
Prelude.Eq, ReadPrec [UpdateAttendeeCapabilities]
ReadPrec UpdateAttendeeCapabilities
Int -> ReadS UpdateAttendeeCapabilities
ReadS [UpdateAttendeeCapabilities]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAttendeeCapabilities]
$creadListPrec :: ReadPrec [UpdateAttendeeCapabilities]
readPrec :: ReadPrec UpdateAttendeeCapabilities
$creadPrec :: ReadPrec UpdateAttendeeCapabilities
readList :: ReadS [UpdateAttendeeCapabilities]
$creadList :: ReadS [UpdateAttendeeCapabilities]
readsPrec :: Int -> ReadS UpdateAttendeeCapabilities
$creadsPrec :: Int -> ReadS UpdateAttendeeCapabilities
Prelude.Read, Int -> UpdateAttendeeCapabilities -> ShowS
[UpdateAttendeeCapabilities] -> ShowS
UpdateAttendeeCapabilities -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAttendeeCapabilities] -> ShowS
$cshowList :: [UpdateAttendeeCapabilities] -> ShowS
show :: UpdateAttendeeCapabilities -> String
$cshow :: UpdateAttendeeCapabilities -> String
showsPrec :: Int -> UpdateAttendeeCapabilities -> ShowS
$cshowsPrec :: Int -> UpdateAttendeeCapabilities -> ShowS
Prelude.Show, forall x.
Rep UpdateAttendeeCapabilities x -> UpdateAttendeeCapabilities
forall x.
UpdateAttendeeCapabilities -> Rep UpdateAttendeeCapabilities x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAttendeeCapabilities x -> UpdateAttendeeCapabilities
$cfrom :: forall x.
UpdateAttendeeCapabilities -> Rep UpdateAttendeeCapabilities x
Prelude.Generic)
newUpdateAttendeeCapabilities ::
Prelude.Text ->
Prelude.Text ->
AttendeeCapabilities ->
UpdateAttendeeCapabilities
newUpdateAttendeeCapabilities :: Text -> Text -> AttendeeCapabilities -> UpdateAttendeeCapabilities
newUpdateAttendeeCapabilities
Text
pMeetingId_
Text
pAttendeeId_
AttendeeCapabilities
pCapabilities_ =
UpdateAttendeeCapabilities'
{ $sel:meetingId:UpdateAttendeeCapabilities' :: Text
meetingId =
Text
pMeetingId_,
$sel:attendeeId:UpdateAttendeeCapabilities' :: Text
attendeeId = Text
pAttendeeId_,
$sel:capabilities:UpdateAttendeeCapabilities' :: AttendeeCapabilities
capabilities = AttendeeCapabilities
pCapabilities_
}
updateAttendeeCapabilities_meetingId :: Lens.Lens' UpdateAttendeeCapabilities Prelude.Text
updateAttendeeCapabilities_meetingId :: Lens' UpdateAttendeeCapabilities Text
updateAttendeeCapabilities_meetingId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAttendeeCapabilities' {Text
meetingId :: Text
$sel:meetingId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
meetingId} -> Text
meetingId) (\s :: UpdateAttendeeCapabilities
s@UpdateAttendeeCapabilities' {} Text
a -> UpdateAttendeeCapabilities
s {$sel:meetingId:UpdateAttendeeCapabilities' :: Text
meetingId = Text
a} :: UpdateAttendeeCapabilities)
updateAttendeeCapabilities_attendeeId :: Lens.Lens' UpdateAttendeeCapabilities Prelude.Text
updateAttendeeCapabilities_attendeeId :: Lens' UpdateAttendeeCapabilities Text
updateAttendeeCapabilities_attendeeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAttendeeCapabilities' {Text
attendeeId :: Text
$sel:attendeeId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
attendeeId} -> Text
attendeeId) (\s :: UpdateAttendeeCapabilities
s@UpdateAttendeeCapabilities' {} Text
a -> UpdateAttendeeCapabilities
s {$sel:attendeeId:UpdateAttendeeCapabilities' :: Text
attendeeId = Text
a} :: UpdateAttendeeCapabilities)
updateAttendeeCapabilities_capabilities :: Lens.Lens' UpdateAttendeeCapabilities AttendeeCapabilities
updateAttendeeCapabilities_capabilities :: Lens' UpdateAttendeeCapabilities AttendeeCapabilities
updateAttendeeCapabilities_capabilities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAttendeeCapabilities' {AttendeeCapabilities
capabilities :: AttendeeCapabilities
$sel:capabilities:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> AttendeeCapabilities
capabilities} -> AttendeeCapabilities
capabilities) (\s :: UpdateAttendeeCapabilities
s@UpdateAttendeeCapabilities' {} AttendeeCapabilities
a -> UpdateAttendeeCapabilities
s {$sel:capabilities:UpdateAttendeeCapabilities' :: AttendeeCapabilities
capabilities = AttendeeCapabilities
a} :: UpdateAttendeeCapabilities)
instance Core.AWSRequest UpdateAttendeeCapabilities where
type
AWSResponse UpdateAttendeeCapabilities =
UpdateAttendeeCapabilitiesResponse
request :: (Service -> Service)
-> UpdateAttendeeCapabilities -> Request UpdateAttendeeCapabilities
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateAttendeeCapabilities
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateAttendeeCapabilities)))
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 Attendee -> Int -> UpdateAttendeeCapabilitiesResponse
UpdateAttendeeCapabilitiesResponse'
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
"Attendee")
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 UpdateAttendeeCapabilities where
hashWithSalt :: Int -> UpdateAttendeeCapabilities -> Int
hashWithSalt Int
_salt UpdateAttendeeCapabilities' {Text
AttendeeCapabilities
capabilities :: AttendeeCapabilities
attendeeId :: Text
meetingId :: Text
$sel:capabilities:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> AttendeeCapabilities
$sel:attendeeId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
$sel:meetingId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
meetingId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
attendeeId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AttendeeCapabilities
capabilities
instance Prelude.NFData UpdateAttendeeCapabilities where
rnf :: UpdateAttendeeCapabilities -> ()
rnf UpdateAttendeeCapabilities' {Text
AttendeeCapabilities
capabilities :: AttendeeCapabilities
attendeeId :: Text
meetingId :: Text
$sel:capabilities:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> AttendeeCapabilities
$sel:attendeeId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
$sel:meetingId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
meetingId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
attendeeId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AttendeeCapabilities
capabilities
instance Data.ToHeaders UpdateAttendeeCapabilities where
toHeaders :: UpdateAttendeeCapabilities -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON UpdateAttendeeCapabilities where
toJSON :: UpdateAttendeeCapabilities -> Value
toJSON UpdateAttendeeCapabilities' {Text
AttendeeCapabilities
capabilities :: AttendeeCapabilities
attendeeId :: Text
meetingId :: Text
$sel:capabilities:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> AttendeeCapabilities
$sel:attendeeId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
$sel:meetingId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"Capabilities" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= AttendeeCapabilities
capabilities)]
)
instance Data.ToPath UpdateAttendeeCapabilities where
toPath :: UpdateAttendeeCapabilities -> ByteString
toPath UpdateAttendeeCapabilities' {Text
AttendeeCapabilities
capabilities :: AttendeeCapabilities
attendeeId :: Text
meetingId :: Text
$sel:capabilities:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> AttendeeCapabilities
$sel:attendeeId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
$sel:meetingId:UpdateAttendeeCapabilities' :: UpdateAttendeeCapabilities -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/meetings/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
meetingId,
ByteString
"/attendees/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
attendeeId,
ByteString
"/capabilities"
]
instance Data.ToQuery UpdateAttendeeCapabilities where
toQuery :: UpdateAttendeeCapabilities -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateAttendeeCapabilitiesResponse = UpdateAttendeeCapabilitiesResponse'
{
UpdateAttendeeCapabilitiesResponse -> Maybe Attendee
attendee :: Prelude.Maybe Attendee,
UpdateAttendeeCapabilitiesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateAttendeeCapabilitiesResponse
-> UpdateAttendeeCapabilitiesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAttendeeCapabilitiesResponse
-> UpdateAttendeeCapabilitiesResponse -> Bool
$c/= :: UpdateAttendeeCapabilitiesResponse
-> UpdateAttendeeCapabilitiesResponse -> Bool
== :: UpdateAttendeeCapabilitiesResponse
-> UpdateAttendeeCapabilitiesResponse -> Bool
$c== :: UpdateAttendeeCapabilitiesResponse
-> UpdateAttendeeCapabilitiesResponse -> Bool
Prelude.Eq, Int -> UpdateAttendeeCapabilitiesResponse -> ShowS
[UpdateAttendeeCapabilitiesResponse] -> ShowS
UpdateAttendeeCapabilitiesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAttendeeCapabilitiesResponse] -> ShowS
$cshowList :: [UpdateAttendeeCapabilitiesResponse] -> ShowS
show :: UpdateAttendeeCapabilitiesResponse -> String
$cshow :: UpdateAttendeeCapabilitiesResponse -> String
showsPrec :: Int -> UpdateAttendeeCapabilitiesResponse -> ShowS
$cshowsPrec :: Int -> UpdateAttendeeCapabilitiesResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateAttendeeCapabilitiesResponse x
-> UpdateAttendeeCapabilitiesResponse
forall x.
UpdateAttendeeCapabilitiesResponse
-> Rep UpdateAttendeeCapabilitiesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAttendeeCapabilitiesResponse x
-> UpdateAttendeeCapabilitiesResponse
$cfrom :: forall x.
UpdateAttendeeCapabilitiesResponse
-> Rep UpdateAttendeeCapabilitiesResponse x
Prelude.Generic)
newUpdateAttendeeCapabilitiesResponse ::
Prelude.Int ->
UpdateAttendeeCapabilitiesResponse
newUpdateAttendeeCapabilitiesResponse :: Int -> UpdateAttendeeCapabilitiesResponse
newUpdateAttendeeCapabilitiesResponse Int
pHttpStatus_ =
UpdateAttendeeCapabilitiesResponse'
{ $sel:attendee:UpdateAttendeeCapabilitiesResponse' :: Maybe Attendee
attendee =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateAttendeeCapabilitiesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateAttendeeCapabilitiesResponse_attendee :: Lens.Lens' UpdateAttendeeCapabilitiesResponse (Prelude.Maybe Attendee)
updateAttendeeCapabilitiesResponse_attendee :: Lens' UpdateAttendeeCapabilitiesResponse (Maybe Attendee)
updateAttendeeCapabilitiesResponse_attendee = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAttendeeCapabilitiesResponse' {Maybe Attendee
attendee :: Maybe Attendee
$sel:attendee:UpdateAttendeeCapabilitiesResponse' :: UpdateAttendeeCapabilitiesResponse -> Maybe Attendee
attendee} -> Maybe Attendee
attendee) (\s :: UpdateAttendeeCapabilitiesResponse
s@UpdateAttendeeCapabilitiesResponse' {} Maybe Attendee
a -> UpdateAttendeeCapabilitiesResponse
s {$sel:attendee:UpdateAttendeeCapabilitiesResponse' :: Maybe Attendee
attendee = Maybe Attendee
a} :: UpdateAttendeeCapabilitiesResponse)
updateAttendeeCapabilitiesResponse_httpStatus :: Lens.Lens' UpdateAttendeeCapabilitiesResponse Prelude.Int
updateAttendeeCapabilitiesResponse_httpStatus :: Lens' UpdateAttendeeCapabilitiesResponse Int
updateAttendeeCapabilitiesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAttendeeCapabilitiesResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateAttendeeCapabilitiesResponse' :: UpdateAttendeeCapabilitiesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateAttendeeCapabilitiesResponse
s@UpdateAttendeeCapabilitiesResponse' {} Int
a -> UpdateAttendeeCapabilitiesResponse
s {$sel:httpStatus:UpdateAttendeeCapabilitiesResponse' :: Int
httpStatus = Int
a} :: UpdateAttendeeCapabilitiesResponse)
instance
Prelude.NFData
UpdateAttendeeCapabilitiesResponse
where
rnf :: UpdateAttendeeCapabilitiesResponse -> ()
rnf UpdateAttendeeCapabilitiesResponse' {Int
Maybe Attendee
httpStatus :: Int
attendee :: Maybe Attendee
$sel:httpStatus:UpdateAttendeeCapabilitiesResponse' :: UpdateAttendeeCapabilitiesResponse -> Int
$sel:attendee:UpdateAttendeeCapabilitiesResponse' :: UpdateAttendeeCapabilitiesResponse -> Maybe Attendee
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Attendee
attendee
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus