packages feed

amazonka-ivs-2.0: gen/Amazonka/IVS/DeleteStreamKey.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.IVS.DeleteStreamKey
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Deletes the stream key for the specified ARN, so it can no longer be
-- used to stream.
module Amazonka.IVS.DeleteStreamKey
  ( -- * Creating a Request
    DeleteStreamKey (..),
    newDeleteStreamKey,

    -- * Request Lenses
    deleteStreamKey_arn,

    -- * Destructuring the Response
    DeleteStreamKeyResponse (..),
    newDeleteStreamKeyResponse,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IVS.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDeleteStreamKey' smart constructor.
data DeleteStreamKey = DeleteStreamKey'
  { -- | ARN of the stream key to be deleted.
    arn :: Prelude.Text
  }
  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)

-- |
-- Create a value of 'DeleteStreamKey' 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:
--
-- 'arn', 'deleteStreamKey_arn' - ARN of the stream key to be deleted.
newDeleteStreamKey ::
  -- | 'arn'
  Prelude.Text ->
  DeleteStreamKey
newDeleteStreamKey pArn_ =
  DeleteStreamKey' {arn = pArn_}

-- | ARN of the stream key to be deleted.
deleteStreamKey_arn :: Lens.Lens' DeleteStreamKey Prelude.Text
deleteStreamKey_arn = Lens.lens (\DeleteStreamKey' {arn} -> arn) (\s@DeleteStreamKey' {} a -> s {arn = a} :: DeleteStreamKey)

instance Core.AWSRequest DeleteStreamKey where
  type
    AWSResponse DeleteStreamKey =
      DeleteStreamKeyResponse
  request overrides =
    Request.postJSON (overrides defaultService)
  response =
    Response.receiveNull DeleteStreamKeyResponse'

instance Prelude.Hashable DeleteStreamKey where
  hashWithSalt _salt DeleteStreamKey' {..} =
    _salt `Prelude.hashWithSalt` arn

instance Prelude.NFData DeleteStreamKey where
  rnf DeleteStreamKey' {..} = Prelude.rnf arn

instance Data.ToHeaders DeleteStreamKey where
  toHeaders =
    Prelude.const
      ( Prelude.mconcat
          [ "Content-Type"
              Data.=# ( "application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DeleteStreamKey where
  toJSON DeleteStreamKey' {..} =
    Data.object
      ( Prelude.catMaybes
          [Prelude.Just ("arn" Data..= arn)]
      )

instance Data.ToPath DeleteStreamKey where
  toPath = Prelude.const "/DeleteStreamKey"

instance Data.ToQuery DeleteStreamKey where
  toQuery = Prelude.const Prelude.mempty

-- | /See:/ 'newDeleteStreamKeyResponse' smart constructor.
data DeleteStreamKeyResponse = DeleteStreamKeyResponse'
  {
  }
  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)

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

instance Prelude.NFData DeleteStreamKeyResponse where
  rnf _ = ()