{-# 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.ChimeSdkVoice.DeleteVoiceConnectorOrigination
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- -- | Undocumented operation.
module Amazonka.ChimeSdkVoice.DeleteVoiceConnectorOrigination
  ( -- * Creating a Request
    DeleteVoiceConnectorOrigination (..),
    newDeleteVoiceConnectorOrigination,

    -- * Request Lenses
    deleteVoiceConnectorOrigination_voiceConnectorId,

    -- * Destructuring the Response
    DeleteVoiceConnectorOriginationResponse (..),
    newDeleteVoiceConnectorOriginationResponse,
  )
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

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

-- |
-- Create a value of 'DeleteVoiceConnectorOrigination' 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:
--
-- 'voiceConnectorId', 'deleteVoiceConnectorOrigination_voiceConnectorId' - Undocumented member.
newDeleteVoiceConnectorOrigination ::
  -- | 'voiceConnectorId'
  Prelude.Text ->
  DeleteVoiceConnectorOrigination
newDeleteVoiceConnectorOrigination :: Text -> DeleteVoiceConnectorOrigination
newDeleteVoiceConnectorOrigination Text
pVoiceConnectorId_ =
  DeleteVoiceConnectorOrigination'
    { $sel:voiceConnectorId:DeleteVoiceConnectorOrigination' :: Text
voiceConnectorId =
        Text
pVoiceConnectorId_
    }

-- | Undocumented member.
deleteVoiceConnectorOrigination_voiceConnectorId :: Lens.Lens' DeleteVoiceConnectorOrigination Prelude.Text
deleteVoiceConnectorOrigination_voiceConnectorId :: Lens' DeleteVoiceConnectorOrigination Text
deleteVoiceConnectorOrigination_voiceConnectorId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteVoiceConnectorOrigination' {Text
voiceConnectorId :: Text
$sel:voiceConnectorId:DeleteVoiceConnectorOrigination' :: DeleteVoiceConnectorOrigination -> Text
voiceConnectorId} -> Text
voiceConnectorId) (\s :: DeleteVoiceConnectorOrigination
s@DeleteVoiceConnectorOrigination' {} Text
a -> DeleteVoiceConnectorOrigination
s {$sel:voiceConnectorId:DeleteVoiceConnectorOrigination' :: Text
voiceConnectorId = Text
a} :: DeleteVoiceConnectorOrigination)

instance
  Core.AWSRequest
    DeleteVoiceConnectorOrigination
  where
  type
    AWSResponse DeleteVoiceConnectorOrigination =
      DeleteVoiceConnectorOriginationResponse
  request :: (Service -> Service)
-> DeleteVoiceConnectorOrigination
-> Request DeleteVoiceConnectorOrigination
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteVoiceConnectorOrigination
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DeleteVoiceConnectorOrigination)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
      DeleteVoiceConnectorOriginationResponse
DeleteVoiceConnectorOriginationResponse'

instance
  Prelude.Hashable
    DeleteVoiceConnectorOrigination
  where
  hashWithSalt :: Int -> DeleteVoiceConnectorOrigination -> Int
hashWithSalt
    Int
_salt
    DeleteVoiceConnectorOrigination' {Text
voiceConnectorId :: Text
$sel:voiceConnectorId:DeleteVoiceConnectorOrigination' :: DeleteVoiceConnectorOrigination -> Text
..} =
      Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
voiceConnectorId

instance
  Prelude.NFData
    DeleteVoiceConnectorOrigination
  where
  rnf :: DeleteVoiceConnectorOrigination -> ()
rnf DeleteVoiceConnectorOrigination' {Text
voiceConnectorId :: Text
$sel:voiceConnectorId:DeleteVoiceConnectorOrigination' :: DeleteVoiceConnectorOrigination -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
voiceConnectorId

instance
  Data.ToHeaders
    DeleteVoiceConnectorOrigination
  where
  toHeaders :: DeleteVoiceConnectorOrigination -> [Header]
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToPath DeleteVoiceConnectorOrigination where
  toPath :: DeleteVoiceConnectorOrigination -> ByteString
toPath DeleteVoiceConnectorOrigination' {Text
voiceConnectorId :: Text
$sel:voiceConnectorId:DeleteVoiceConnectorOrigination' :: DeleteVoiceConnectorOrigination -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/voice-connectors/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
voiceConnectorId,
        ByteString
"/origination"
      ]

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

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

-- |
-- Create a value of 'DeleteVoiceConnectorOriginationResponse' 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.
newDeleteVoiceConnectorOriginationResponse ::
  DeleteVoiceConnectorOriginationResponse
newDeleteVoiceConnectorOriginationResponse :: DeleteVoiceConnectorOriginationResponse
newDeleteVoiceConnectorOriginationResponse =
  DeleteVoiceConnectorOriginationResponse
DeleteVoiceConnectorOriginationResponse'

instance
  Prelude.NFData
    DeleteVoiceConnectorOriginationResponse
  where
  rnf :: DeleteVoiceConnectorOriginationResponse -> ()
rnf DeleteVoiceConnectorOriginationResponse
_ = ()