packages feed

amazonka-chime-2.0: gen/Amazonka/Chime/DeleteAppInstance.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.Chime.DeleteAppInstance
-- 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 an @AppInstance@ and all associated data asynchronously.
module Amazonka.Chime.DeleteAppInstance
  ( -- * Creating a Request
    DeleteAppInstance (..),
    newDeleteAppInstance,

    -- * Request Lenses
    deleteAppInstance_appInstanceArn,

    -- * Destructuring the Response
    DeleteAppInstanceResponse (..),
    newDeleteAppInstanceResponse,
  )
where

import Amazonka.Chime.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:/ 'newDeleteAppInstance' smart constructor.
data DeleteAppInstance = DeleteAppInstance'
  { -- | The ARN of the @AppInstance@.
    appInstanceArn :: Prelude.Text
  }
  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)

-- |
-- Create a value of 'DeleteAppInstance' 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:
--
-- 'appInstanceArn', 'deleteAppInstance_appInstanceArn' - The ARN of the @AppInstance@.
newDeleteAppInstance ::
  -- | 'appInstanceArn'
  Prelude.Text ->
  DeleteAppInstance
newDeleteAppInstance pAppInstanceArn_ =
  DeleteAppInstance'
    { appInstanceArn =
        pAppInstanceArn_
    }

-- | The ARN of the @AppInstance@.
deleteAppInstance_appInstanceArn :: Lens.Lens' DeleteAppInstance Prelude.Text
deleteAppInstance_appInstanceArn = Lens.lens (\DeleteAppInstance' {appInstanceArn} -> appInstanceArn) (\s@DeleteAppInstance' {} a -> s {appInstanceArn = a} :: DeleteAppInstance)

instance Core.AWSRequest DeleteAppInstance where
  type
    AWSResponse DeleteAppInstance =
      DeleteAppInstanceResponse
  request overrides =
    Request.delete (overrides defaultService)
  response =
    Response.receiveNull DeleteAppInstanceResponse'

instance Prelude.Hashable DeleteAppInstance where
  hashWithSalt _salt DeleteAppInstance' {..} =
    _salt `Prelude.hashWithSalt` appInstanceArn

instance Prelude.NFData DeleteAppInstance where
  rnf DeleteAppInstance' {..} =
    Prelude.rnf appInstanceArn

instance Data.ToHeaders DeleteAppInstance where
  toHeaders = Prelude.const Prelude.mempty

instance Data.ToPath DeleteAppInstance where
  toPath DeleteAppInstance' {..} =
    Prelude.mconcat
      ["/app-instances/", Data.toBS appInstanceArn]

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

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

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

instance Prelude.NFData DeleteAppInstanceResponse where
  rnf _ = ()