{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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_iPDialIn,
    updateConferenceProvider_pSTNDialIn,
    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.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

-- | /See:/ 'newUpdateConferenceProvider' smart constructor.
data UpdateConferenceProvider = UpdateConferenceProvider'
  { -- | The IP endpoint and protocol for calling.
    UpdateConferenceProvider -> Maybe IPDialIn
iPDialIn :: Prelude.Maybe IPDialIn,
    -- | The information for PSTN conferencing.
    UpdateConferenceProvider -> Maybe PSTNDialIn
pSTNDialIn :: Prelude.Maybe PSTNDialIn,
    -- | 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
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]
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
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.
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:
--
-- 'iPDialIn', 'updateConferenceProvider_iPDialIn' - The IP endpoint and protocol for calling.
--
-- 'pSTNDialIn', 'updateConferenceProvider_pSTNDialIn' - The information for PSTN conferencing.
--
-- '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'
      { $sel:iPDialIn:UpdateConferenceProvider' :: Maybe IPDialIn
iPDialIn =
          forall a. Maybe a
Prelude.Nothing,
        $sel:pSTNDialIn:UpdateConferenceProvider' :: Maybe PSTNDialIn
pSTNDialIn = 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 IP endpoint and protocol for calling.
updateConferenceProvider_iPDialIn :: Lens.Lens' UpdateConferenceProvider (Prelude.Maybe IPDialIn)
updateConferenceProvider_iPDialIn :: Lens' UpdateConferenceProvider (Maybe IPDialIn)
updateConferenceProvider_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 information for PSTN conferencing.
updateConferenceProvider_pSTNDialIn :: Lens.Lens' UpdateConferenceProvider (Prelude.Maybe PSTNDialIn)
updateConferenceProvider_pSTNDialIn :: Lens' UpdateConferenceProvider (Maybe PSTNDialIn)
updateConferenceProvider_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 ARN of the conference provider.
updateConferenceProvider_conferenceProviderArn :: Lens.Lens' UpdateConferenceProvider Prelude.Text
updateConferenceProvider_conferenceProviderArn :: Lens' UpdateConferenceProvider Text
updateConferenceProvider_conferenceProviderArn = 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 :: Lens' UpdateConferenceProvider ConferenceProviderType
updateConferenceProvider_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 :: Lens' UpdateConferenceProvider MeetingSetting
updateConferenceProvider_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 :: (Service -> Service)
-> UpdateConferenceProvider -> Request UpdateConferenceProvider
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateConferenceProvider
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdateConferenceProvider)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> UpdateConferenceProviderResponse
UpdateConferenceProviderResponse'
            forall (f :: * -> *) a b. Functor 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 UpdateConferenceProvider where
  hashWithSalt :: Int -> UpdateConferenceProvider -> Int
hashWithSalt Int
_salt UpdateConferenceProvider' {Maybe IPDialIn
Maybe PSTNDialIn
Text
ConferenceProviderType
MeetingSetting
meetingSetting :: MeetingSetting
conferenceProviderType :: ConferenceProviderType
conferenceProviderArn :: Text
pSTNDialIn :: Maybe PSTNDialIn
iPDialIn :: Maybe IPDialIn
$sel:meetingSetting:UpdateConferenceProvider' :: UpdateConferenceProvider -> MeetingSetting
$sel:conferenceProviderType:UpdateConferenceProvider' :: UpdateConferenceProvider -> ConferenceProviderType
$sel:conferenceProviderArn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Text
$sel:pSTNDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe PSTNDialIn
$sel:iPDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe IPDialIn
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IPDialIn
iPDialIn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PSTNDialIn
pSTNDialIn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
conferenceProviderArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ConferenceProviderType
conferenceProviderType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MeetingSetting
meetingSetting

instance Prelude.NFData UpdateConferenceProvider where
  rnf :: UpdateConferenceProvider -> ()
rnf UpdateConferenceProvider' {Maybe IPDialIn
Maybe PSTNDialIn
Text
ConferenceProviderType
MeetingSetting
meetingSetting :: MeetingSetting
conferenceProviderType :: ConferenceProviderType
conferenceProviderArn :: Text
pSTNDialIn :: Maybe PSTNDialIn
iPDialIn :: Maybe IPDialIn
$sel:meetingSetting:UpdateConferenceProvider' :: UpdateConferenceProvider -> MeetingSetting
$sel:conferenceProviderType:UpdateConferenceProvider' :: UpdateConferenceProvider -> ConferenceProviderType
$sel:conferenceProviderArn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Text
$sel:pSTNDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe PSTNDialIn
$sel:iPDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe IPDialIn
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe IPDialIn
iPDialIn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PSTNDialIn
pSTNDialIn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
conferenceProviderArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ConferenceProviderType
conferenceProviderType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MeetingSetting
meetingSetting

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

instance Data.ToJSON UpdateConferenceProvider where
  toJSON :: UpdateConferenceProvider -> Value
toJSON UpdateConferenceProvider' {Maybe IPDialIn
Maybe PSTNDialIn
Text
ConferenceProviderType
MeetingSetting
meetingSetting :: MeetingSetting
conferenceProviderType :: ConferenceProviderType
conferenceProviderArn :: Text
pSTNDialIn :: Maybe PSTNDialIn
iPDialIn :: Maybe IPDialIn
$sel:meetingSetting:UpdateConferenceProvider' :: UpdateConferenceProvider -> MeetingSetting
$sel:conferenceProviderType:UpdateConferenceProvider' :: UpdateConferenceProvider -> ConferenceProviderType
$sel:conferenceProviderArn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Text
$sel:pSTNDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe PSTNDialIn
$sel:iPDialIn:UpdateConferenceProvider' :: UpdateConferenceProvider -> Maybe IPDialIn
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"IPDialIn" 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 IPDialIn
iPDialIn,
            (Key
"PSTNDialIn" 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 PSTNDialIn
pSTNDialIn,
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"ConferenceProviderArn"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
conferenceProviderArn
              ),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"ConferenceProviderType"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ConferenceProviderType
conferenceProviderType
              ),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"MeetingSetting" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= MeetingSetting
meetingSetting)
          ]
      )

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

instance Data.ToQuery UpdateConferenceProvider where
  toQuery :: UpdateConferenceProvider -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const 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
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]
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
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.
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'
    { $sel:httpStatus:UpdateConferenceProviderResponse' :: Int
httpStatus =
        Int
pHttpStatus_
    }

-- | The response's http status code.
updateConferenceProviderResponse_httpStatus :: Lens.Lens' UpdateConferenceProviderResponse Prelude.Int
updateConferenceProviderResponse_httpStatus :: Lens' UpdateConferenceProviderResponse Int
updateConferenceProviderResponse_httpStatus = 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
  where
  rnf :: UpdateConferenceProviderResponse -> ()
rnf UpdateConferenceProviderResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateConferenceProviderResponse' :: UpdateConferenceProviderResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus