{-# 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.AlexaBusiness.UpdateConferenceProvider
-- 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 an existing conference provider\'s settings.
module Amazonka.AlexaBusiness.UpdateConferenceProvider
  ( -- * Creating a Request
    UpdateConferenceProvider (..),
    newUpdateConferenceProvider,

    -- * Request Lenses
    updateConferenceProvider_pSTNDialIn,
    updateConferenceProvider_iPDialIn,
    updateConferenceProvider_conferenceProviderArn,
    updateConferenceProvider_conferenceProviderType,
    updateConferenceProvider_meetingSetting,

    -- * Destructuring the Response
    UpdateConferenceProviderResponse (..),
    newUpdateConferenceProviderResponse,

    -- * Response Lenses
    updateConferenceProviderResponse_httpStatus,
  )
where

import Amazonka.AlexaBusiness.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:/ 'newUpdateConferenceProvider' smart constructor.
data UpdateConferenceProvider = UpdateConferenceProvider'
  { -- | The information for PSTN conferencing.
    UpdateConferenceProvider -> Maybe PSTNDialIn
pSTNDialIn :: Prelude.Maybe PSTNDialIn,
    -- | The IP endpoint and protocol for calling.
    UpdateConferenceProvider -> Maybe IPDialIn
iPDialIn :: Prelude.Maybe IPDialIn,
    -- | The ARN of the conference provider.
    UpdateConferenceProvider -> Text
conferenceProviderArn :: Prelude.Text,
    -- | The type of the conference provider.
    UpdateConferenceProvider -> ConferenceProviderType
conferenceProviderType :: ConferenceProviderType,
    -- | The meeting settings for the conference provider.
    UpdateConferenceProvider -> MeetingSetting
meetingSetting :: MeetingSetting
  }
  deriving (UpdateConferenceProvider -> UpdateConferenceProvider -> Bool
(UpdateConferenceProvider -> UpdateConferenceProvider -> Bool)
-> (UpdateConferenceProvider -> UpdateConferenceProvider -> Bool)
-> Eq UpdateConferenceProvider
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateConferenceProvider -> UpdateConferenceProvider -> Bool
$c/= :: UpdateConferenceProvider -> UpdateConferenceProvider -> Bool
== :: UpdateConferenceProvider -> UpdateConferenceProvider -> Bool
$c== :: UpdateConferenceProvider -> UpdateConferenceProvider -> Bool
Prelude.Eq, ReadPrec [UpdateConferenceProvider]
ReadPrec UpdateConferenceProvider
Int -> ReadS UpdateConferenceProvider
ReadS [UpdateConferenceProvider]
(Int -> ReadS UpdateConferenceProvider)
-> ReadS [UpdateConferenceProvider]
-> ReadPrec UpdateConferenceProvider
-> ReadPrec [UpdateConferenceProvider]
-> Read UpdateConferenceProvider
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateConferenceProvider]
$creadListPrec :: ReadPrec [UpdateConferenceProvider]
readPrec :: ReadPrec UpdateConferenceProvider
$creadPrec :: ReadPrec UpdateConferenceProvider
readList :: ReadS [UpdateConferenceProvider]
$creadList :: ReadS [UpdateConferenceProvider]
readsPrec :: Int -> ReadS UpdateConferenceProvider
$creadsPrec :: Int -> ReadS UpdateConferenceProvider
Prelude.Read, Int -> UpdateConferenceProvider -> ShowS
[UpdateConferenceProvider] -> ShowS
UpdateConferenceProvider -> String
(Int -> UpdateConferenceProvider -> ShowS)
-> (UpdateConferenceProvider -> String)
-> ([UpdateConferenceProvider] -> ShowS)
-> Show UpdateConferenceProvider
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateConferenceProvider] -> ShowS
$cshowList :: [UpdateConferenceProvider] -> ShowS
show :: UpdateConferenceProvider -> String
$cshow :: UpdateConferenceProvider -> String
showsPrec :: Int -> UpdateConferenceProvider -> ShowS
$cshowsPrec :: Int -> UpdateConferenceProvider -> ShowS
Prelude.Show, (forall x.
 UpdateConferenceProvider -> Rep UpdateConferenceProvider x)
-> (forall x.
    Rep UpdateConferenceProvider x -> UpdateConferenceProvider)
-> Generic UpdateConferenceProvider
forall x.
Rep UpdateConferenceProvider x -> UpdateConferenceProvider
forall x.
UpdateConferenceProvider -> Rep UpdateConferenceProvider x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateConferenceProvider x -> UpdateConferenceProvider
$cfrom :: forall x.
UpdateConferenceProvider -> Rep UpdateConferenceProvider x
Prelude.Generic)

-- |
-- Create a value of 'UpdateConferenceProvider' 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:
--
-- 'pSTNDialIn', 'updateConferenceProvider_pSTNDialIn' - The information for PSTN conferencing.
--
-- 'iPDialIn', 'updateConferenceProvider_iPDialIn' - The IP endpoint and protocol for calling.
--
-- 'conferenceProviderArn', 'updateConferenceProvider_conferenceProviderArn' - The ARN of the conference provider.
--
-- 'conferenceProviderType', 'updateConferenceProvider_conferenceProviderType' - The type of the conference provider.
--
-- 'meetingSetting', 'updateConferenceProvider_meetingSetting' - The meeting settings for the conference provider.
newUpdateConferenceProvider ::
  -- | 'conferenceProviderArn'
  Prelude.Text ->
  -- | 'conferenceProviderType'
  ConferenceProviderType ->
  -- | 'meetingSetting'
  MeetingSetting ->
  UpdateConferenceProvider
newUpdateConferenceProvider :: Text
-> ConferenceProviderType
-> MeetingSetting
-> UpdateConferenceProvider
newUpdateConferenceProvider
  Text
pConferenceProviderArn_
  ConferenceProviderType
pConferenceProviderType_
  MeetingSetting
pMeetingSetting_ =
    UpdateConferenceProvider' :: Maybe PSTNDialIn
-> Maybe IPDialIn
-> Text
-> ConferenceProviderType
-> MeetingSetting
-> UpdateConferenceProvider
UpdateConferenceProvider'
      { $sel:pSTNDialIn:UpdateConferenceProvider' :: Maybe PSTNDialIn
pSTNDialIn =
          Maybe PSTNDialIn
forall a. Maybe a
Prelude.Nothing,
        $sel:iPDialIn:UpdateConferenceProvider' :: Maybe IPDialIn
iPDialIn = Maybe IPDialIn
forall a. Maybe a
Prelude.Nothing,
        $sel:conferenceProviderArn:UpdateConferenceProvider' :: Text
conferenceProviderArn = Text
pConferenceProviderArn_,
        $sel:conferenceProviderType:UpdateConferenceProvider' :: ConferenceProviderType
conferenceProviderType = ConferenceProviderType
pConferenceProviderType_,
        $sel:meetingSetting:UpdateConferenceProvider' :: MeetingSetting
meetingSetting = MeetingSetting
pMeetingSetting_
      }

-- | The information for PSTN conferencing.
updateConferenceProvider_pSTNDialIn :: Lens.Lens' UpdateConferenceProvider (Prelude.Maybe PSTNDialIn)
updateConferenceProvider_pSTNDialIn :: (Maybe PSTNDialIn -> f (Maybe PSTNDialIn))
-> UpdateConferenceProvider -> f UpdateConferenceProvider
updateConferenceProvider_pSTNDialIn = (UpdateConferenceProvider -> Maybe PSTNDialIn)
-> (UpdateConferenceProvider
    -> Maybe PSTNDialIn -> UpdateConferenceProvider)
-> Lens
     UpdateConferenceProvider
     UpdateConferenceProvider
     (Maybe PSTNDialIn)
     (Maybe PSTNDialIn)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateConferenceProvider' {Maybe PSTNDialIn
pSTNDialIn :: Maybe PSTNDialIn
$sel:pSTNDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe PSTNDialIn
pSTNDialIn} -> Maybe PSTNDialIn
pSTNDialIn) (\s :: UpdateConferenceProvider
s@UpdateConferenceProvider' {} Maybe PSTNDialIn
a -> UpdateConferenceProvider
s {$sel:pSTNDialIn:UpdateConferenceProvider' :: Maybe PSTNDialIn
pSTNDialIn = Maybe PSTNDialIn
a} :: UpdateConferenceProvider)

-- | The IP endpoint and protocol for calling.
updateConferenceProvider_iPDialIn :: Lens.Lens' UpdateConferenceProvider (Prelude.Maybe IPDialIn)
updateConferenceProvider_iPDialIn :: (Maybe IPDialIn -> f (Maybe IPDialIn))
-> UpdateConferenceProvider -> f UpdateConferenceProvider
updateConferenceProvider_iPDialIn = (UpdateConferenceProvider -> Maybe IPDialIn)
-> (UpdateConferenceProvider
    -> Maybe IPDialIn -> UpdateConferenceProvider)
-> Lens
     UpdateConferenceProvider
     UpdateConferenceProvider
     (Maybe IPDialIn)
     (Maybe IPDialIn)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateConferenceProvider' {Maybe IPDialIn
iPDialIn :: Maybe IPDialIn
$sel:iPDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe IPDialIn
iPDialIn} -> Maybe IPDialIn
iPDialIn) (\s :: UpdateConferenceProvider
s@UpdateConferenceProvider' {} Maybe IPDialIn
a -> UpdateConferenceProvider
s {$sel:iPDialIn:UpdateConferenceProvider' :: Maybe IPDialIn
iPDialIn = Maybe IPDialIn
a} :: UpdateConferenceProvider)

-- | The ARN of the conference provider.
updateConferenceProvider_conferenceProviderArn :: Lens.Lens' UpdateConferenceProvider Prelude.Text
updateConferenceProvider_conferenceProviderArn :: (Text -> f Text)
-> UpdateConferenceProvider -> f UpdateConferenceProvider
updateConferenceProvider_conferenceProviderArn = (UpdateConferenceProvider -> Text)
-> (UpdateConferenceProvider -> Text -> UpdateConferenceProvider)
-> Lens UpdateConferenceProvider UpdateConferenceProvider Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateConferenceProvider' {Text
conferenceProviderArn :: Text
$sel:conferenceProviderArn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Text
conferenceProviderArn} -> Text
conferenceProviderArn) (\s :: UpdateConferenceProvider
s@UpdateConferenceProvider' {} Text
a -> UpdateConferenceProvider
s {$sel:conferenceProviderArn:UpdateConferenceProvider' :: Text
conferenceProviderArn = Text
a} :: UpdateConferenceProvider)

-- | The type of the conference provider.
updateConferenceProvider_conferenceProviderType :: Lens.Lens' UpdateConferenceProvider ConferenceProviderType
updateConferenceProvider_conferenceProviderType :: (ConferenceProviderType -> f ConferenceProviderType)
-> UpdateConferenceProvider -> f UpdateConferenceProvider
updateConferenceProvider_conferenceProviderType = (UpdateConferenceProvider -> ConferenceProviderType)
-> (UpdateConferenceProvider
    -> ConferenceProviderType -> UpdateConferenceProvider)
-> Lens
     UpdateConferenceProvider
     UpdateConferenceProvider
     ConferenceProviderType
     ConferenceProviderType
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateConferenceProvider' {ConferenceProviderType
conferenceProviderType :: ConferenceProviderType
$sel:conferenceProviderType:UpdateConferenceProvider' :: UpdateConferenceProvider -> ConferenceProviderType
conferenceProviderType} -> ConferenceProviderType
conferenceProviderType) (\s :: UpdateConferenceProvider
s@UpdateConferenceProvider' {} ConferenceProviderType
a -> UpdateConferenceProvider
s {$sel:conferenceProviderType:UpdateConferenceProvider' :: ConferenceProviderType
conferenceProviderType = ConferenceProviderType
a} :: UpdateConferenceProvider)

-- | The meeting settings for the conference provider.
updateConferenceProvider_meetingSetting :: Lens.Lens' UpdateConferenceProvider MeetingSetting
updateConferenceProvider_meetingSetting :: (MeetingSetting -> f MeetingSetting)
-> UpdateConferenceProvider -> f UpdateConferenceProvider
updateConferenceProvider_meetingSetting = (UpdateConferenceProvider -> MeetingSetting)
-> (UpdateConferenceProvider
    -> MeetingSetting -> UpdateConferenceProvider)
-> Lens
     UpdateConferenceProvider
     UpdateConferenceProvider
     MeetingSetting
     MeetingSetting
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateConferenceProvider' {MeetingSetting
meetingSetting :: MeetingSetting
$sel:meetingSetting:UpdateConferenceProvider' :: UpdateConferenceProvider -> MeetingSetting
meetingSetting} -> MeetingSetting
meetingSetting) (\s :: UpdateConferenceProvider
s@UpdateConferenceProvider' {} MeetingSetting
a -> UpdateConferenceProvider
s {$sel:meetingSetting:UpdateConferenceProvider' :: MeetingSetting
meetingSetting = MeetingSetting
a} :: UpdateConferenceProvider)

instance Core.AWSRequest UpdateConferenceProvider where
  type
    AWSResponse UpdateConferenceProvider =
      UpdateConferenceProviderResponse
  request :: UpdateConferenceProvider -> Request UpdateConferenceProvider
request = Service
-> UpdateConferenceProvider -> Request UpdateConferenceProvider
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy UpdateConferenceProvider
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateConferenceProvider)))
response =
    (Int
 -> ResponseHeaders
 -> ()
 -> Either String (AWSResponse UpdateConferenceProvider))
-> Logger
-> Service
-> Proxy UpdateConferenceProvider
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateConferenceProvider)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> UpdateConferenceProviderResponse
UpdateConferenceProviderResponse'
            (Int -> UpdateConferenceProviderResponse)
-> Either String Int
-> Either String UpdateConferenceProviderResponse
forall (f :: * -> *) a b. Functor 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 UpdateConferenceProvider

instance Prelude.NFData UpdateConferenceProvider

instance Core.ToHeaders UpdateConferenceProvider where
  toHeaders :: UpdateConferenceProvider -> ResponseHeaders
toHeaders =
    ResponseHeaders -> UpdateConferenceProvider -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"AlexaForBusiness.UpdateConferenceProvider" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON UpdateConferenceProvider where
  toJSON :: UpdateConferenceProvider -> Value
toJSON UpdateConferenceProvider' {Maybe IPDialIn
Maybe PSTNDialIn
Text
ConferenceProviderType
MeetingSetting
meetingSetting :: MeetingSetting
conferenceProviderType :: ConferenceProviderType
conferenceProviderArn :: Text
iPDialIn :: Maybe IPDialIn
pSTNDialIn :: Maybe PSTNDialIn
$sel:meetingSetting:UpdateConferenceProvider' :: UpdateConferenceProvider -> MeetingSetting
$sel:conferenceProviderType:UpdateConferenceProvider' :: UpdateConferenceProvider -> ConferenceProviderType
$sel:conferenceProviderArn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Text
$sel:iPDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe IPDialIn
$sel:pSTNDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe PSTNDialIn
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"PSTNDialIn" Text -> PSTNDialIn -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (PSTNDialIn -> Pair) -> Maybe PSTNDialIn -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PSTNDialIn
pSTNDialIn,
            (Text
"IPDialIn" Text -> IPDialIn -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (IPDialIn -> Pair) -> Maybe IPDialIn -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe IPDialIn
iPDialIn,
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              ( Text
"ConferenceProviderArn"
                  Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
conferenceProviderArn
              ),
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              ( Text
"ConferenceProviderType"
                  Text -> ConferenceProviderType -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= ConferenceProviderType
conferenceProviderType
              ),
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              (Text
"MeetingSetting" Text -> MeetingSetting -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= MeetingSetting
meetingSetting)
          ]
      )

instance Core.ToPath UpdateConferenceProvider where
  toPath :: UpdateConferenceProvider -> ByteString
toPath = ByteString -> UpdateConferenceProvider -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

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

-- |
-- Create a value of 'UpdateConferenceProviderResponse' 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:
--
-- 'httpStatus', 'updateConferenceProviderResponse_httpStatus' - The response's http status code.
newUpdateConferenceProviderResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateConferenceProviderResponse
newUpdateConferenceProviderResponse :: Int -> UpdateConferenceProviderResponse
newUpdateConferenceProviderResponse Int
pHttpStatus_ =
  UpdateConferenceProviderResponse' :: Int -> UpdateConferenceProviderResponse
UpdateConferenceProviderResponse'
    { $sel:httpStatus:UpdateConferenceProviderResponse' :: Int
httpStatus =
        Int
pHttpStatus_
    }

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

instance
  Prelude.NFData
    UpdateConferenceProviderResponse