{-# 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.LookoutEquipment.DescribeDataset
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Provides a JSON description of the data in each time series dataset,
-- including names, column names, and data types.
module Amazonka.LookoutEquipment.DescribeDataset
  ( -- * Creating a Request
    DescribeDataset (..),
    newDescribeDataset,

    -- * Request Lenses
    describeDataset_datasetName,

    -- * Destructuring the Response
    DescribeDatasetResponse (..),
    newDescribeDatasetResponse,

    -- * Response Lenses
    describeDatasetResponse_createdAt,
    describeDatasetResponse_dataEndTime,
    describeDatasetResponse_dataQualitySummary,
    describeDatasetResponse_dataStartTime,
    describeDatasetResponse_datasetArn,
    describeDatasetResponse_datasetName,
    describeDatasetResponse_ingestedFilesSummary,
    describeDatasetResponse_ingestionInputConfiguration,
    describeDatasetResponse_lastUpdatedAt,
    describeDatasetResponse_roleArn,
    describeDatasetResponse_schema,
    describeDatasetResponse_serverSideKmsKeyId,
    describeDatasetResponse_status,
    describeDatasetResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeDataset' smart constructor.
data DescribeDataset = DescribeDataset'
  { -- | The name of the dataset to be described.
    DescribeDataset -> Text
datasetName :: Prelude.Text
  }
  deriving (DescribeDataset -> DescribeDataset -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDataset -> DescribeDataset -> Bool
$c/= :: DescribeDataset -> DescribeDataset -> Bool
== :: DescribeDataset -> DescribeDataset -> Bool
$c== :: DescribeDataset -> DescribeDataset -> Bool
Prelude.Eq, ReadPrec [DescribeDataset]
ReadPrec DescribeDataset
Int -> ReadS DescribeDataset
ReadS [DescribeDataset]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDataset]
$creadListPrec :: ReadPrec [DescribeDataset]
readPrec :: ReadPrec DescribeDataset
$creadPrec :: ReadPrec DescribeDataset
readList :: ReadS [DescribeDataset]
$creadList :: ReadS [DescribeDataset]
readsPrec :: Int -> ReadS DescribeDataset
$creadsPrec :: Int -> ReadS DescribeDataset
Prelude.Read, Int -> DescribeDataset -> ShowS
[DescribeDataset] -> ShowS
DescribeDataset -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDataset] -> ShowS
$cshowList :: [DescribeDataset] -> ShowS
show :: DescribeDataset -> String
$cshow :: DescribeDataset -> String
showsPrec :: Int -> DescribeDataset -> ShowS
$cshowsPrec :: Int -> DescribeDataset -> ShowS
Prelude.Show, forall x. Rep DescribeDataset x -> DescribeDataset
forall x. DescribeDataset -> Rep DescribeDataset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeDataset x -> DescribeDataset
$cfrom :: forall x. DescribeDataset -> Rep DescribeDataset x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDataset' 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:
--
-- 'datasetName', 'describeDataset_datasetName' - The name of the dataset to be described.
newDescribeDataset ::
  -- | 'datasetName'
  Prelude.Text ->
  DescribeDataset
newDescribeDataset :: Text -> DescribeDataset
newDescribeDataset Text
pDatasetName_ =
  DescribeDataset' {$sel:datasetName:DescribeDataset' :: Text
datasetName = Text
pDatasetName_}

-- | The name of the dataset to be described.
describeDataset_datasetName :: Lens.Lens' DescribeDataset Prelude.Text
describeDataset_datasetName :: Lens' DescribeDataset Text
describeDataset_datasetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataset' {Text
datasetName :: Text
$sel:datasetName:DescribeDataset' :: DescribeDataset -> Text
datasetName} -> Text
datasetName) (\s :: DescribeDataset
s@DescribeDataset' {} Text
a -> DescribeDataset
s {$sel:datasetName:DescribeDataset' :: Text
datasetName = Text
a} :: DescribeDataset)

instance Core.AWSRequest DescribeDataset where
  type
    AWSResponse DescribeDataset =
      DescribeDatasetResponse
  request :: (Service -> Service) -> DescribeDataset -> Request DescribeDataset
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeDataset
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeDataset)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe POSIX
-> Maybe POSIX
-> Maybe DataQualitySummary
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe IngestedFilesSummary
-> Maybe IngestionInputConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DatasetStatus
-> Int
-> DescribeDatasetResponse
DescribeDatasetResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CreatedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DataEndTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DataQualitySummary")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DataStartTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DatasetArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DatasetName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"IngestedFilesSummary")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"IngestionInputConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"LastUpdatedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RoleArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Schema")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ServerSideKmsKeyId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeDataset where
  hashWithSalt :: Int -> DescribeDataset -> Int
hashWithSalt Int
_salt DescribeDataset' {Text
datasetName :: Text
$sel:datasetName:DescribeDataset' :: DescribeDataset -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datasetName

instance Prelude.NFData DescribeDataset where
  rnf :: DescribeDataset -> ()
rnf DescribeDataset' {Text
datasetName :: Text
$sel:datasetName:DescribeDataset' :: DescribeDataset -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
datasetName

instance Data.ToHeaders DescribeDataset where
  toHeaders :: DescribeDataset -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AWSLookoutEquipmentFrontendService.DescribeDataset" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeDataset where
  toJSON :: DescribeDataset -> Value
toJSON DescribeDataset' {Text
datasetName :: Text
$sel:datasetName:DescribeDataset' :: DescribeDataset -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"DatasetName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
datasetName)]
      )

instance Data.ToPath DescribeDataset where
  toPath :: DescribeDataset -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribeDataset where
  toQuery :: DescribeDataset -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeDatasetResponse' smart constructor.
data DescribeDatasetResponse = DescribeDatasetResponse'
  { -- | Specifies the time the dataset was created in Lookout for Equipment.
    DescribeDatasetResponse -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
    -- | Indicates the latest timestamp corresponding to data that was
    -- successfully ingested during the most recent ingestion of this
    -- particular dataset.
    DescribeDatasetResponse -> Maybe POSIX
dataEndTime :: Prelude.Maybe Data.POSIX,
    -- | Gives statistics associated with the given dataset for the latest
    -- successful associated ingestion job id. These statistics primarily
    -- relate to quantifying incorrect data such as MissingCompleteSensorData,
    -- MissingSensorData, UnsupportedDateFormats, InsufficientSensorData, and
    -- DuplicateTimeStamps.
    DescribeDatasetResponse -> Maybe DataQualitySummary
dataQualitySummary :: Prelude.Maybe DataQualitySummary,
    -- | Indicates the earliest timestamp corresponding to data that was
    -- successfully ingested during the most recent ingestion of this
    -- particular dataset.
    DescribeDatasetResponse -> Maybe POSIX
dataStartTime :: Prelude.Maybe Data.POSIX,
    -- | The Amazon Resource Name (ARN) of the dataset being described.
    DescribeDatasetResponse -> Maybe Text
datasetArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the dataset being described.
    DescribeDatasetResponse -> Maybe Text
datasetName :: Prelude.Maybe Prelude.Text,
    -- | IngestedFilesSummary associated with the given dataset for the latest
    -- successful associated ingestion job id.
    DescribeDatasetResponse -> Maybe IngestedFilesSummary
ingestedFilesSummary :: Prelude.Maybe IngestedFilesSummary,
    -- | Specifies the S3 location configuration for the data input for the data
    -- ingestion job.
    DescribeDatasetResponse -> Maybe IngestionInputConfiguration
ingestionInputConfiguration :: Prelude.Maybe IngestionInputConfiguration,
    -- | Specifies the time the dataset was last updated, if it was.
    DescribeDatasetResponse -> Maybe POSIX
lastUpdatedAt :: Prelude.Maybe Data.POSIX,
    -- | The Amazon Resource Name (ARN) of the IAM role that you are using for
    -- this the data ingestion job.
    DescribeDatasetResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | A JSON description of the data that is in each time series dataset,
    -- including names, column names, and data types.
    DescribeDatasetResponse -> Maybe Text
schema :: Prelude.Maybe Prelude.Text,
    -- | Provides the identifier of the KMS key used to encrypt dataset data by
    -- Amazon Lookout for Equipment.
    DescribeDatasetResponse -> Maybe Text
serverSideKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Indicates the status of the dataset.
    DescribeDatasetResponse -> Maybe DatasetStatus
status :: Prelude.Maybe DatasetStatus,
    -- | The response's http status code.
    DescribeDatasetResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeDatasetResponse -> DescribeDatasetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDatasetResponse -> DescribeDatasetResponse -> Bool
$c/= :: DescribeDatasetResponse -> DescribeDatasetResponse -> Bool
== :: DescribeDatasetResponse -> DescribeDatasetResponse -> Bool
$c== :: DescribeDatasetResponse -> DescribeDatasetResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDatasetResponse]
ReadPrec DescribeDatasetResponse
Int -> ReadS DescribeDatasetResponse
ReadS [DescribeDatasetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDatasetResponse]
$creadListPrec :: ReadPrec [DescribeDatasetResponse]
readPrec :: ReadPrec DescribeDatasetResponse
$creadPrec :: ReadPrec DescribeDatasetResponse
readList :: ReadS [DescribeDatasetResponse]
$creadList :: ReadS [DescribeDatasetResponse]
readsPrec :: Int -> ReadS DescribeDatasetResponse
$creadsPrec :: Int -> ReadS DescribeDatasetResponse
Prelude.Read, Int -> DescribeDatasetResponse -> ShowS
[DescribeDatasetResponse] -> ShowS
DescribeDatasetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDatasetResponse] -> ShowS
$cshowList :: [DescribeDatasetResponse] -> ShowS
show :: DescribeDatasetResponse -> String
$cshow :: DescribeDatasetResponse -> String
showsPrec :: Int -> DescribeDatasetResponse -> ShowS
$cshowsPrec :: Int -> DescribeDatasetResponse -> ShowS
Prelude.Show, forall x. Rep DescribeDatasetResponse x -> DescribeDatasetResponse
forall x. DescribeDatasetResponse -> Rep DescribeDatasetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeDatasetResponse x -> DescribeDatasetResponse
$cfrom :: forall x. DescribeDatasetResponse -> Rep DescribeDatasetResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDatasetResponse' 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:
--
-- 'createdAt', 'describeDatasetResponse_createdAt' - Specifies the time the dataset was created in Lookout for Equipment.
--
-- 'dataEndTime', 'describeDatasetResponse_dataEndTime' - Indicates the latest timestamp corresponding to data that was
-- successfully ingested during the most recent ingestion of this
-- particular dataset.
--
-- 'dataQualitySummary', 'describeDatasetResponse_dataQualitySummary' - Gives statistics associated with the given dataset for the latest
-- successful associated ingestion job id. These statistics primarily
-- relate to quantifying incorrect data such as MissingCompleteSensorData,
-- MissingSensorData, UnsupportedDateFormats, InsufficientSensorData, and
-- DuplicateTimeStamps.
--
-- 'dataStartTime', 'describeDatasetResponse_dataStartTime' - Indicates the earliest timestamp corresponding to data that was
-- successfully ingested during the most recent ingestion of this
-- particular dataset.
--
-- 'datasetArn', 'describeDatasetResponse_datasetArn' - The Amazon Resource Name (ARN) of the dataset being described.
--
-- 'datasetName', 'describeDatasetResponse_datasetName' - The name of the dataset being described.
--
-- 'ingestedFilesSummary', 'describeDatasetResponse_ingestedFilesSummary' - IngestedFilesSummary associated with the given dataset for the latest
-- successful associated ingestion job id.
--
-- 'ingestionInputConfiguration', 'describeDatasetResponse_ingestionInputConfiguration' - Specifies the S3 location configuration for the data input for the data
-- ingestion job.
--
-- 'lastUpdatedAt', 'describeDatasetResponse_lastUpdatedAt' - Specifies the time the dataset was last updated, if it was.
--
-- 'roleArn', 'describeDatasetResponse_roleArn' - The Amazon Resource Name (ARN) of the IAM role that you are using for
-- this the data ingestion job.
--
-- 'schema', 'describeDatasetResponse_schema' - A JSON description of the data that is in each time series dataset,
-- including names, column names, and data types.
--
-- 'serverSideKmsKeyId', 'describeDatasetResponse_serverSideKmsKeyId' - Provides the identifier of the KMS key used to encrypt dataset data by
-- Amazon Lookout for Equipment.
--
-- 'status', 'describeDatasetResponse_status' - Indicates the status of the dataset.
--
-- 'httpStatus', 'describeDatasetResponse_httpStatus' - The response's http status code.
newDescribeDatasetResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeDatasetResponse
newDescribeDatasetResponse :: Int -> DescribeDatasetResponse
newDescribeDatasetResponse Int
pHttpStatus_ =
  DescribeDatasetResponse'
    { $sel:createdAt:DescribeDatasetResponse' :: Maybe POSIX
createdAt =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dataEndTime:DescribeDatasetResponse' :: Maybe POSIX
dataEndTime = forall a. Maybe a
Prelude.Nothing,
      $sel:dataQualitySummary:DescribeDatasetResponse' :: Maybe DataQualitySummary
dataQualitySummary = forall a. Maybe a
Prelude.Nothing,
      $sel:dataStartTime:DescribeDatasetResponse' :: Maybe POSIX
dataStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetArn:DescribeDatasetResponse' :: Maybe Text
datasetArn = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetName:DescribeDatasetResponse' :: Maybe Text
datasetName = forall a. Maybe a
Prelude.Nothing,
      $sel:ingestedFilesSummary:DescribeDatasetResponse' :: Maybe IngestedFilesSummary
ingestedFilesSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:ingestionInputConfiguration:DescribeDatasetResponse' :: Maybe IngestionInputConfiguration
ingestionInputConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedAt:DescribeDatasetResponse' :: Maybe POSIX
lastUpdatedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:DescribeDatasetResponse' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:schema:DescribeDatasetResponse' :: Maybe Text
schema = forall a. Maybe a
Prelude.Nothing,
      $sel:serverSideKmsKeyId:DescribeDatasetResponse' :: Maybe Text
serverSideKmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeDatasetResponse' :: Maybe DatasetStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeDatasetResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Specifies the time the dataset was created in Lookout for Equipment.
describeDatasetResponse_createdAt :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.UTCTime)
describeDatasetResponse_createdAt :: Lens' DescribeDatasetResponse (Maybe UTCTime)
describeDatasetResponse_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe POSIX
a -> DescribeDatasetResponse
s {$sel:createdAt:DescribeDatasetResponse' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: DescribeDatasetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Indicates the latest timestamp corresponding to data that was
-- successfully ingested during the most recent ingestion of this
-- particular dataset.
describeDatasetResponse_dataEndTime :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.UTCTime)
describeDatasetResponse_dataEndTime :: Lens' DescribeDatasetResponse (Maybe UTCTime)
describeDatasetResponse_dataEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe POSIX
dataEndTime :: Maybe POSIX
$sel:dataEndTime:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
dataEndTime} -> Maybe POSIX
dataEndTime) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe POSIX
a -> DescribeDatasetResponse
s {$sel:dataEndTime:DescribeDatasetResponse' :: Maybe POSIX
dataEndTime = Maybe POSIX
a} :: DescribeDatasetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Gives statistics associated with the given dataset for the latest
-- successful associated ingestion job id. These statistics primarily
-- relate to quantifying incorrect data such as MissingCompleteSensorData,
-- MissingSensorData, UnsupportedDateFormats, InsufficientSensorData, and
-- DuplicateTimeStamps.
describeDatasetResponse_dataQualitySummary :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe DataQualitySummary)
describeDatasetResponse_dataQualitySummary :: Lens' DescribeDatasetResponse (Maybe DataQualitySummary)
describeDatasetResponse_dataQualitySummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe DataQualitySummary
dataQualitySummary :: Maybe DataQualitySummary
$sel:dataQualitySummary:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe DataQualitySummary
dataQualitySummary} -> Maybe DataQualitySummary
dataQualitySummary) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe DataQualitySummary
a -> DescribeDatasetResponse
s {$sel:dataQualitySummary:DescribeDatasetResponse' :: Maybe DataQualitySummary
dataQualitySummary = Maybe DataQualitySummary
a} :: DescribeDatasetResponse)

-- | Indicates the earliest timestamp corresponding to data that was
-- successfully ingested during the most recent ingestion of this
-- particular dataset.
describeDatasetResponse_dataStartTime :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.UTCTime)
describeDatasetResponse_dataStartTime :: Lens' DescribeDatasetResponse (Maybe UTCTime)
describeDatasetResponse_dataStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe POSIX
dataStartTime :: Maybe POSIX
$sel:dataStartTime:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
dataStartTime} -> Maybe POSIX
dataStartTime) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe POSIX
a -> DescribeDatasetResponse
s {$sel:dataStartTime:DescribeDatasetResponse' :: Maybe POSIX
dataStartTime = Maybe POSIX
a} :: DescribeDatasetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The Amazon Resource Name (ARN) of the dataset being described.
describeDatasetResponse_datasetArn :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)
describeDatasetResponse_datasetArn :: Lens' DescribeDatasetResponse (Maybe Text)
describeDatasetResponse_datasetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe Text
datasetArn :: Maybe Text
$sel:datasetArn:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
datasetArn} -> Maybe Text
datasetArn) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe Text
a -> DescribeDatasetResponse
s {$sel:datasetArn:DescribeDatasetResponse' :: Maybe Text
datasetArn = Maybe Text
a} :: DescribeDatasetResponse)

-- | The name of the dataset being described.
describeDatasetResponse_datasetName :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)
describeDatasetResponse_datasetName :: Lens' DescribeDatasetResponse (Maybe Text)
describeDatasetResponse_datasetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe Text
datasetName :: Maybe Text
$sel:datasetName:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
datasetName} -> Maybe Text
datasetName) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe Text
a -> DescribeDatasetResponse
s {$sel:datasetName:DescribeDatasetResponse' :: Maybe Text
datasetName = Maybe Text
a} :: DescribeDatasetResponse)

-- | IngestedFilesSummary associated with the given dataset for the latest
-- successful associated ingestion job id.
describeDatasetResponse_ingestedFilesSummary :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe IngestedFilesSummary)
describeDatasetResponse_ingestedFilesSummary :: Lens' DescribeDatasetResponse (Maybe IngestedFilesSummary)
describeDatasetResponse_ingestedFilesSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe IngestedFilesSummary
ingestedFilesSummary :: Maybe IngestedFilesSummary
$sel:ingestedFilesSummary:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe IngestedFilesSummary
ingestedFilesSummary} -> Maybe IngestedFilesSummary
ingestedFilesSummary) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe IngestedFilesSummary
a -> DescribeDatasetResponse
s {$sel:ingestedFilesSummary:DescribeDatasetResponse' :: Maybe IngestedFilesSummary
ingestedFilesSummary = Maybe IngestedFilesSummary
a} :: DescribeDatasetResponse)

-- | Specifies the S3 location configuration for the data input for the data
-- ingestion job.
describeDatasetResponse_ingestionInputConfiguration :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe IngestionInputConfiguration)
describeDatasetResponse_ingestionInputConfiguration :: Lens' DescribeDatasetResponse (Maybe IngestionInputConfiguration)
describeDatasetResponse_ingestionInputConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe IngestionInputConfiguration
ingestionInputConfiguration :: Maybe IngestionInputConfiguration
$sel:ingestionInputConfiguration:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe IngestionInputConfiguration
ingestionInputConfiguration} -> Maybe IngestionInputConfiguration
ingestionInputConfiguration) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe IngestionInputConfiguration
a -> DescribeDatasetResponse
s {$sel:ingestionInputConfiguration:DescribeDatasetResponse' :: Maybe IngestionInputConfiguration
ingestionInputConfiguration = Maybe IngestionInputConfiguration
a} :: DescribeDatasetResponse)

-- | Specifies the time the dataset was last updated, if it was.
describeDatasetResponse_lastUpdatedAt :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.UTCTime)
describeDatasetResponse_lastUpdatedAt :: Lens' DescribeDatasetResponse (Maybe UTCTime)
describeDatasetResponse_lastUpdatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe POSIX
lastUpdatedAt :: Maybe POSIX
$sel:lastUpdatedAt:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
lastUpdatedAt} -> Maybe POSIX
lastUpdatedAt) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe POSIX
a -> DescribeDatasetResponse
s {$sel:lastUpdatedAt:DescribeDatasetResponse' :: Maybe POSIX
lastUpdatedAt = Maybe POSIX
a} :: DescribeDatasetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The Amazon Resource Name (ARN) of the IAM role that you are using for
-- this the data ingestion job.
describeDatasetResponse_roleArn :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)
describeDatasetResponse_roleArn :: Lens' DescribeDatasetResponse (Maybe Text)
describeDatasetResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe Text
a -> DescribeDatasetResponse
s {$sel:roleArn:DescribeDatasetResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeDatasetResponse)

-- | A JSON description of the data that is in each time series dataset,
-- including names, column names, and data types.
describeDatasetResponse_schema :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)
describeDatasetResponse_schema :: Lens' DescribeDatasetResponse (Maybe Text)
describeDatasetResponse_schema = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe Text
schema :: Maybe Text
$sel:schema:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
schema} -> Maybe Text
schema) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe Text
a -> DescribeDatasetResponse
s {$sel:schema:DescribeDatasetResponse' :: Maybe Text
schema = Maybe Text
a} :: DescribeDatasetResponse)

-- | Provides the identifier of the KMS key used to encrypt dataset data by
-- Amazon Lookout for Equipment.
describeDatasetResponse_serverSideKmsKeyId :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)
describeDatasetResponse_serverSideKmsKeyId :: Lens' DescribeDatasetResponse (Maybe Text)
describeDatasetResponse_serverSideKmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe Text
serverSideKmsKeyId :: Maybe Text
$sel:serverSideKmsKeyId:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
serverSideKmsKeyId} -> Maybe Text
serverSideKmsKeyId) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe Text
a -> DescribeDatasetResponse
s {$sel:serverSideKmsKeyId:DescribeDatasetResponse' :: Maybe Text
serverSideKmsKeyId = Maybe Text
a} :: DescribeDatasetResponse)

-- | Indicates the status of the dataset.
describeDatasetResponse_status :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe DatasetStatus)
describeDatasetResponse_status :: Lens' DescribeDatasetResponse (Maybe DatasetStatus)
describeDatasetResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Maybe DatasetStatus
status :: Maybe DatasetStatus
$sel:status:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe DatasetStatus
status} -> Maybe DatasetStatus
status) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Maybe DatasetStatus
a -> DescribeDatasetResponse
s {$sel:status:DescribeDatasetResponse' :: Maybe DatasetStatus
status = Maybe DatasetStatus
a} :: DescribeDatasetResponse)

-- | The response's http status code.
describeDatasetResponse_httpStatus :: Lens.Lens' DescribeDatasetResponse Prelude.Int
describeDatasetResponse_httpStatus :: Lens' DescribeDatasetResponse Int
describeDatasetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeDatasetResponse' :: DescribeDatasetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeDatasetResponse
s@DescribeDatasetResponse' {} Int
a -> DescribeDatasetResponse
s {$sel:httpStatus:DescribeDatasetResponse' :: Int
httpStatus = Int
a} :: DescribeDatasetResponse)

instance Prelude.NFData DescribeDatasetResponse where
  rnf :: DescribeDatasetResponse -> ()
rnf DescribeDatasetResponse' {Int
Maybe Text
Maybe POSIX
Maybe DatasetStatus
Maybe IngestionInputConfiguration
Maybe IngestedFilesSummary
Maybe DataQualitySummary
httpStatus :: Int
status :: Maybe DatasetStatus
serverSideKmsKeyId :: Maybe Text
schema :: Maybe Text
roleArn :: Maybe Text
lastUpdatedAt :: Maybe POSIX
ingestionInputConfiguration :: Maybe IngestionInputConfiguration
ingestedFilesSummary :: Maybe IngestedFilesSummary
datasetName :: Maybe Text
datasetArn :: Maybe Text
dataStartTime :: Maybe POSIX
dataQualitySummary :: Maybe DataQualitySummary
dataEndTime :: Maybe POSIX
createdAt :: Maybe POSIX
$sel:httpStatus:DescribeDatasetResponse' :: DescribeDatasetResponse -> Int
$sel:status:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe DatasetStatus
$sel:serverSideKmsKeyId:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
$sel:schema:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
$sel:roleArn:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
$sel:lastUpdatedAt:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
$sel:ingestionInputConfiguration:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe IngestionInputConfiguration
$sel:ingestedFilesSummary:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe IngestedFilesSummary
$sel:datasetName:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
$sel:datasetArn:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe Text
$sel:dataStartTime:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
$sel:dataQualitySummary:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe DataQualitySummary
$sel:dataEndTime:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
$sel:createdAt:DescribeDatasetResponse' :: DescribeDatasetResponse -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
dataEndTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataQualitySummary
dataQualitySummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
dataStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IngestedFilesSummary
ingestedFilesSummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IngestionInputConfiguration
ingestionInputConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
schema
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serverSideKmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DatasetStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus