{-# 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.ChimeSdkVoice.UpdateVoiceConnectorGroup
(
UpdateVoiceConnectorGroup (..),
newUpdateVoiceConnectorGroup,
updateVoiceConnectorGroup_voiceConnectorGroupId,
updateVoiceConnectorGroup_name,
updateVoiceConnectorGroup_voiceConnectorItems,
UpdateVoiceConnectorGroupResponse (..),
newUpdateVoiceConnectorGroupResponse,
updateVoiceConnectorGroupResponse_voiceConnectorGroup,
updateVoiceConnectorGroupResponse_httpStatus,
)
where
import Amazonka.ChimeSdkVoice.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 UpdateVoiceConnectorGroup = UpdateVoiceConnectorGroup'
{ UpdateVoiceConnectorGroup -> Text
voiceConnectorGroupId :: Prelude.Text,
UpdateVoiceConnectorGroup -> Text
name :: Prelude.Text,
UpdateVoiceConnectorGroup -> [VoiceConnectorItem]
voiceConnectorItems :: [VoiceConnectorItem]
}
deriving (UpdateVoiceConnectorGroup -> UpdateVoiceConnectorGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVoiceConnectorGroup -> UpdateVoiceConnectorGroup -> Bool
$c/= :: UpdateVoiceConnectorGroup -> UpdateVoiceConnectorGroup -> Bool
== :: UpdateVoiceConnectorGroup -> UpdateVoiceConnectorGroup -> Bool
$c== :: UpdateVoiceConnectorGroup -> UpdateVoiceConnectorGroup -> Bool
Prelude.Eq, ReadPrec [UpdateVoiceConnectorGroup]
ReadPrec UpdateVoiceConnectorGroup
Int -> ReadS UpdateVoiceConnectorGroup
ReadS [UpdateVoiceConnectorGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVoiceConnectorGroup]
$creadListPrec :: ReadPrec [UpdateVoiceConnectorGroup]
readPrec :: ReadPrec UpdateVoiceConnectorGroup
$creadPrec :: ReadPrec UpdateVoiceConnectorGroup
readList :: ReadS [UpdateVoiceConnectorGroup]
$creadList :: ReadS [UpdateVoiceConnectorGroup]
readsPrec :: Int -> ReadS UpdateVoiceConnectorGroup
$creadsPrec :: Int -> ReadS UpdateVoiceConnectorGroup
Prelude.Read, Int -> UpdateVoiceConnectorGroup -> ShowS
[UpdateVoiceConnectorGroup] -> ShowS
UpdateVoiceConnectorGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVoiceConnectorGroup] -> ShowS
$cshowList :: [UpdateVoiceConnectorGroup] -> ShowS
show :: UpdateVoiceConnectorGroup -> String
$cshow :: UpdateVoiceConnectorGroup -> String
showsPrec :: Int -> UpdateVoiceConnectorGroup -> ShowS
$cshowsPrec :: Int -> UpdateVoiceConnectorGroup -> ShowS
Prelude.Show, forall x.
Rep UpdateVoiceConnectorGroup x -> UpdateVoiceConnectorGroup
forall x.
UpdateVoiceConnectorGroup -> Rep UpdateVoiceConnectorGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateVoiceConnectorGroup x -> UpdateVoiceConnectorGroup
$cfrom :: forall x.
UpdateVoiceConnectorGroup -> Rep UpdateVoiceConnectorGroup x
Prelude.Generic)
newUpdateVoiceConnectorGroup ::
Prelude.Text ->
Prelude.Text ->
UpdateVoiceConnectorGroup
newUpdateVoiceConnectorGroup :: Text -> Text -> UpdateVoiceConnectorGroup
newUpdateVoiceConnectorGroup
Text
pVoiceConnectorGroupId_
Text
pName_ =
UpdateVoiceConnectorGroup'
{ $sel:voiceConnectorGroupId:UpdateVoiceConnectorGroup' :: Text
voiceConnectorGroupId =
Text
pVoiceConnectorGroupId_,
$sel:name:UpdateVoiceConnectorGroup' :: Text
name = Text
pName_,
$sel:voiceConnectorItems:UpdateVoiceConnectorGroup' :: [VoiceConnectorItem]
voiceConnectorItems = forall a. Monoid a => a
Prelude.mempty
}
updateVoiceConnectorGroup_voiceConnectorGroupId :: Lens.Lens' UpdateVoiceConnectorGroup Prelude.Text
updateVoiceConnectorGroup_voiceConnectorGroupId :: Lens' UpdateVoiceConnectorGroup Text
updateVoiceConnectorGroup_voiceConnectorGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVoiceConnectorGroup' {Text
voiceConnectorGroupId :: Text
$sel:voiceConnectorGroupId:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
voiceConnectorGroupId} -> Text
voiceConnectorGroupId) (\s :: UpdateVoiceConnectorGroup
s@UpdateVoiceConnectorGroup' {} Text
a -> UpdateVoiceConnectorGroup
s {$sel:voiceConnectorGroupId:UpdateVoiceConnectorGroup' :: Text
voiceConnectorGroupId = Text
a} :: UpdateVoiceConnectorGroup)
updateVoiceConnectorGroup_name :: Lens.Lens' UpdateVoiceConnectorGroup Prelude.Text
updateVoiceConnectorGroup_name :: Lens' UpdateVoiceConnectorGroup Text
updateVoiceConnectorGroup_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVoiceConnectorGroup' {Text
name :: Text
$sel:name:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
name} -> Text
name) (\s :: UpdateVoiceConnectorGroup
s@UpdateVoiceConnectorGroup' {} Text
a -> UpdateVoiceConnectorGroup
s {$sel:name:UpdateVoiceConnectorGroup' :: Text
name = Text
a} :: UpdateVoiceConnectorGroup)
updateVoiceConnectorGroup_voiceConnectorItems :: Lens.Lens' UpdateVoiceConnectorGroup [VoiceConnectorItem]
updateVoiceConnectorGroup_voiceConnectorItems :: Lens' UpdateVoiceConnectorGroup [VoiceConnectorItem]
updateVoiceConnectorGroup_voiceConnectorItems = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVoiceConnectorGroup' {[VoiceConnectorItem]
voiceConnectorItems :: [VoiceConnectorItem]
$sel:voiceConnectorItems:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> [VoiceConnectorItem]
voiceConnectorItems} -> [VoiceConnectorItem]
voiceConnectorItems) (\s :: UpdateVoiceConnectorGroup
s@UpdateVoiceConnectorGroup' {} [VoiceConnectorItem]
a -> UpdateVoiceConnectorGroup
s {$sel:voiceConnectorItems:UpdateVoiceConnectorGroup' :: [VoiceConnectorItem]
voiceConnectorItems = [VoiceConnectorItem]
a} :: UpdateVoiceConnectorGroup) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest UpdateVoiceConnectorGroup where
type
AWSResponse UpdateVoiceConnectorGroup =
UpdateVoiceConnectorGroupResponse
request :: (Service -> Service)
-> UpdateVoiceConnectorGroup -> Request UpdateVoiceConnectorGroup
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 UpdateVoiceConnectorGroup
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateVoiceConnectorGroup)))
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 VoiceConnectorGroup
-> Int -> UpdateVoiceConnectorGroupResponse
UpdateVoiceConnectorGroupResponse'
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
"VoiceConnectorGroup")
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 UpdateVoiceConnectorGroup where
hashWithSalt :: Int -> UpdateVoiceConnectorGroup -> Int
hashWithSalt Int
_salt UpdateVoiceConnectorGroup' {[VoiceConnectorItem]
Text
voiceConnectorItems :: [VoiceConnectorItem]
name :: Text
voiceConnectorGroupId :: Text
$sel:voiceConnectorItems:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> [VoiceConnectorItem]
$sel:name:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
$sel:voiceConnectorGroupId:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
voiceConnectorGroupId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [VoiceConnectorItem]
voiceConnectorItems
instance Prelude.NFData UpdateVoiceConnectorGroup where
rnf :: UpdateVoiceConnectorGroup -> ()
rnf UpdateVoiceConnectorGroup' {[VoiceConnectorItem]
Text
voiceConnectorItems :: [VoiceConnectorItem]
name :: Text
voiceConnectorGroupId :: Text
$sel:voiceConnectorItems:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> [VoiceConnectorItem]
$sel:name:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
$sel:voiceConnectorGroupId:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
voiceConnectorGroupId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [VoiceConnectorItem]
voiceConnectorItems
instance Data.ToHeaders UpdateVoiceConnectorGroup where
toHeaders :: UpdateVoiceConnectorGroup -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON UpdateVoiceConnectorGroup where
toJSON :: UpdateVoiceConnectorGroup -> Value
toJSON UpdateVoiceConnectorGroup' {[VoiceConnectorItem]
Text
voiceConnectorItems :: [VoiceConnectorItem]
name :: Text
voiceConnectorGroupId :: Text
$sel:voiceConnectorItems:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> [VoiceConnectorItem]
$sel:name:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
$sel:voiceConnectorGroupId:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just
(Key
"VoiceConnectorItems" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [VoiceConnectorItem]
voiceConnectorItems)
]
)
instance Data.ToPath UpdateVoiceConnectorGroup where
toPath :: UpdateVoiceConnectorGroup -> ByteString
toPath UpdateVoiceConnectorGroup' {[VoiceConnectorItem]
Text
voiceConnectorItems :: [VoiceConnectorItem]
name :: Text
voiceConnectorGroupId :: Text
$sel:voiceConnectorItems:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> [VoiceConnectorItem]
$sel:name:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
$sel:voiceConnectorGroupId:UpdateVoiceConnectorGroup' :: UpdateVoiceConnectorGroup -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/voice-connector-groups/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
voiceConnectorGroupId
]
instance Data.ToQuery UpdateVoiceConnectorGroup where
toQuery :: UpdateVoiceConnectorGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateVoiceConnectorGroupResponse = UpdateVoiceConnectorGroupResponse'
{ UpdateVoiceConnectorGroupResponse -> Maybe VoiceConnectorGroup
voiceConnectorGroup :: Prelude.Maybe VoiceConnectorGroup,
UpdateVoiceConnectorGroupResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateVoiceConnectorGroupResponse
-> UpdateVoiceConnectorGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateVoiceConnectorGroupResponse
-> UpdateVoiceConnectorGroupResponse -> Bool
$c/= :: UpdateVoiceConnectorGroupResponse
-> UpdateVoiceConnectorGroupResponse -> Bool
== :: UpdateVoiceConnectorGroupResponse
-> UpdateVoiceConnectorGroupResponse -> Bool
$c== :: UpdateVoiceConnectorGroupResponse
-> UpdateVoiceConnectorGroupResponse -> Bool
Prelude.Eq, ReadPrec [UpdateVoiceConnectorGroupResponse]
ReadPrec UpdateVoiceConnectorGroupResponse
Int -> ReadS UpdateVoiceConnectorGroupResponse
ReadS [UpdateVoiceConnectorGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateVoiceConnectorGroupResponse]
$creadListPrec :: ReadPrec [UpdateVoiceConnectorGroupResponse]
readPrec :: ReadPrec UpdateVoiceConnectorGroupResponse
$creadPrec :: ReadPrec UpdateVoiceConnectorGroupResponse
readList :: ReadS [UpdateVoiceConnectorGroupResponse]
$creadList :: ReadS [UpdateVoiceConnectorGroupResponse]
readsPrec :: Int -> ReadS UpdateVoiceConnectorGroupResponse
$creadsPrec :: Int -> ReadS UpdateVoiceConnectorGroupResponse
Prelude.Read, Int -> UpdateVoiceConnectorGroupResponse -> ShowS
[UpdateVoiceConnectorGroupResponse] -> ShowS
UpdateVoiceConnectorGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateVoiceConnectorGroupResponse] -> ShowS
$cshowList :: [UpdateVoiceConnectorGroupResponse] -> ShowS
show :: UpdateVoiceConnectorGroupResponse -> String
$cshow :: UpdateVoiceConnectorGroupResponse -> String
showsPrec :: Int -> UpdateVoiceConnectorGroupResponse -> ShowS
$cshowsPrec :: Int -> UpdateVoiceConnectorGroupResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateVoiceConnectorGroupResponse x
-> UpdateVoiceConnectorGroupResponse
forall x.
UpdateVoiceConnectorGroupResponse
-> Rep UpdateVoiceConnectorGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateVoiceConnectorGroupResponse x
-> UpdateVoiceConnectorGroupResponse
$cfrom :: forall x.
UpdateVoiceConnectorGroupResponse
-> Rep UpdateVoiceConnectorGroupResponse x
Prelude.Generic)
newUpdateVoiceConnectorGroupResponse ::
Prelude.Int ->
UpdateVoiceConnectorGroupResponse
newUpdateVoiceConnectorGroupResponse :: Int -> UpdateVoiceConnectorGroupResponse
newUpdateVoiceConnectorGroupResponse Int
pHttpStatus_ =
UpdateVoiceConnectorGroupResponse'
{ $sel:voiceConnectorGroup:UpdateVoiceConnectorGroupResponse' :: Maybe VoiceConnectorGroup
voiceConnectorGroup =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateVoiceConnectorGroupResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateVoiceConnectorGroupResponse_voiceConnectorGroup :: Lens.Lens' UpdateVoiceConnectorGroupResponse (Prelude.Maybe VoiceConnectorGroup)
updateVoiceConnectorGroupResponse_voiceConnectorGroup :: Lens' UpdateVoiceConnectorGroupResponse (Maybe VoiceConnectorGroup)
updateVoiceConnectorGroupResponse_voiceConnectorGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVoiceConnectorGroupResponse' {Maybe VoiceConnectorGroup
voiceConnectorGroup :: Maybe VoiceConnectorGroup
$sel:voiceConnectorGroup:UpdateVoiceConnectorGroupResponse' :: UpdateVoiceConnectorGroupResponse -> Maybe VoiceConnectorGroup
voiceConnectorGroup} -> Maybe VoiceConnectorGroup
voiceConnectorGroup) (\s :: UpdateVoiceConnectorGroupResponse
s@UpdateVoiceConnectorGroupResponse' {} Maybe VoiceConnectorGroup
a -> UpdateVoiceConnectorGroupResponse
s {$sel:voiceConnectorGroup:UpdateVoiceConnectorGroupResponse' :: Maybe VoiceConnectorGroup
voiceConnectorGroup = Maybe VoiceConnectorGroup
a} :: UpdateVoiceConnectorGroupResponse)
updateVoiceConnectorGroupResponse_httpStatus :: Lens.Lens' UpdateVoiceConnectorGroupResponse Prelude.Int
updateVoiceConnectorGroupResponse_httpStatus :: Lens' UpdateVoiceConnectorGroupResponse Int
updateVoiceConnectorGroupResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateVoiceConnectorGroupResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateVoiceConnectorGroupResponse' :: UpdateVoiceConnectorGroupResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateVoiceConnectorGroupResponse
s@UpdateVoiceConnectorGroupResponse' {} Int
a -> UpdateVoiceConnectorGroupResponse
s {$sel:httpStatus:UpdateVoiceConnectorGroupResponse' :: Int
httpStatus = Int
a} :: UpdateVoiceConnectorGroupResponse)
instance
Prelude.NFData
UpdateVoiceConnectorGroupResponse
where
rnf :: UpdateVoiceConnectorGroupResponse -> ()
rnf UpdateVoiceConnectorGroupResponse' {Int
Maybe VoiceConnectorGroup
httpStatus :: Int
voiceConnectorGroup :: Maybe VoiceConnectorGroup
$sel:httpStatus:UpdateVoiceConnectorGroupResponse' :: UpdateVoiceConnectorGroupResponse -> Int
$sel:voiceConnectorGroup:UpdateVoiceConnectorGroupResponse' :: UpdateVoiceConnectorGroupResponse -> Maybe VoiceConnectorGroup
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe VoiceConnectorGroup
voiceConnectorGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus