amazonka-alexa-business-2.0: gen/Amazonka/AlexaBusiness/UpdateConferenceProvider.hs
{-# 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.
iPDialIn :: Prelude.Maybe IPDialIn,
-- | The information for PSTN conferencing.
pSTNDialIn :: Prelude.Maybe PSTNDialIn,
-- | The ARN of the conference provider.
conferenceProviderArn :: Prelude.Text,
-- | The type of the conference provider.
conferenceProviderType :: ConferenceProviderType,
-- | The meeting settings for the conference provider.
meetingSetting :: MeetingSetting
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, 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
pConferenceProviderArn_
pConferenceProviderType_
pMeetingSetting_ =
UpdateConferenceProvider'
{ iPDialIn =
Prelude.Nothing,
pSTNDialIn = Prelude.Nothing,
conferenceProviderArn = pConferenceProviderArn_,
conferenceProviderType = pConferenceProviderType_,
meetingSetting = pMeetingSetting_
}
-- | The IP endpoint and protocol for calling.
updateConferenceProvider_iPDialIn :: Lens.Lens' UpdateConferenceProvider (Prelude.Maybe IPDialIn)
updateConferenceProvider_iPDialIn = Lens.lens (\UpdateConferenceProvider' {iPDialIn} -> iPDialIn) (\s@UpdateConferenceProvider' {} a -> s {iPDialIn = a} :: UpdateConferenceProvider)
-- | The information for PSTN conferencing.
updateConferenceProvider_pSTNDialIn :: Lens.Lens' UpdateConferenceProvider (Prelude.Maybe PSTNDialIn)
updateConferenceProvider_pSTNDialIn = Lens.lens (\UpdateConferenceProvider' {pSTNDialIn} -> pSTNDialIn) (\s@UpdateConferenceProvider' {} a -> s {pSTNDialIn = a} :: UpdateConferenceProvider)
-- | The ARN of the conference provider.
updateConferenceProvider_conferenceProviderArn :: Lens.Lens' UpdateConferenceProvider Prelude.Text
updateConferenceProvider_conferenceProviderArn = Lens.lens (\UpdateConferenceProvider' {conferenceProviderArn} -> conferenceProviderArn) (\s@UpdateConferenceProvider' {} a -> s {conferenceProviderArn = a} :: UpdateConferenceProvider)
-- | The type of the conference provider.
updateConferenceProvider_conferenceProviderType :: Lens.Lens' UpdateConferenceProvider ConferenceProviderType
updateConferenceProvider_conferenceProviderType = Lens.lens (\UpdateConferenceProvider' {conferenceProviderType} -> conferenceProviderType) (\s@UpdateConferenceProvider' {} a -> s {conferenceProviderType = a} :: UpdateConferenceProvider)
-- | The meeting settings for the conference provider.
updateConferenceProvider_meetingSetting :: Lens.Lens' UpdateConferenceProvider MeetingSetting
updateConferenceProvider_meetingSetting = Lens.lens (\UpdateConferenceProvider' {meetingSetting} -> meetingSetting) (\s@UpdateConferenceProvider' {} a -> s {meetingSetting = a} :: UpdateConferenceProvider)
instance Core.AWSRequest UpdateConferenceProvider where
type
AWSResponse UpdateConferenceProvider =
UpdateConferenceProviderResponse
request overrides =
Request.postJSON (overrides defaultService)
response =
Response.receiveEmpty
( \s h x ->
UpdateConferenceProviderResponse'
Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
)
instance Prelude.Hashable UpdateConferenceProvider where
hashWithSalt _salt UpdateConferenceProvider' {..} =
_salt
`Prelude.hashWithSalt` iPDialIn
`Prelude.hashWithSalt` pSTNDialIn
`Prelude.hashWithSalt` conferenceProviderArn
`Prelude.hashWithSalt` conferenceProviderType
`Prelude.hashWithSalt` meetingSetting
instance Prelude.NFData UpdateConferenceProvider where
rnf UpdateConferenceProvider' {..} =
Prelude.rnf iPDialIn
`Prelude.seq` Prelude.rnf pSTNDialIn
`Prelude.seq` Prelude.rnf conferenceProviderArn
`Prelude.seq` Prelude.rnf conferenceProviderType
`Prelude.seq` Prelude.rnf meetingSetting
instance Data.ToHeaders UpdateConferenceProvider where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ( "AlexaForBusiness.UpdateConferenceProvider" ::
Prelude.ByteString
),
"Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateConferenceProvider where
toJSON UpdateConferenceProvider' {..} =
Data.object
( Prelude.catMaybes
[ ("IPDialIn" Data..=) Prelude.<$> iPDialIn,
("PSTNDialIn" Data..=) Prelude.<$> pSTNDialIn,
Prelude.Just
( "ConferenceProviderArn"
Data..= conferenceProviderArn
),
Prelude.Just
( "ConferenceProviderType"
Data..= conferenceProviderType
),
Prelude.Just
("MeetingSetting" Data..= meetingSetting)
]
)
instance Data.ToPath UpdateConferenceProvider where
toPath = Prelude.const "/"
instance Data.ToQuery UpdateConferenceProvider where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newUpdateConferenceProviderResponse' smart constructor.
data UpdateConferenceProviderResponse = UpdateConferenceProviderResponse'
{ -- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, 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 pHttpStatus_ =
UpdateConferenceProviderResponse'
{ httpStatus =
pHttpStatus_
}
-- | The response's http status code.
updateConferenceProviderResponse_httpStatus :: Lens.Lens' UpdateConferenceProviderResponse Prelude.Int
updateConferenceProviderResponse_httpStatus = Lens.lens (\UpdateConferenceProviderResponse' {httpStatus} -> httpStatus) (\s@UpdateConferenceProviderResponse' {} a -> s {httpStatus = a} :: UpdateConferenceProviderResponse)
instance
Prelude.NFData
UpdateConferenceProviderResponse
where
rnf UpdateConferenceProviderResponse' {..} =
Prelude.rnf httpStatus