{-# 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.FinSpaceData.GetDataset -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns information about a Dataset. module Amazonka.FinSpaceData.GetDataset ( -- * Creating a Request GetDataset (..), newGetDataset, -- * Request Lenses getDataset_datasetId, -- * Destructuring the Response GetDatasetResponse (..), newGetDatasetResponse, -- * Response Lenses getDatasetResponse_alias, getDatasetResponse_createTime, getDatasetResponse_datasetArn, getDatasetResponse_datasetDescription, getDatasetResponse_datasetId, getDatasetResponse_datasetTitle, getDatasetResponse_kind, getDatasetResponse_lastModifiedTime, getDatasetResponse_schemaDefinition, getDatasetResponse_status, getDatasetResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.FinSpaceData.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | Request for the GetDataset operation. -- -- /See:/ 'newGetDataset' smart constructor. data GetDataset = GetDataset' { -- | The unique identifier for a Dataset. datasetId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetDataset' 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: -- -- 'datasetId', 'getDataset_datasetId' - The unique identifier for a Dataset. newGetDataset :: -- | 'datasetId' Prelude.Text -> GetDataset newGetDataset pDatasetId_ = GetDataset' {datasetId = pDatasetId_} -- | The unique identifier for a Dataset. getDataset_datasetId :: Lens.Lens' GetDataset Prelude.Text getDataset_datasetId = Lens.lens (\GetDataset' {datasetId} -> datasetId) (\s@GetDataset' {} a -> s {datasetId = a} :: GetDataset) instance Core.AWSRequest GetDataset where type AWSResponse GetDataset = GetDatasetResponse request overrides = Request.get (overrides defaultService) response = Response.receiveJSON ( \s h x -> GetDatasetResponse' Prelude.<$> (x Data..?> "alias") Prelude.<*> (x Data..?> "createTime") Prelude.<*> (x Data..?> "datasetArn") Prelude.<*> (x Data..?> "datasetDescription") Prelude.<*> (x Data..?> "datasetId") Prelude.<*> (x Data..?> "datasetTitle") Prelude.<*> (x Data..?> "kind") Prelude.<*> (x Data..?> "lastModifiedTime") Prelude.<*> (x Data..?> "schemaDefinition") Prelude.<*> (x Data..?> "status") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable GetDataset where hashWithSalt _salt GetDataset' {..} = _salt `Prelude.hashWithSalt` datasetId instance Prelude.NFData GetDataset where rnf GetDataset' {..} = Prelude.rnf datasetId instance Data.ToHeaders GetDataset where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath GetDataset where toPath GetDataset' {..} = Prelude.mconcat ["/datasetsv2/", Data.toBS datasetId] instance Data.ToQuery GetDataset where toQuery = Prelude.const Prelude.mempty -- | Response for the GetDataset operation -- -- /See:/ 'newGetDatasetResponse' smart constructor. data GetDatasetResponse = GetDatasetResponse' { -- | The unique resource identifier for a Dataset. alias :: Prelude.Maybe Prelude.Text, -- | The timestamp at which the Dataset was created in FinSpace. The value is -- determined as epoch time in milliseconds. For example, the value for -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. createTime :: Prelude.Maybe Prelude.Integer, -- | The ARN identifier of the Dataset. datasetArn :: Prelude.Maybe Prelude.Text, -- | A description of the Dataset. datasetDescription :: Prelude.Maybe Prelude.Text, -- | The unique identifier for a Dataset. datasetId :: Prelude.Maybe Prelude.Text, -- | Display title for a Dataset. datasetTitle :: Prelude.Maybe Prelude.Text, -- | The format in which Dataset data is structured. -- -- - @TABULAR@ – Data is structured in a tabular format. -- -- - @NON_TABULAR@ – Data is structured in a non-tabular format. kind :: Prelude.Maybe DatasetKind, -- | The last time that the Dataset was modified. The value is determined as -- epoch time in milliseconds. For example, the value for Monday, November -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000. lastModifiedTime :: Prelude.Maybe Prelude.Integer, -- | Definition for a schema on a tabular Dataset. schemaDefinition :: Prelude.Maybe SchemaUnion, -- | Status of the Dataset creation. -- -- - @PENDING@ – Dataset is pending creation. -- -- - @FAILED@ – Dataset creation has failed. -- -- - @SUCCESS@ – Dataset creation has succeeded. -- -- - @RUNNING@ – Dataset creation is running. status :: Prelude.Maybe DatasetStatus, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetDatasetResponse' 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: -- -- 'alias', 'getDatasetResponse_alias' - The unique resource identifier for a Dataset. -- -- 'createTime', 'getDatasetResponse_createTime' - The timestamp at which the Dataset was created in FinSpace. The value is -- determined as epoch time in milliseconds. For example, the value for -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. -- -- 'datasetArn', 'getDatasetResponse_datasetArn' - The ARN identifier of the Dataset. -- -- 'datasetDescription', 'getDatasetResponse_datasetDescription' - A description of the Dataset. -- -- 'datasetId', 'getDatasetResponse_datasetId' - The unique identifier for a Dataset. -- -- 'datasetTitle', 'getDatasetResponse_datasetTitle' - Display title for a Dataset. -- -- 'kind', 'getDatasetResponse_kind' - The format in which Dataset data is structured. -- -- - @TABULAR@ – Data is structured in a tabular format. -- -- - @NON_TABULAR@ – Data is structured in a non-tabular format. -- -- 'lastModifiedTime', 'getDatasetResponse_lastModifiedTime' - The last time that the Dataset was modified. The value is determined as -- epoch time in milliseconds. For example, the value for Monday, November -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000. -- -- 'schemaDefinition', 'getDatasetResponse_schemaDefinition' - Definition for a schema on a tabular Dataset. -- -- 'status', 'getDatasetResponse_status' - Status of the Dataset creation. -- -- - @PENDING@ – Dataset is pending creation. -- -- - @FAILED@ – Dataset creation has failed. -- -- - @SUCCESS@ – Dataset creation has succeeded. -- -- - @RUNNING@ – Dataset creation is running. -- -- 'httpStatus', 'getDatasetResponse_httpStatus' - The response's http status code. newGetDatasetResponse :: -- | 'httpStatus' Prelude.Int -> GetDatasetResponse newGetDatasetResponse pHttpStatus_ = GetDatasetResponse' { alias = Prelude.Nothing, createTime = Prelude.Nothing, datasetArn = Prelude.Nothing, datasetDescription = Prelude.Nothing, datasetId = Prelude.Nothing, datasetTitle = Prelude.Nothing, kind = Prelude.Nothing, lastModifiedTime = Prelude.Nothing, schemaDefinition = Prelude.Nothing, status = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | The unique resource identifier for a Dataset. getDatasetResponse_alias :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text) getDatasetResponse_alias = Lens.lens (\GetDatasetResponse' {alias} -> alias) (\s@GetDatasetResponse' {} a -> s {alias = a} :: GetDatasetResponse) -- | The timestamp at which the Dataset was created in FinSpace. The value is -- determined as epoch time in milliseconds. For example, the value for -- Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. getDatasetResponse_createTime :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Integer) getDatasetResponse_createTime = Lens.lens (\GetDatasetResponse' {createTime} -> createTime) (\s@GetDatasetResponse' {} a -> s {createTime = a} :: GetDatasetResponse) -- | The ARN identifier of the Dataset. getDatasetResponse_datasetArn :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text) getDatasetResponse_datasetArn = Lens.lens (\GetDatasetResponse' {datasetArn} -> datasetArn) (\s@GetDatasetResponse' {} a -> s {datasetArn = a} :: GetDatasetResponse) -- | A description of the Dataset. getDatasetResponse_datasetDescription :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text) getDatasetResponse_datasetDescription = Lens.lens (\GetDatasetResponse' {datasetDescription} -> datasetDescription) (\s@GetDatasetResponse' {} a -> s {datasetDescription = a} :: GetDatasetResponse) -- | The unique identifier for a Dataset. getDatasetResponse_datasetId :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text) getDatasetResponse_datasetId = Lens.lens (\GetDatasetResponse' {datasetId} -> datasetId) (\s@GetDatasetResponse' {} a -> s {datasetId = a} :: GetDatasetResponse) -- | Display title for a Dataset. getDatasetResponse_datasetTitle :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Text) getDatasetResponse_datasetTitle = Lens.lens (\GetDatasetResponse' {datasetTitle} -> datasetTitle) (\s@GetDatasetResponse' {} a -> s {datasetTitle = a} :: GetDatasetResponse) -- | The format in which Dataset data is structured. -- -- - @TABULAR@ – Data is structured in a tabular format. -- -- - @NON_TABULAR@ – Data is structured in a non-tabular format. getDatasetResponse_kind :: Lens.Lens' GetDatasetResponse (Prelude.Maybe DatasetKind) getDatasetResponse_kind = Lens.lens (\GetDatasetResponse' {kind} -> kind) (\s@GetDatasetResponse' {} a -> s {kind = a} :: GetDatasetResponse) -- | The last time that the Dataset was modified. The value is determined as -- epoch time in milliseconds. For example, the value for Monday, November -- 1, 2021 12:00:00 PM UTC is specified as 1635768000000. getDatasetResponse_lastModifiedTime :: Lens.Lens' GetDatasetResponse (Prelude.Maybe Prelude.Integer) getDatasetResponse_lastModifiedTime = Lens.lens (\GetDatasetResponse' {lastModifiedTime} -> lastModifiedTime) (\s@GetDatasetResponse' {} a -> s {lastModifiedTime = a} :: GetDatasetResponse) -- | Definition for a schema on a tabular Dataset. getDatasetResponse_schemaDefinition :: Lens.Lens' GetDatasetResponse (Prelude.Maybe SchemaUnion) getDatasetResponse_schemaDefinition = Lens.lens (\GetDatasetResponse' {schemaDefinition} -> schemaDefinition) (\s@GetDatasetResponse' {} a -> s {schemaDefinition = a} :: GetDatasetResponse) -- | Status of the Dataset creation. -- -- - @PENDING@ – Dataset is pending creation. -- -- - @FAILED@ – Dataset creation has failed. -- -- - @SUCCESS@ – Dataset creation has succeeded. -- -- - @RUNNING@ – Dataset creation is running. getDatasetResponse_status :: Lens.Lens' GetDatasetResponse (Prelude.Maybe DatasetStatus) getDatasetResponse_status = Lens.lens (\GetDatasetResponse' {status} -> status) (\s@GetDatasetResponse' {} a -> s {status = a} :: GetDatasetResponse) -- | The response's http status code. getDatasetResponse_httpStatus :: Lens.Lens' GetDatasetResponse Prelude.Int getDatasetResponse_httpStatus = Lens.lens (\GetDatasetResponse' {httpStatus} -> httpStatus) (\s@GetDatasetResponse' {} a -> s {httpStatus = a} :: GetDatasetResponse) instance Prelude.NFData GetDatasetResponse where rnf GetDatasetResponse' {..} = Prelude.rnf alias `Prelude.seq` Prelude.rnf createTime `Prelude.seq` Prelude.rnf datasetArn `Prelude.seq` Prelude.rnf datasetDescription `Prelude.seq` Prelude.rnf datasetId `Prelude.seq` Prelude.rnf datasetTitle `Prelude.seq` Prelude.rnf kind `Prelude.seq` Prelude.rnf lastModifiedTime `Prelude.seq` Prelude.rnf schemaDefinition `Prelude.seq` Prelude.rnf status `Prelude.seq` Prelude.rnf httpStatus