amazonka-healthlake-2.0: gen/Amazonka/HealthLake/DeleteFHIRDatastore.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.HealthLake.DeleteFHIRDatastore
-- 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 a Data Store.
module Amazonka.HealthLake.DeleteFHIRDatastore
( -- * Creating a Request
DeleteFHIRDatastore (..),
newDeleteFHIRDatastore,
-- * Request Lenses
deleteFHIRDatastore_datastoreId,
-- * Destructuring the Response
DeleteFHIRDatastoreResponse (..),
newDeleteFHIRDatastoreResponse,
-- * Response Lenses
deleteFHIRDatastoreResponse_httpStatus,
deleteFHIRDatastoreResponse_datastoreId,
deleteFHIRDatastoreResponse_datastoreArn,
deleteFHIRDatastoreResponse_datastoreStatus,
deleteFHIRDatastoreResponse_datastoreEndpoint,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.HealthLake.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
-- | /See:/ 'newDeleteFHIRDatastore' smart constructor.
data DeleteFHIRDatastore = DeleteFHIRDatastore'
{ -- | The AWS-generated ID for the Data Store to be deleted.
datastoreId :: Prelude.Maybe Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DeleteFHIRDatastore' 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:
--
-- 'datastoreId', 'deleteFHIRDatastore_datastoreId' - The AWS-generated ID for the Data Store to be deleted.
newDeleteFHIRDatastore ::
DeleteFHIRDatastore
newDeleteFHIRDatastore =
DeleteFHIRDatastore' {datastoreId = Prelude.Nothing}
-- | The AWS-generated ID for the Data Store to be deleted.
deleteFHIRDatastore_datastoreId :: Lens.Lens' DeleteFHIRDatastore (Prelude.Maybe Prelude.Text)
deleteFHIRDatastore_datastoreId = Lens.lens (\DeleteFHIRDatastore' {datastoreId} -> datastoreId) (\s@DeleteFHIRDatastore' {} a -> s {datastoreId = a} :: DeleteFHIRDatastore)
instance Core.AWSRequest DeleteFHIRDatastore where
type
AWSResponse DeleteFHIRDatastore =
DeleteFHIRDatastoreResponse
request overrides =
Request.postJSON (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
DeleteFHIRDatastoreResponse'
Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
Prelude.<*> (x Data..:> "DatastoreId")
Prelude.<*> (x Data..:> "DatastoreArn")
Prelude.<*> (x Data..:> "DatastoreStatus")
Prelude.<*> (x Data..:> "DatastoreEndpoint")
)
instance Prelude.Hashable DeleteFHIRDatastore where
hashWithSalt _salt DeleteFHIRDatastore' {..} =
_salt `Prelude.hashWithSalt` datastoreId
instance Prelude.NFData DeleteFHIRDatastore where
rnf DeleteFHIRDatastore' {..} =
Prelude.rnf datastoreId
instance Data.ToHeaders DeleteFHIRDatastore where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ( "HealthLake.DeleteFHIRDatastore" ::
Prelude.ByteString
),
"Content-Type"
Data.=# ( "application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteFHIRDatastore where
toJSON DeleteFHIRDatastore' {..} =
Data.object
( Prelude.catMaybes
[("DatastoreId" Data..=) Prelude.<$> datastoreId]
)
instance Data.ToPath DeleteFHIRDatastore where
toPath = Prelude.const "/"
instance Data.ToQuery DeleteFHIRDatastore where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newDeleteFHIRDatastoreResponse' smart constructor.
data DeleteFHIRDatastoreResponse = DeleteFHIRDatastoreResponse'
{ -- | The response's http status code.
httpStatus :: Prelude.Int,
-- | The AWS-generated ID for the Data Store to be deleted.
datastoreId :: Prelude.Text,
-- | The Amazon Resource Name (ARN) that gives Amazon HealthLake access
-- permission.
datastoreArn :: Prelude.Text,
-- | The status of the Data Store that the user has requested to be deleted.
datastoreStatus :: DatastoreStatus,
-- | The AWS endpoint for the Data Store the user has requested to be
-- deleted.
datastoreEndpoint :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DeleteFHIRDatastoreResponse' 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', 'deleteFHIRDatastoreResponse_httpStatus' - The response's http status code.
--
-- 'datastoreId', 'deleteFHIRDatastoreResponse_datastoreId' - The AWS-generated ID for the Data Store to be deleted.
--
-- 'datastoreArn', 'deleteFHIRDatastoreResponse_datastoreArn' - The Amazon Resource Name (ARN) that gives Amazon HealthLake access
-- permission.
--
-- 'datastoreStatus', 'deleteFHIRDatastoreResponse_datastoreStatus' - The status of the Data Store that the user has requested to be deleted.
--
-- 'datastoreEndpoint', 'deleteFHIRDatastoreResponse_datastoreEndpoint' - The AWS endpoint for the Data Store the user has requested to be
-- deleted.
newDeleteFHIRDatastoreResponse ::
-- | 'httpStatus'
Prelude.Int ->
-- | 'datastoreId'
Prelude.Text ->
-- | 'datastoreArn'
Prelude.Text ->
-- | 'datastoreStatus'
DatastoreStatus ->
-- | 'datastoreEndpoint'
Prelude.Text ->
DeleteFHIRDatastoreResponse
newDeleteFHIRDatastoreResponse
pHttpStatus_
pDatastoreId_
pDatastoreArn_
pDatastoreStatus_
pDatastoreEndpoint_ =
DeleteFHIRDatastoreResponse'
{ httpStatus =
pHttpStatus_,
datastoreId = pDatastoreId_,
datastoreArn = pDatastoreArn_,
datastoreStatus = pDatastoreStatus_,
datastoreEndpoint = pDatastoreEndpoint_
}
-- | The response's http status code.
deleteFHIRDatastoreResponse_httpStatus :: Lens.Lens' DeleteFHIRDatastoreResponse Prelude.Int
deleteFHIRDatastoreResponse_httpStatus = Lens.lens (\DeleteFHIRDatastoreResponse' {httpStatus} -> httpStatus) (\s@DeleteFHIRDatastoreResponse' {} a -> s {httpStatus = a} :: DeleteFHIRDatastoreResponse)
-- | The AWS-generated ID for the Data Store to be deleted.
deleteFHIRDatastoreResponse_datastoreId :: Lens.Lens' DeleteFHIRDatastoreResponse Prelude.Text
deleteFHIRDatastoreResponse_datastoreId = Lens.lens (\DeleteFHIRDatastoreResponse' {datastoreId} -> datastoreId) (\s@DeleteFHIRDatastoreResponse' {} a -> s {datastoreId = a} :: DeleteFHIRDatastoreResponse)
-- | The Amazon Resource Name (ARN) that gives Amazon HealthLake access
-- permission.
deleteFHIRDatastoreResponse_datastoreArn :: Lens.Lens' DeleteFHIRDatastoreResponse Prelude.Text
deleteFHIRDatastoreResponse_datastoreArn = Lens.lens (\DeleteFHIRDatastoreResponse' {datastoreArn} -> datastoreArn) (\s@DeleteFHIRDatastoreResponse' {} a -> s {datastoreArn = a} :: DeleteFHIRDatastoreResponse)
-- | The status of the Data Store that the user has requested to be deleted.
deleteFHIRDatastoreResponse_datastoreStatus :: Lens.Lens' DeleteFHIRDatastoreResponse DatastoreStatus
deleteFHIRDatastoreResponse_datastoreStatus = Lens.lens (\DeleteFHIRDatastoreResponse' {datastoreStatus} -> datastoreStatus) (\s@DeleteFHIRDatastoreResponse' {} a -> s {datastoreStatus = a} :: DeleteFHIRDatastoreResponse)
-- | The AWS endpoint for the Data Store the user has requested to be
-- deleted.
deleteFHIRDatastoreResponse_datastoreEndpoint :: Lens.Lens' DeleteFHIRDatastoreResponse Prelude.Text
deleteFHIRDatastoreResponse_datastoreEndpoint = Lens.lens (\DeleteFHIRDatastoreResponse' {datastoreEndpoint} -> datastoreEndpoint) (\s@DeleteFHIRDatastoreResponse' {} a -> s {datastoreEndpoint = a} :: DeleteFHIRDatastoreResponse)
instance Prelude.NFData DeleteFHIRDatastoreResponse where
rnf DeleteFHIRDatastoreResponse' {..} =
Prelude.rnf httpStatus
`Prelude.seq` Prelude.rnf datastoreId
`Prelude.seq` Prelude.rnf datastoreArn
`Prelude.seq` Prelude.rnf datastoreStatus
`Prelude.seq` Prelude.rnf datastoreEndpoint