{-# 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.UpdateSipMediaApplication
(
UpdateSipMediaApplication (..),
newUpdateSipMediaApplication,
updateSipMediaApplication_endpoints,
updateSipMediaApplication_name,
updateSipMediaApplication_sipMediaApplicationId,
UpdateSipMediaApplicationResponse (..),
newUpdateSipMediaApplicationResponse,
updateSipMediaApplicationResponse_sipMediaApplication,
updateSipMediaApplicationResponse_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 UpdateSipMediaApplication = UpdateSipMediaApplication'
{ UpdateSipMediaApplication
-> Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints :: Prelude.Maybe (Prelude.NonEmpty SipMediaApplicationEndpoint),
UpdateSipMediaApplication -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateSipMediaApplication -> Text
sipMediaApplicationId :: Prelude.Text
}
deriving (UpdateSipMediaApplication -> UpdateSipMediaApplication -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateSipMediaApplication -> UpdateSipMediaApplication -> Bool
$c/= :: UpdateSipMediaApplication -> UpdateSipMediaApplication -> Bool
== :: UpdateSipMediaApplication -> UpdateSipMediaApplication -> Bool
$c== :: UpdateSipMediaApplication -> UpdateSipMediaApplication -> Bool
Prelude.Eq, Int -> UpdateSipMediaApplication -> ShowS
[UpdateSipMediaApplication] -> ShowS
UpdateSipMediaApplication -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateSipMediaApplication] -> ShowS
$cshowList :: [UpdateSipMediaApplication] -> ShowS
show :: UpdateSipMediaApplication -> String
$cshow :: UpdateSipMediaApplication -> String
showsPrec :: Int -> UpdateSipMediaApplication -> ShowS
$cshowsPrec :: Int -> UpdateSipMediaApplication -> ShowS
Prelude.Show, forall x.
Rep UpdateSipMediaApplication x -> UpdateSipMediaApplication
forall x.
UpdateSipMediaApplication -> Rep UpdateSipMediaApplication x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateSipMediaApplication x -> UpdateSipMediaApplication
$cfrom :: forall x.
UpdateSipMediaApplication -> Rep UpdateSipMediaApplication x
Prelude.Generic)
newUpdateSipMediaApplication ::
Prelude.Text ->
UpdateSipMediaApplication
newUpdateSipMediaApplication :: Text -> UpdateSipMediaApplication
newUpdateSipMediaApplication Text
pSipMediaApplicationId_ =
UpdateSipMediaApplication'
{ $sel:endpoints:UpdateSipMediaApplication' :: Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints =
forall a. Maybe a
Prelude.Nothing,
$sel:name:UpdateSipMediaApplication' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:sipMediaApplicationId:UpdateSipMediaApplication' :: Text
sipMediaApplicationId = Text
pSipMediaApplicationId_
}
updateSipMediaApplication_endpoints :: Lens.Lens' UpdateSipMediaApplication (Prelude.Maybe (Prelude.NonEmpty SipMediaApplicationEndpoint))
updateSipMediaApplication_endpoints :: Lens'
UpdateSipMediaApplication
(Maybe (NonEmpty SipMediaApplicationEndpoint))
updateSipMediaApplication_endpoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSipMediaApplication' {Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints :: Maybe (NonEmpty SipMediaApplicationEndpoint)
$sel:endpoints:UpdateSipMediaApplication' :: UpdateSipMediaApplication
-> Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints} -> Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints) (\s :: UpdateSipMediaApplication
s@UpdateSipMediaApplication' {} Maybe (NonEmpty SipMediaApplicationEndpoint)
a -> UpdateSipMediaApplication
s {$sel:endpoints:UpdateSipMediaApplication' :: Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints = Maybe (NonEmpty SipMediaApplicationEndpoint)
a} :: UpdateSipMediaApplication) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
updateSipMediaApplication_name :: Lens.Lens' UpdateSipMediaApplication (Prelude.Maybe Prelude.Text)
updateSipMediaApplication_name :: Lens' UpdateSipMediaApplication (Maybe Text)
updateSipMediaApplication_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSipMediaApplication' {Maybe Text
name :: Maybe Text
$sel:name:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateSipMediaApplication
s@UpdateSipMediaApplication' {} Maybe Text
a -> UpdateSipMediaApplication
s {$sel:name:UpdateSipMediaApplication' :: Maybe Text
name = Maybe Text
a} :: UpdateSipMediaApplication)
updateSipMediaApplication_sipMediaApplicationId :: Lens.Lens' UpdateSipMediaApplication Prelude.Text
updateSipMediaApplication_sipMediaApplicationId :: Lens' UpdateSipMediaApplication Text
updateSipMediaApplication_sipMediaApplicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSipMediaApplication' {Text
sipMediaApplicationId :: Text
$sel:sipMediaApplicationId:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Text
sipMediaApplicationId} -> Text
sipMediaApplicationId) (\s :: UpdateSipMediaApplication
s@UpdateSipMediaApplication' {} Text
a -> UpdateSipMediaApplication
s {$sel:sipMediaApplicationId:UpdateSipMediaApplication' :: Text
sipMediaApplicationId = Text
a} :: UpdateSipMediaApplication)
instance Core.AWSRequest UpdateSipMediaApplication where
type
AWSResponse UpdateSipMediaApplication =
UpdateSipMediaApplicationResponse
request :: (Service -> Service)
-> UpdateSipMediaApplication -> Request UpdateSipMediaApplication
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 UpdateSipMediaApplication
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateSipMediaApplication)))
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 SipMediaApplication
-> Int -> UpdateSipMediaApplicationResponse
UpdateSipMediaApplicationResponse'
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
"SipMediaApplication")
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 UpdateSipMediaApplication where
hashWithSalt :: Int -> UpdateSipMediaApplication -> Int
hashWithSalt Int
_salt UpdateSipMediaApplication' {Maybe (NonEmpty SipMediaApplicationEndpoint)
Maybe Text
Text
sipMediaApplicationId :: Text
name :: Maybe Text
endpoints :: Maybe (NonEmpty SipMediaApplicationEndpoint)
$sel:sipMediaApplicationId:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Text
$sel:name:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Maybe Text
$sel:endpoints:UpdateSipMediaApplication' :: UpdateSipMediaApplication
-> Maybe (NonEmpty SipMediaApplicationEndpoint)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sipMediaApplicationId
instance Prelude.NFData UpdateSipMediaApplication where
rnf :: UpdateSipMediaApplication -> ()
rnf UpdateSipMediaApplication' {Maybe (NonEmpty SipMediaApplicationEndpoint)
Maybe Text
Text
sipMediaApplicationId :: Text
name :: Maybe Text
endpoints :: Maybe (NonEmpty SipMediaApplicationEndpoint)
$sel:sipMediaApplicationId:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Text
$sel:name:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Maybe Text
$sel:endpoints:UpdateSipMediaApplication' :: UpdateSipMediaApplication
-> Maybe (NonEmpty SipMediaApplicationEndpoint)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty SipMediaApplicationEndpoint)
endpoints
seq :: forall a b. a -> b -> b
`Prelude.seq` 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
sipMediaApplicationId
instance Data.ToHeaders UpdateSipMediaApplication where
toHeaders :: UpdateSipMediaApplication -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON UpdateSipMediaApplication where
toJSON :: UpdateSipMediaApplication -> Value
toJSON UpdateSipMediaApplication' {Maybe (NonEmpty SipMediaApplicationEndpoint)
Maybe Text
Text
sipMediaApplicationId :: Text
name :: Maybe Text
endpoints :: Maybe (NonEmpty SipMediaApplicationEndpoint)
$sel:sipMediaApplicationId:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Text
$sel:name:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Maybe Text
$sel:endpoints:UpdateSipMediaApplication' :: UpdateSipMediaApplication
-> Maybe (NonEmpty SipMediaApplicationEndpoint)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Endpoints" 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 (NonEmpty SipMediaApplicationEndpoint)
endpoints,
(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
]
)
instance Data.ToPath UpdateSipMediaApplication where
toPath :: UpdateSipMediaApplication -> ByteString
toPath UpdateSipMediaApplication' {Maybe (NonEmpty SipMediaApplicationEndpoint)
Maybe Text
Text
sipMediaApplicationId :: Text
name :: Maybe Text
endpoints :: Maybe (NonEmpty SipMediaApplicationEndpoint)
$sel:sipMediaApplicationId:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Text
$sel:name:UpdateSipMediaApplication' :: UpdateSipMediaApplication -> Maybe Text
$sel:endpoints:UpdateSipMediaApplication' :: UpdateSipMediaApplication
-> Maybe (NonEmpty SipMediaApplicationEndpoint)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/sip-media-applications/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
sipMediaApplicationId
]
instance Data.ToQuery UpdateSipMediaApplication where
toQuery :: UpdateSipMediaApplication -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateSipMediaApplicationResponse = UpdateSipMediaApplicationResponse'
{ UpdateSipMediaApplicationResponse -> Maybe SipMediaApplication
sipMediaApplication :: Prelude.Maybe SipMediaApplication,
UpdateSipMediaApplicationResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateSipMediaApplicationResponse
-> UpdateSipMediaApplicationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateSipMediaApplicationResponse
-> UpdateSipMediaApplicationResponse -> Bool
$c/= :: UpdateSipMediaApplicationResponse
-> UpdateSipMediaApplicationResponse -> Bool
== :: UpdateSipMediaApplicationResponse
-> UpdateSipMediaApplicationResponse -> Bool
$c== :: UpdateSipMediaApplicationResponse
-> UpdateSipMediaApplicationResponse -> Bool
Prelude.Eq, Int -> UpdateSipMediaApplicationResponse -> ShowS
[UpdateSipMediaApplicationResponse] -> ShowS
UpdateSipMediaApplicationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateSipMediaApplicationResponse] -> ShowS
$cshowList :: [UpdateSipMediaApplicationResponse] -> ShowS
show :: UpdateSipMediaApplicationResponse -> String
$cshow :: UpdateSipMediaApplicationResponse -> String
showsPrec :: Int -> UpdateSipMediaApplicationResponse -> ShowS
$cshowsPrec :: Int -> UpdateSipMediaApplicationResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateSipMediaApplicationResponse x
-> UpdateSipMediaApplicationResponse
forall x.
UpdateSipMediaApplicationResponse
-> Rep UpdateSipMediaApplicationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateSipMediaApplicationResponse x
-> UpdateSipMediaApplicationResponse
$cfrom :: forall x.
UpdateSipMediaApplicationResponse
-> Rep UpdateSipMediaApplicationResponse x
Prelude.Generic)
newUpdateSipMediaApplicationResponse ::
Prelude.Int ->
UpdateSipMediaApplicationResponse
newUpdateSipMediaApplicationResponse :: Int -> UpdateSipMediaApplicationResponse
newUpdateSipMediaApplicationResponse Int
pHttpStatus_ =
UpdateSipMediaApplicationResponse'
{ $sel:sipMediaApplication:UpdateSipMediaApplicationResponse' :: Maybe SipMediaApplication
sipMediaApplication =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateSipMediaApplicationResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateSipMediaApplicationResponse_sipMediaApplication :: Lens.Lens' UpdateSipMediaApplicationResponse (Prelude.Maybe SipMediaApplication)
updateSipMediaApplicationResponse_sipMediaApplication :: Lens' UpdateSipMediaApplicationResponse (Maybe SipMediaApplication)
updateSipMediaApplicationResponse_sipMediaApplication = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSipMediaApplicationResponse' {Maybe SipMediaApplication
sipMediaApplication :: Maybe SipMediaApplication
$sel:sipMediaApplication:UpdateSipMediaApplicationResponse' :: UpdateSipMediaApplicationResponse -> Maybe SipMediaApplication
sipMediaApplication} -> Maybe SipMediaApplication
sipMediaApplication) (\s :: UpdateSipMediaApplicationResponse
s@UpdateSipMediaApplicationResponse' {} Maybe SipMediaApplication
a -> UpdateSipMediaApplicationResponse
s {$sel:sipMediaApplication:UpdateSipMediaApplicationResponse' :: Maybe SipMediaApplication
sipMediaApplication = Maybe SipMediaApplication
a} :: UpdateSipMediaApplicationResponse)
updateSipMediaApplicationResponse_httpStatus :: Lens.Lens' UpdateSipMediaApplicationResponse Prelude.Int
updateSipMediaApplicationResponse_httpStatus :: Lens' UpdateSipMediaApplicationResponse Int
updateSipMediaApplicationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSipMediaApplicationResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateSipMediaApplicationResponse' :: UpdateSipMediaApplicationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateSipMediaApplicationResponse
s@UpdateSipMediaApplicationResponse' {} Int
a -> UpdateSipMediaApplicationResponse
s {$sel:httpStatus:UpdateSipMediaApplicationResponse' :: Int
httpStatus = Int
a} :: UpdateSipMediaApplicationResponse)
instance
Prelude.NFData
UpdateSipMediaApplicationResponse
where
rnf :: UpdateSipMediaApplicationResponse -> ()
rnf UpdateSipMediaApplicationResponse' {Int
Maybe SipMediaApplication
httpStatus :: Int
sipMediaApplication :: Maybe SipMediaApplication
$sel:httpStatus:UpdateSipMediaApplicationResponse' :: UpdateSipMediaApplicationResponse -> Int
$sel:sipMediaApplication:UpdateSipMediaApplicationResponse' :: UpdateSipMediaApplicationResponse -> Maybe SipMediaApplication
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe SipMediaApplication
sipMediaApplication
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus