{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Chime.PutSipMediaApplicationLoggingConfiguration
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the logging configuration for the specified SIP media
-- application.
module Amazonka.Chime.PutSipMediaApplicationLoggingConfiguration
  ( -- * Creating a Request
    PutSipMediaApplicationLoggingConfiguration (..),
    newPutSipMediaApplicationLoggingConfiguration,

    -- * Request Lenses
    putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration,
    putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId,

    -- * Destructuring the Response
    PutSipMediaApplicationLoggingConfigurationResponse (..),
    newPutSipMediaApplicationLoggingConfigurationResponse,

    -- * Response Lenses
    putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration,
    putSipMediaApplicationLoggingConfigurationResponse_httpStatus,
  )
where

import Amazonka.Chime.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newPutSipMediaApplicationLoggingConfiguration' smart constructor.
data PutSipMediaApplicationLoggingConfiguration = PutSipMediaApplicationLoggingConfiguration'
  { -- | The actual logging configuration.
    PutSipMediaApplicationLoggingConfiguration
-> Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration :: Prelude.Maybe SipMediaApplicationLoggingConfiguration,
    -- | The SIP media application ID.
    PutSipMediaApplicationLoggingConfiguration -> Text
sipMediaApplicationId :: Prelude.Text
  }
  deriving (PutSipMediaApplicationLoggingConfiguration
-> PutSipMediaApplicationLoggingConfiguration -> Bool
(PutSipMediaApplicationLoggingConfiguration
 -> PutSipMediaApplicationLoggingConfiguration -> Bool)
-> (PutSipMediaApplicationLoggingConfiguration
    -> PutSipMediaApplicationLoggingConfiguration -> Bool)
-> Eq PutSipMediaApplicationLoggingConfiguration
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutSipMediaApplicationLoggingConfiguration
-> PutSipMediaApplicationLoggingConfiguration -> Bool
$c/= :: PutSipMediaApplicationLoggingConfiguration
-> PutSipMediaApplicationLoggingConfiguration -> Bool
== :: PutSipMediaApplicationLoggingConfiguration
-> PutSipMediaApplicationLoggingConfiguration -> Bool
$c== :: PutSipMediaApplicationLoggingConfiguration
-> PutSipMediaApplicationLoggingConfiguration -> Bool
Prelude.Eq, ReadPrec [PutSipMediaApplicationLoggingConfiguration]
ReadPrec PutSipMediaApplicationLoggingConfiguration
Int -> ReadS PutSipMediaApplicationLoggingConfiguration
ReadS [PutSipMediaApplicationLoggingConfiguration]
(Int -> ReadS PutSipMediaApplicationLoggingConfiguration)
-> ReadS [PutSipMediaApplicationLoggingConfiguration]
-> ReadPrec PutSipMediaApplicationLoggingConfiguration
-> ReadPrec [PutSipMediaApplicationLoggingConfiguration]
-> Read PutSipMediaApplicationLoggingConfiguration
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutSipMediaApplicationLoggingConfiguration]
$creadListPrec :: ReadPrec [PutSipMediaApplicationLoggingConfiguration]
readPrec :: ReadPrec PutSipMediaApplicationLoggingConfiguration
$creadPrec :: ReadPrec PutSipMediaApplicationLoggingConfiguration
readList :: ReadS [PutSipMediaApplicationLoggingConfiguration]
$creadList :: ReadS [PutSipMediaApplicationLoggingConfiguration]
readsPrec :: Int -> ReadS PutSipMediaApplicationLoggingConfiguration
$creadsPrec :: Int -> ReadS PutSipMediaApplicationLoggingConfiguration
Prelude.Read, Int -> PutSipMediaApplicationLoggingConfiguration -> ShowS
[PutSipMediaApplicationLoggingConfiguration] -> ShowS
PutSipMediaApplicationLoggingConfiguration -> String
(Int -> PutSipMediaApplicationLoggingConfiguration -> ShowS)
-> (PutSipMediaApplicationLoggingConfiguration -> String)
-> ([PutSipMediaApplicationLoggingConfiguration] -> ShowS)
-> Show PutSipMediaApplicationLoggingConfiguration
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutSipMediaApplicationLoggingConfiguration] -> ShowS
$cshowList :: [PutSipMediaApplicationLoggingConfiguration] -> ShowS
show :: PutSipMediaApplicationLoggingConfiguration -> String
$cshow :: PutSipMediaApplicationLoggingConfiguration -> String
showsPrec :: Int -> PutSipMediaApplicationLoggingConfiguration -> ShowS
$cshowsPrec :: Int -> PutSipMediaApplicationLoggingConfiguration -> ShowS
Prelude.Show, (forall x.
 PutSipMediaApplicationLoggingConfiguration
 -> Rep PutSipMediaApplicationLoggingConfiguration x)
-> (forall x.
    Rep PutSipMediaApplicationLoggingConfiguration x
    -> PutSipMediaApplicationLoggingConfiguration)
-> Generic PutSipMediaApplicationLoggingConfiguration
forall x.
Rep PutSipMediaApplicationLoggingConfiguration x
-> PutSipMediaApplicationLoggingConfiguration
forall x.
PutSipMediaApplicationLoggingConfiguration
-> Rep PutSipMediaApplicationLoggingConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutSipMediaApplicationLoggingConfiguration x
-> PutSipMediaApplicationLoggingConfiguration
$cfrom :: forall x.
PutSipMediaApplicationLoggingConfiguration
-> Rep PutSipMediaApplicationLoggingConfiguration x
Prelude.Generic)

-- |
-- Create a value of 'PutSipMediaApplicationLoggingConfiguration' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'sipMediaApplicationLoggingConfiguration', 'putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration' - The actual logging configuration.
--
-- 'sipMediaApplicationId', 'putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId' - The SIP media application ID.
newPutSipMediaApplicationLoggingConfiguration ::
  -- | 'sipMediaApplicationId'
  Prelude.Text ->
  PutSipMediaApplicationLoggingConfiguration
newPutSipMediaApplicationLoggingConfiguration :: Text -> PutSipMediaApplicationLoggingConfiguration
newPutSipMediaApplicationLoggingConfiguration
  Text
pSipMediaApplicationId_ =
    PutSipMediaApplicationLoggingConfiguration' :: Maybe SipMediaApplicationLoggingConfiguration
-> Text -> PutSipMediaApplicationLoggingConfiguration
PutSipMediaApplicationLoggingConfiguration'
      { $sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfiguration' :: Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration =
          Maybe SipMediaApplicationLoggingConfiguration
forall a. Maybe a
Prelude.Nothing,
        $sel:sipMediaApplicationId:PutSipMediaApplicationLoggingConfiguration' :: Text
sipMediaApplicationId =
          Text
pSipMediaApplicationId_
      }

-- | The actual logging configuration.
putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration :: Lens.Lens' PutSipMediaApplicationLoggingConfiguration (Prelude.Maybe SipMediaApplicationLoggingConfiguration)
putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration :: (Maybe SipMediaApplicationLoggingConfiguration
 -> f (Maybe SipMediaApplicationLoggingConfiguration))
-> PutSipMediaApplicationLoggingConfiguration
-> f PutSipMediaApplicationLoggingConfiguration
putSipMediaApplicationLoggingConfiguration_sipMediaApplicationLoggingConfiguration = (PutSipMediaApplicationLoggingConfiguration
 -> Maybe SipMediaApplicationLoggingConfiguration)
-> (PutSipMediaApplicationLoggingConfiguration
    -> Maybe SipMediaApplicationLoggingConfiguration
    -> PutSipMediaApplicationLoggingConfiguration)
-> Lens
     PutSipMediaApplicationLoggingConfiguration
     PutSipMediaApplicationLoggingConfiguration
     (Maybe SipMediaApplicationLoggingConfiguration)
     (Maybe SipMediaApplicationLoggingConfiguration)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutSipMediaApplicationLoggingConfiguration' {Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration :: Maybe SipMediaApplicationLoggingConfiguration
$sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfiguration' :: PutSipMediaApplicationLoggingConfiguration
-> Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration} -> Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration) (\s :: PutSipMediaApplicationLoggingConfiguration
s@PutSipMediaApplicationLoggingConfiguration' {} Maybe SipMediaApplicationLoggingConfiguration
a -> PutSipMediaApplicationLoggingConfiguration
s {$sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfiguration' :: Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration = Maybe SipMediaApplicationLoggingConfiguration
a} :: PutSipMediaApplicationLoggingConfiguration)

-- | The SIP media application ID.
putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId :: Lens.Lens' PutSipMediaApplicationLoggingConfiguration Prelude.Text
putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId :: (Text -> f Text)
-> PutSipMediaApplicationLoggingConfiguration
-> f PutSipMediaApplicationLoggingConfiguration
putSipMediaApplicationLoggingConfiguration_sipMediaApplicationId = (PutSipMediaApplicationLoggingConfiguration -> Text)
-> (PutSipMediaApplicationLoggingConfiguration
    -> Text -> PutSipMediaApplicationLoggingConfiguration)
-> Lens
     PutSipMediaApplicationLoggingConfiguration
     PutSipMediaApplicationLoggingConfiguration
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutSipMediaApplicationLoggingConfiguration' {Text
sipMediaApplicationId :: Text
$sel:sipMediaApplicationId:PutSipMediaApplicationLoggingConfiguration' :: PutSipMediaApplicationLoggingConfiguration -> Text
sipMediaApplicationId} -> Text
sipMediaApplicationId) (\s :: PutSipMediaApplicationLoggingConfiguration
s@PutSipMediaApplicationLoggingConfiguration' {} Text
a -> PutSipMediaApplicationLoggingConfiguration
s {$sel:sipMediaApplicationId:PutSipMediaApplicationLoggingConfiguration' :: Text
sipMediaApplicationId = Text
a} :: PutSipMediaApplicationLoggingConfiguration)

instance
  Core.AWSRequest
    PutSipMediaApplicationLoggingConfiguration
  where
  type
    AWSResponse
      PutSipMediaApplicationLoggingConfiguration =
      PutSipMediaApplicationLoggingConfigurationResponse
  request :: PutSipMediaApplicationLoggingConfiguration
-> Request PutSipMediaApplicationLoggingConfiguration
request = Service
-> PutSipMediaApplicationLoggingConfiguration
-> Request PutSipMediaApplicationLoggingConfiguration
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy PutSipMediaApplicationLoggingConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse PutSipMediaApplicationLoggingConfiguration)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either
      String (AWSResponse PutSipMediaApplicationLoggingConfiguration))
-> Logger
-> Service
-> Proxy PutSipMediaApplicationLoggingConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse PutSipMediaApplicationLoggingConfiguration)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe SipMediaApplicationLoggingConfiguration
-> Int -> PutSipMediaApplicationLoggingConfigurationResponse
PutSipMediaApplicationLoggingConfigurationResponse'
            (Maybe SipMediaApplicationLoggingConfiguration
 -> Int -> PutSipMediaApplicationLoggingConfigurationResponse)
-> Either String (Maybe SipMediaApplicationLoggingConfiguration)
-> Either
     String (Int -> PutSipMediaApplicationLoggingConfigurationResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
                            Object
-> Text
-> Either String (Maybe SipMediaApplicationLoggingConfiguration)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"SipMediaApplicationLoggingConfiguration"
                        )
              Either
  String (Int -> PutSipMediaApplicationLoggingConfigurationResponse)
-> Either String Int
-> Either String PutSipMediaApplicationLoggingConfigurationResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance
  Prelude.Hashable
    PutSipMediaApplicationLoggingConfiguration

instance
  Prelude.NFData
    PutSipMediaApplicationLoggingConfiguration

instance
  Core.ToHeaders
    PutSipMediaApplicationLoggingConfiguration
  where
  toHeaders :: PutSipMediaApplicationLoggingConfiguration -> ResponseHeaders
toHeaders = ResponseHeaders
-> PutSipMediaApplicationLoggingConfiguration -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty

instance
  Core.ToJSON
    PutSipMediaApplicationLoggingConfiguration
  where
  toJSON :: PutSipMediaApplicationLoggingConfiguration -> Value
toJSON
    PutSipMediaApplicationLoggingConfiguration' {Maybe SipMediaApplicationLoggingConfiguration
Text
sipMediaApplicationId :: Text
sipMediaApplicationLoggingConfiguration :: Maybe SipMediaApplicationLoggingConfiguration
$sel:sipMediaApplicationId:PutSipMediaApplicationLoggingConfiguration' :: PutSipMediaApplicationLoggingConfiguration -> Text
$sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfiguration' :: PutSipMediaApplicationLoggingConfiguration
-> Maybe SipMediaApplicationLoggingConfiguration
..} =
      [Pair] -> Value
Core.object
        ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
            [ (Text
"SipMediaApplicationLoggingConfiguration" Text -> SipMediaApplicationLoggingConfiguration -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
                (SipMediaApplicationLoggingConfiguration -> Pair)
-> Maybe SipMediaApplicationLoggingConfiguration -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration
            ]
        )

instance
  Core.ToPath
    PutSipMediaApplicationLoggingConfiguration
  where
  toPath :: PutSipMediaApplicationLoggingConfiguration -> ByteString
toPath
    PutSipMediaApplicationLoggingConfiguration' {Maybe SipMediaApplicationLoggingConfiguration
Text
sipMediaApplicationId :: Text
sipMediaApplicationLoggingConfiguration :: Maybe SipMediaApplicationLoggingConfiguration
$sel:sipMediaApplicationId:PutSipMediaApplicationLoggingConfiguration' :: PutSipMediaApplicationLoggingConfiguration -> Text
$sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfiguration' :: PutSipMediaApplicationLoggingConfiguration
-> Maybe SipMediaApplicationLoggingConfiguration
..} =
      [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
        [ ByteString
"/sip-media-applications/",
          Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
sipMediaApplicationId,
          ByteString
"/logging-configuration"
        ]

instance
  Core.ToQuery
    PutSipMediaApplicationLoggingConfiguration
  where
  toQuery :: PutSipMediaApplicationLoggingConfiguration -> QueryString
toQuery = QueryString
-> PutSipMediaApplicationLoggingConfiguration -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newPutSipMediaApplicationLoggingConfigurationResponse' smart constructor.
data PutSipMediaApplicationLoggingConfigurationResponse = PutSipMediaApplicationLoggingConfigurationResponse'
  { PutSipMediaApplicationLoggingConfigurationResponse
-> Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration :: Prelude.Maybe SipMediaApplicationLoggingConfiguration,
    -- | The response's http status code.
    PutSipMediaApplicationLoggingConfigurationResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (PutSipMediaApplicationLoggingConfigurationResponse
-> PutSipMediaApplicationLoggingConfigurationResponse -> Bool
(PutSipMediaApplicationLoggingConfigurationResponse
 -> PutSipMediaApplicationLoggingConfigurationResponse -> Bool)
-> (PutSipMediaApplicationLoggingConfigurationResponse
    -> PutSipMediaApplicationLoggingConfigurationResponse -> Bool)
-> Eq PutSipMediaApplicationLoggingConfigurationResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutSipMediaApplicationLoggingConfigurationResponse
-> PutSipMediaApplicationLoggingConfigurationResponse -> Bool
$c/= :: PutSipMediaApplicationLoggingConfigurationResponse
-> PutSipMediaApplicationLoggingConfigurationResponse -> Bool
== :: PutSipMediaApplicationLoggingConfigurationResponse
-> PutSipMediaApplicationLoggingConfigurationResponse -> Bool
$c== :: PutSipMediaApplicationLoggingConfigurationResponse
-> PutSipMediaApplicationLoggingConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [PutSipMediaApplicationLoggingConfigurationResponse]
ReadPrec PutSipMediaApplicationLoggingConfigurationResponse
Int -> ReadS PutSipMediaApplicationLoggingConfigurationResponse
ReadS [PutSipMediaApplicationLoggingConfigurationResponse]
(Int -> ReadS PutSipMediaApplicationLoggingConfigurationResponse)
-> ReadS [PutSipMediaApplicationLoggingConfigurationResponse]
-> ReadPrec PutSipMediaApplicationLoggingConfigurationResponse
-> ReadPrec [PutSipMediaApplicationLoggingConfigurationResponse]
-> Read PutSipMediaApplicationLoggingConfigurationResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutSipMediaApplicationLoggingConfigurationResponse]
$creadListPrec :: ReadPrec [PutSipMediaApplicationLoggingConfigurationResponse]
readPrec :: ReadPrec PutSipMediaApplicationLoggingConfigurationResponse
$creadPrec :: ReadPrec PutSipMediaApplicationLoggingConfigurationResponse
readList :: ReadS [PutSipMediaApplicationLoggingConfigurationResponse]
$creadList :: ReadS [PutSipMediaApplicationLoggingConfigurationResponse]
readsPrec :: Int -> ReadS PutSipMediaApplicationLoggingConfigurationResponse
$creadsPrec :: Int -> ReadS PutSipMediaApplicationLoggingConfigurationResponse
Prelude.Read, Int -> PutSipMediaApplicationLoggingConfigurationResponse -> ShowS
[PutSipMediaApplicationLoggingConfigurationResponse] -> ShowS
PutSipMediaApplicationLoggingConfigurationResponse -> String
(Int
 -> PutSipMediaApplicationLoggingConfigurationResponse -> ShowS)
-> (PutSipMediaApplicationLoggingConfigurationResponse -> String)
-> ([PutSipMediaApplicationLoggingConfigurationResponse] -> ShowS)
-> Show PutSipMediaApplicationLoggingConfigurationResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutSipMediaApplicationLoggingConfigurationResponse] -> ShowS
$cshowList :: [PutSipMediaApplicationLoggingConfigurationResponse] -> ShowS
show :: PutSipMediaApplicationLoggingConfigurationResponse -> String
$cshow :: PutSipMediaApplicationLoggingConfigurationResponse -> String
showsPrec :: Int -> PutSipMediaApplicationLoggingConfigurationResponse -> ShowS
$cshowsPrec :: Int -> PutSipMediaApplicationLoggingConfigurationResponse -> ShowS
Prelude.Show, (forall x.
 PutSipMediaApplicationLoggingConfigurationResponse
 -> Rep PutSipMediaApplicationLoggingConfigurationResponse x)
-> (forall x.
    Rep PutSipMediaApplicationLoggingConfigurationResponse x
    -> PutSipMediaApplicationLoggingConfigurationResponse)
-> Generic PutSipMediaApplicationLoggingConfigurationResponse
forall x.
Rep PutSipMediaApplicationLoggingConfigurationResponse x
-> PutSipMediaApplicationLoggingConfigurationResponse
forall x.
PutSipMediaApplicationLoggingConfigurationResponse
-> Rep PutSipMediaApplicationLoggingConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutSipMediaApplicationLoggingConfigurationResponse x
-> PutSipMediaApplicationLoggingConfigurationResponse
$cfrom :: forall x.
PutSipMediaApplicationLoggingConfigurationResponse
-> Rep PutSipMediaApplicationLoggingConfigurationResponse x
Prelude.Generic)

-- |
-- Create a value of 'PutSipMediaApplicationLoggingConfigurationResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'sipMediaApplicationLoggingConfiguration', 'putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration' - Undocumented member.
--
-- 'httpStatus', 'putSipMediaApplicationLoggingConfigurationResponse_httpStatus' - The response's http status code.
newPutSipMediaApplicationLoggingConfigurationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  PutSipMediaApplicationLoggingConfigurationResponse
newPutSipMediaApplicationLoggingConfigurationResponse :: Int -> PutSipMediaApplicationLoggingConfigurationResponse
newPutSipMediaApplicationLoggingConfigurationResponse
  Int
pHttpStatus_ =
    PutSipMediaApplicationLoggingConfigurationResponse' :: Maybe SipMediaApplicationLoggingConfiguration
-> Int -> PutSipMediaApplicationLoggingConfigurationResponse
PutSipMediaApplicationLoggingConfigurationResponse'
      { $sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfigurationResponse' :: Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration =
          Maybe SipMediaApplicationLoggingConfiguration
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:PutSipMediaApplicationLoggingConfigurationResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | Undocumented member.
putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration :: Lens.Lens' PutSipMediaApplicationLoggingConfigurationResponse (Prelude.Maybe SipMediaApplicationLoggingConfiguration)
putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration :: (Maybe SipMediaApplicationLoggingConfiguration
 -> f (Maybe SipMediaApplicationLoggingConfiguration))
-> PutSipMediaApplicationLoggingConfigurationResponse
-> f PutSipMediaApplicationLoggingConfigurationResponse
putSipMediaApplicationLoggingConfigurationResponse_sipMediaApplicationLoggingConfiguration = (PutSipMediaApplicationLoggingConfigurationResponse
 -> Maybe SipMediaApplicationLoggingConfiguration)
-> (PutSipMediaApplicationLoggingConfigurationResponse
    -> Maybe SipMediaApplicationLoggingConfiguration
    -> PutSipMediaApplicationLoggingConfigurationResponse)
-> Lens
     PutSipMediaApplicationLoggingConfigurationResponse
     PutSipMediaApplicationLoggingConfigurationResponse
     (Maybe SipMediaApplicationLoggingConfiguration)
     (Maybe SipMediaApplicationLoggingConfiguration)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutSipMediaApplicationLoggingConfigurationResponse' {Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration :: Maybe SipMediaApplicationLoggingConfiguration
$sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfigurationResponse' :: PutSipMediaApplicationLoggingConfigurationResponse
-> Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration} -> Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration) (\s :: PutSipMediaApplicationLoggingConfigurationResponse
s@PutSipMediaApplicationLoggingConfigurationResponse' {} Maybe SipMediaApplicationLoggingConfiguration
a -> PutSipMediaApplicationLoggingConfigurationResponse
s {$sel:sipMediaApplicationLoggingConfiguration:PutSipMediaApplicationLoggingConfigurationResponse' :: Maybe SipMediaApplicationLoggingConfiguration
sipMediaApplicationLoggingConfiguration = Maybe SipMediaApplicationLoggingConfiguration
a} :: PutSipMediaApplicationLoggingConfigurationResponse)

-- | The response's http status code.
putSipMediaApplicationLoggingConfigurationResponse_httpStatus :: Lens.Lens' PutSipMediaApplicationLoggingConfigurationResponse Prelude.Int
putSipMediaApplicationLoggingConfigurationResponse_httpStatus :: (Int -> f Int)
-> PutSipMediaApplicationLoggingConfigurationResponse
-> f PutSipMediaApplicationLoggingConfigurationResponse
putSipMediaApplicationLoggingConfigurationResponse_httpStatus = (PutSipMediaApplicationLoggingConfigurationResponse -> Int)
-> (PutSipMediaApplicationLoggingConfigurationResponse
    -> Int -> PutSipMediaApplicationLoggingConfigurationResponse)
-> Lens
     PutSipMediaApplicationLoggingConfigurationResponse
     PutSipMediaApplicationLoggingConfigurationResponse
     Int
     Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutSipMediaApplicationLoggingConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutSipMediaApplicationLoggingConfigurationResponse' :: PutSipMediaApplicationLoggingConfigurationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutSipMediaApplicationLoggingConfigurationResponse
s@PutSipMediaApplicationLoggingConfigurationResponse' {} Int
a -> PutSipMediaApplicationLoggingConfigurationResponse
s {$sel:httpStatus:PutSipMediaApplicationLoggingConfigurationResponse' :: Int
httpStatus = Int
a} :: PutSipMediaApplicationLoggingConfigurationResponse)

instance
  Prelude.NFData
    PutSipMediaApplicationLoggingConfigurationResponse