{-# 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.Pinpoint.DeleteApp -- 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 application. module Amazonka.Pinpoint.DeleteApp ( -- * Creating a Request DeleteApp (..), newDeleteApp, -- * Request Lenses deleteApp_applicationId, -- * Destructuring the Response DeleteAppResponse (..), newDeleteAppResponse, -- * Response Lenses deleteAppResponse_httpStatus, deleteAppResponse_applicationResponse, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.Pinpoint.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newDeleteApp' smart constructor. data DeleteApp = DeleteApp' { -- | The unique identifier for the application. This identifier is displayed -- as the __Project ID__ on the Amazon Pinpoint console. applicationId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteApp' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'applicationId', 'deleteApp_applicationId' - The unique identifier for the application. This identifier is displayed -- as the __Project ID__ on the Amazon Pinpoint console. newDeleteApp :: -- | 'applicationId' Prelude.Text -> DeleteApp newDeleteApp pApplicationId_ = DeleteApp' {applicationId = pApplicationId_} -- | The unique identifier for the application. This identifier is displayed -- as the __Project ID__ on the Amazon Pinpoint console. deleteApp_applicationId :: Lens.Lens' DeleteApp Prelude.Text deleteApp_applicationId = Lens.lens (\DeleteApp' {applicationId} -> applicationId) (\s@DeleteApp' {} a -> s {applicationId = a} :: DeleteApp) instance Core.AWSRequest DeleteApp where type AWSResponse DeleteApp = DeleteAppResponse request overrides = Request.delete (overrides defaultService) response = Response.receiveJSON ( \s h x -> DeleteAppResponse' Prelude.<$> (Prelude.pure (Prelude.fromEnum s)) Prelude.<*> (Data.eitherParseJSON x) ) instance Prelude.Hashable DeleteApp where hashWithSalt _salt DeleteApp' {..} = _salt `Prelude.hashWithSalt` applicationId instance Prelude.NFData DeleteApp where rnf DeleteApp' {..} = Prelude.rnf applicationId instance Data.ToHeaders DeleteApp where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath DeleteApp where toPath DeleteApp' {..} = Prelude.mconcat ["/v1/apps/", Data.toBS applicationId] instance Data.ToQuery DeleteApp where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newDeleteAppResponse' smart constructor. data DeleteAppResponse = DeleteAppResponse' { -- | The response's http status code. httpStatus :: Prelude.Int, applicationResponse :: ApplicationResponse } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeleteAppResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'httpStatus', 'deleteAppResponse_httpStatus' - The response's http status code. -- -- 'applicationResponse', 'deleteAppResponse_applicationResponse' - Undocumented member. newDeleteAppResponse :: -- | 'httpStatus' Prelude.Int -> -- | 'applicationResponse' ApplicationResponse -> DeleteAppResponse newDeleteAppResponse pHttpStatus_ pApplicationResponse_ = DeleteAppResponse' { httpStatus = pHttpStatus_, applicationResponse = pApplicationResponse_ } -- | The response's http status code. deleteAppResponse_httpStatus :: Lens.Lens' DeleteAppResponse Prelude.Int deleteAppResponse_httpStatus = Lens.lens (\DeleteAppResponse' {httpStatus} -> httpStatus) (\s@DeleteAppResponse' {} a -> s {httpStatus = a} :: DeleteAppResponse) -- | Undocumented member. deleteAppResponse_applicationResponse :: Lens.Lens' DeleteAppResponse ApplicationResponse deleteAppResponse_applicationResponse = Lens.lens (\DeleteAppResponse' {applicationResponse} -> applicationResponse) (\s@DeleteAppResponse' {} a -> s {applicationResponse = a} :: DeleteAppResponse) instance Prelude.NFData DeleteAppResponse where rnf DeleteAppResponse' {..} = Prelude.rnf httpStatus `Prelude.seq` Prelude.rnf applicationResponse