{-# 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.DescribeDataIngestionJob
-- 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 information on a specific data ingestion job such as creation
-- time, dataset ARN, and status.
module Amazonka.LookoutEquipment.DescribeDataIngestionJob
  ( -- * Creating a Request
    DescribeDataIngestionJob (..),
    newDescribeDataIngestionJob,

    -- * Request Lenses
    describeDataIngestionJob_jobId,

    -- * Destructuring the Response
    DescribeDataIngestionJobResponse (..),
    newDescribeDataIngestionJobResponse,

    -- * Response Lenses
    describeDataIngestionJobResponse_createdAt,
    describeDataIngestionJobResponse_dataEndTime,
    describeDataIngestionJobResponse_dataQualitySummary,
    describeDataIngestionJobResponse_dataStartTime,
    describeDataIngestionJobResponse_datasetArn,
    describeDataIngestionJobResponse_failedReason,
    describeDataIngestionJobResponse_ingestedDataSize,
    describeDataIngestionJobResponse_ingestedFilesSummary,
    describeDataIngestionJobResponse_ingestionInputConfiguration,
    describeDataIngestionJobResponse_jobId,
    describeDataIngestionJobResponse_roleArn,
    describeDataIngestionJobResponse_status,
    describeDataIngestionJobResponse_statusDetail,
    describeDataIngestionJobResponse_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:/ 'newDescribeDataIngestionJob' smart constructor.
data DescribeDataIngestionJob = DescribeDataIngestionJob'
  { -- | The job ID of the data ingestion job.
    DescribeDataIngestionJob -> Text
jobId :: Prelude.Text
  }
  deriving (DescribeDataIngestionJob -> DescribeDataIngestionJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDataIngestionJob -> DescribeDataIngestionJob -> Bool
$c/= :: DescribeDataIngestionJob -> DescribeDataIngestionJob -> Bool
== :: DescribeDataIngestionJob -> DescribeDataIngestionJob -> Bool
$c== :: DescribeDataIngestionJob -> DescribeDataIngestionJob -> Bool
Prelude.Eq, ReadPrec [DescribeDataIngestionJob]
ReadPrec DescribeDataIngestionJob
Int -> ReadS DescribeDataIngestionJob
ReadS [DescribeDataIngestionJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDataIngestionJob]
$creadListPrec :: ReadPrec [DescribeDataIngestionJob]
readPrec :: ReadPrec DescribeDataIngestionJob
$creadPrec :: ReadPrec DescribeDataIngestionJob
readList :: ReadS [DescribeDataIngestionJob]
$creadList :: ReadS [DescribeDataIngestionJob]
readsPrec :: Int -> ReadS DescribeDataIngestionJob
$creadsPrec :: Int -> ReadS DescribeDataIngestionJob
Prelude.Read, Int -> DescribeDataIngestionJob -> ShowS
[DescribeDataIngestionJob] -> ShowS
DescribeDataIngestionJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDataIngestionJob] -> ShowS
$cshowList :: [DescribeDataIngestionJob] -> ShowS
show :: DescribeDataIngestionJob -> String
$cshow :: DescribeDataIngestionJob -> String
showsPrec :: Int -> DescribeDataIngestionJob -> ShowS
$cshowsPrec :: Int -> DescribeDataIngestionJob -> ShowS
Prelude.Show, forall x.
Rep DescribeDataIngestionJob x -> DescribeDataIngestionJob
forall x.
DescribeDataIngestionJob -> Rep DescribeDataIngestionJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDataIngestionJob x -> DescribeDataIngestionJob
$cfrom :: forall x.
DescribeDataIngestionJob -> Rep DescribeDataIngestionJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDataIngestionJob' 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:
--
-- 'jobId', 'describeDataIngestionJob_jobId' - The job ID of the data ingestion job.
newDescribeDataIngestionJob ::
  -- | 'jobId'
  Prelude.Text ->
  DescribeDataIngestionJob
newDescribeDataIngestionJob :: Text -> DescribeDataIngestionJob
newDescribeDataIngestionJob Text
pJobId_ =
  DescribeDataIngestionJob' {$sel:jobId:DescribeDataIngestionJob' :: Text
jobId = Text
pJobId_}

-- | The job ID of the data ingestion job.
describeDataIngestionJob_jobId :: Lens.Lens' DescribeDataIngestionJob Prelude.Text
describeDataIngestionJob_jobId :: Lens' DescribeDataIngestionJob Text
describeDataIngestionJob_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJob' {Text
jobId :: Text
$sel:jobId:DescribeDataIngestionJob' :: DescribeDataIngestionJob -> Text
jobId} -> Text
jobId) (\s :: DescribeDataIngestionJob
s@DescribeDataIngestionJob' {} Text
a -> DescribeDataIngestionJob
s {$sel:jobId:DescribeDataIngestionJob' :: Text
jobId = Text
a} :: DescribeDataIngestionJob)

instance Core.AWSRequest DescribeDataIngestionJob where
  type
    AWSResponse DescribeDataIngestionJob =
      DescribeDataIngestionJobResponse
  request :: (Service -> Service)
-> DescribeDataIngestionJob -> Request DescribeDataIngestionJob
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 DescribeDataIngestionJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeDataIngestionJob)))
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 Natural
-> Maybe IngestedFilesSummary
-> Maybe IngestionInputConfiguration
-> Maybe Text
-> Maybe Text
-> Maybe IngestionJobStatus
-> Maybe Text
-> Int
-> DescribeDataIngestionJobResponse
DescribeDataIngestionJobResponse'
            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
"FailedReason")
            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
"IngestedDataSize")
            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
"JobId")
            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
"Status")
            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
"StatusDetail")
            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 DescribeDataIngestionJob where
  hashWithSalt :: Int -> DescribeDataIngestionJob -> Int
hashWithSalt Int
_salt DescribeDataIngestionJob' {Text
jobId :: Text
$sel:jobId:DescribeDataIngestionJob' :: DescribeDataIngestionJob -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobId

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

instance Data.ToHeaders DescribeDataIngestionJob where
  toHeaders :: DescribeDataIngestionJob -> 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.DescribeDataIngestionJob" ::
                          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 DescribeDataIngestionJob where
  toJSON :: DescribeDataIngestionJob -> Value
toJSON DescribeDataIngestionJob' {Text
jobId :: Text
$sel:jobId:DescribeDataIngestionJob' :: DescribeDataIngestionJob -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"JobId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
jobId)]
      )

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

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

-- | /See:/ 'newDescribeDataIngestionJobResponse' smart constructor.
data DescribeDataIngestionJobResponse = DescribeDataIngestionJobResponse'
  { -- | The time at which the data ingestion job was created.
    DescribeDataIngestionJobResponse -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
    -- | Indicates the latest timestamp corresponding to data that was
    -- successfully ingested during this specific ingestion job.
    DescribeDataIngestionJobResponse -> Maybe POSIX
dataEndTime :: Prelude.Maybe Data.POSIX,
    -- | Gives statistics about a completed ingestion job. These statistics
    -- primarily relate to quantifying incorrect data such as
    -- MissingCompleteSensorData, MissingSensorData, UnsupportedDateFormats,
    -- InsufficientSensorData, and DuplicateTimeStamps.
    DescribeDataIngestionJobResponse -> Maybe DataQualitySummary
dataQualitySummary :: Prelude.Maybe DataQualitySummary,
    -- | Indicates the earliest timestamp corresponding to data that was
    -- successfully ingested during this specific ingestion job.
    DescribeDataIngestionJobResponse -> Maybe POSIX
dataStartTime :: Prelude.Maybe Data.POSIX,
    -- | The Amazon Resource Name (ARN) of the dataset being used in the data
    -- ingestion job.
    DescribeDataIngestionJobResponse -> Maybe Text
datasetArn :: Prelude.Maybe Prelude.Text,
    -- | Specifies the reason for failure when a data ingestion job has failed.
    DescribeDataIngestionJobResponse -> Maybe Text
failedReason :: Prelude.Maybe Prelude.Text,
    -- | Indicates the size of the ingested dataset.
    DescribeDataIngestionJobResponse -> Maybe Natural
ingestedDataSize :: Prelude.Maybe Prelude.Natural,
    DescribeDataIngestionJobResponse -> Maybe IngestedFilesSummary
ingestedFilesSummary :: Prelude.Maybe IngestedFilesSummary,
    -- | Specifies the S3 location configuration for the data input for the data
    -- ingestion job.
    DescribeDataIngestionJobResponse
-> Maybe IngestionInputConfiguration
ingestionInputConfiguration :: Prelude.Maybe IngestionInputConfiguration,
    -- | Indicates the job ID of the data ingestion job.
    DescribeDataIngestionJobResponse -> Maybe Text
jobId :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of an IAM role with permission to access
    -- the data source being ingested.
    DescribeDataIngestionJobResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | Indicates the status of the @DataIngestionJob@ operation.
    DescribeDataIngestionJobResponse -> Maybe IngestionJobStatus
status :: Prelude.Maybe IngestionJobStatus,
    -- | Provides details about status of the ingestion job that is currently in
    -- progress.
    DescribeDataIngestionJobResponse -> Maybe Text
statusDetail :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeDataIngestionJobResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeDataIngestionJobResponse
-> DescribeDataIngestionJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDataIngestionJobResponse
-> DescribeDataIngestionJobResponse -> Bool
$c/= :: DescribeDataIngestionJobResponse
-> DescribeDataIngestionJobResponse -> Bool
== :: DescribeDataIngestionJobResponse
-> DescribeDataIngestionJobResponse -> Bool
$c== :: DescribeDataIngestionJobResponse
-> DescribeDataIngestionJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDataIngestionJobResponse]
ReadPrec DescribeDataIngestionJobResponse
Int -> ReadS DescribeDataIngestionJobResponse
ReadS [DescribeDataIngestionJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDataIngestionJobResponse]
$creadListPrec :: ReadPrec [DescribeDataIngestionJobResponse]
readPrec :: ReadPrec DescribeDataIngestionJobResponse
$creadPrec :: ReadPrec DescribeDataIngestionJobResponse
readList :: ReadS [DescribeDataIngestionJobResponse]
$creadList :: ReadS [DescribeDataIngestionJobResponse]
readsPrec :: Int -> ReadS DescribeDataIngestionJobResponse
$creadsPrec :: Int -> ReadS DescribeDataIngestionJobResponse
Prelude.Read, Int -> DescribeDataIngestionJobResponse -> ShowS
[DescribeDataIngestionJobResponse] -> ShowS
DescribeDataIngestionJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDataIngestionJobResponse] -> ShowS
$cshowList :: [DescribeDataIngestionJobResponse] -> ShowS
show :: DescribeDataIngestionJobResponse -> String
$cshow :: DescribeDataIngestionJobResponse -> String
showsPrec :: Int -> DescribeDataIngestionJobResponse -> ShowS
$cshowsPrec :: Int -> DescribeDataIngestionJobResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDataIngestionJobResponse x
-> DescribeDataIngestionJobResponse
forall x.
DescribeDataIngestionJobResponse
-> Rep DescribeDataIngestionJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDataIngestionJobResponse x
-> DescribeDataIngestionJobResponse
$cfrom :: forall x.
DescribeDataIngestionJobResponse
-> Rep DescribeDataIngestionJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDataIngestionJobResponse' 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', 'describeDataIngestionJobResponse_createdAt' - The time at which the data ingestion job was created.
--
-- 'dataEndTime', 'describeDataIngestionJobResponse_dataEndTime' - Indicates the latest timestamp corresponding to data that was
-- successfully ingested during this specific ingestion job.
--
-- 'dataQualitySummary', 'describeDataIngestionJobResponse_dataQualitySummary' - Gives statistics about a completed ingestion job. These statistics
-- primarily relate to quantifying incorrect data such as
-- MissingCompleteSensorData, MissingSensorData, UnsupportedDateFormats,
-- InsufficientSensorData, and DuplicateTimeStamps.
--
-- 'dataStartTime', 'describeDataIngestionJobResponse_dataStartTime' - Indicates the earliest timestamp corresponding to data that was
-- successfully ingested during this specific ingestion job.
--
-- 'datasetArn', 'describeDataIngestionJobResponse_datasetArn' - The Amazon Resource Name (ARN) of the dataset being used in the data
-- ingestion job.
--
-- 'failedReason', 'describeDataIngestionJobResponse_failedReason' - Specifies the reason for failure when a data ingestion job has failed.
--
-- 'ingestedDataSize', 'describeDataIngestionJobResponse_ingestedDataSize' - Indicates the size of the ingested dataset.
--
-- 'ingestedFilesSummary', 'describeDataIngestionJobResponse_ingestedFilesSummary' - Undocumented member.
--
-- 'ingestionInputConfiguration', 'describeDataIngestionJobResponse_ingestionInputConfiguration' - Specifies the S3 location configuration for the data input for the data
-- ingestion job.
--
-- 'jobId', 'describeDataIngestionJobResponse_jobId' - Indicates the job ID of the data ingestion job.
--
-- 'roleArn', 'describeDataIngestionJobResponse_roleArn' - The Amazon Resource Name (ARN) of an IAM role with permission to access
-- the data source being ingested.
--
-- 'status', 'describeDataIngestionJobResponse_status' - Indicates the status of the @DataIngestionJob@ operation.
--
-- 'statusDetail', 'describeDataIngestionJobResponse_statusDetail' - Provides details about status of the ingestion job that is currently in
-- progress.
--
-- 'httpStatus', 'describeDataIngestionJobResponse_httpStatus' - The response's http status code.
newDescribeDataIngestionJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeDataIngestionJobResponse
newDescribeDataIngestionJobResponse :: Int -> DescribeDataIngestionJobResponse
newDescribeDataIngestionJobResponse Int
pHttpStatus_ =
  DescribeDataIngestionJobResponse'
    { $sel:createdAt:DescribeDataIngestionJobResponse' :: Maybe POSIX
createdAt =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dataEndTime:DescribeDataIngestionJobResponse' :: Maybe POSIX
dataEndTime = forall a. Maybe a
Prelude.Nothing,
      $sel:dataQualitySummary:DescribeDataIngestionJobResponse' :: Maybe DataQualitySummary
dataQualitySummary = forall a. Maybe a
Prelude.Nothing,
      $sel:dataStartTime:DescribeDataIngestionJobResponse' :: Maybe POSIX
dataStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetArn:DescribeDataIngestionJobResponse' :: Maybe Text
datasetArn = forall a. Maybe a
Prelude.Nothing,
      $sel:failedReason:DescribeDataIngestionJobResponse' :: Maybe Text
failedReason = forall a. Maybe a
Prelude.Nothing,
      $sel:ingestedDataSize:DescribeDataIngestionJobResponse' :: Maybe Natural
ingestedDataSize = forall a. Maybe a
Prelude.Nothing,
      $sel:ingestedFilesSummary:DescribeDataIngestionJobResponse' :: Maybe IngestedFilesSummary
ingestedFilesSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:ingestionInputConfiguration:DescribeDataIngestionJobResponse' :: Maybe IngestionInputConfiguration
ingestionInputConfiguration =
        forall a. Maybe a
Prelude.Nothing,
      $sel:jobId:DescribeDataIngestionJobResponse' :: Maybe Text
jobId = forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:DescribeDataIngestionJobResponse' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeDataIngestionJobResponse' :: Maybe IngestionJobStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:statusDetail:DescribeDataIngestionJobResponse' :: Maybe Text
statusDetail = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeDataIngestionJobResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The time at which the data ingestion job was created.
describeDataIngestionJobResponse_createdAt :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.UTCTime)
describeDataIngestionJobResponse_createdAt :: Lens' DescribeDataIngestionJobResponse (Maybe UTCTime)
describeDataIngestionJobResponse_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe POSIX
a -> DescribeDataIngestionJobResponse
s {$sel:createdAt:DescribeDataIngestionJobResponse' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: DescribeDataIngestionJobResponse) 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 this specific ingestion job.
describeDataIngestionJobResponse_dataEndTime :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.UTCTime)
describeDataIngestionJobResponse_dataEndTime :: Lens' DescribeDataIngestionJobResponse (Maybe UTCTime)
describeDataIngestionJobResponse_dataEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe POSIX
dataEndTime :: Maybe POSIX
$sel:dataEndTime:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe POSIX
dataEndTime} -> Maybe POSIX
dataEndTime) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe POSIX
a -> DescribeDataIngestionJobResponse
s {$sel:dataEndTime:DescribeDataIngestionJobResponse' :: Maybe POSIX
dataEndTime = Maybe POSIX
a} :: DescribeDataIngestionJobResponse) 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 about a completed ingestion job. These statistics
-- primarily relate to quantifying incorrect data such as
-- MissingCompleteSensorData, MissingSensorData, UnsupportedDateFormats,
-- InsufficientSensorData, and DuplicateTimeStamps.
describeDataIngestionJobResponse_dataQualitySummary :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe DataQualitySummary)
describeDataIngestionJobResponse_dataQualitySummary :: Lens' DescribeDataIngestionJobResponse (Maybe DataQualitySummary)
describeDataIngestionJobResponse_dataQualitySummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe DataQualitySummary
dataQualitySummary :: Maybe DataQualitySummary
$sel:dataQualitySummary:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe DataQualitySummary
dataQualitySummary} -> Maybe DataQualitySummary
dataQualitySummary) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe DataQualitySummary
a -> DescribeDataIngestionJobResponse
s {$sel:dataQualitySummary:DescribeDataIngestionJobResponse' :: Maybe DataQualitySummary
dataQualitySummary = Maybe DataQualitySummary
a} :: DescribeDataIngestionJobResponse)

-- | Indicates the earliest timestamp corresponding to data that was
-- successfully ingested during this specific ingestion job.
describeDataIngestionJobResponse_dataStartTime :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.UTCTime)
describeDataIngestionJobResponse_dataStartTime :: Lens' DescribeDataIngestionJobResponse (Maybe UTCTime)
describeDataIngestionJobResponse_dataStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe POSIX
dataStartTime :: Maybe POSIX
$sel:dataStartTime:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe POSIX
dataStartTime} -> Maybe POSIX
dataStartTime) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe POSIX
a -> DescribeDataIngestionJobResponse
s {$sel:dataStartTime:DescribeDataIngestionJobResponse' :: Maybe POSIX
dataStartTime = Maybe POSIX
a} :: DescribeDataIngestionJobResponse) 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 used in the data
-- ingestion job.
describeDataIngestionJobResponse_datasetArn :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.Text)
describeDataIngestionJobResponse_datasetArn :: Lens' DescribeDataIngestionJobResponse (Maybe Text)
describeDataIngestionJobResponse_datasetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe Text
datasetArn :: Maybe Text
$sel:datasetArn:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
datasetArn} -> Maybe Text
datasetArn) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe Text
a -> DescribeDataIngestionJobResponse
s {$sel:datasetArn:DescribeDataIngestionJobResponse' :: Maybe Text
datasetArn = Maybe Text
a} :: DescribeDataIngestionJobResponse)

-- | Specifies the reason for failure when a data ingestion job has failed.
describeDataIngestionJobResponse_failedReason :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.Text)
describeDataIngestionJobResponse_failedReason :: Lens' DescribeDataIngestionJobResponse (Maybe Text)
describeDataIngestionJobResponse_failedReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe Text
failedReason :: Maybe Text
$sel:failedReason:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
failedReason} -> Maybe Text
failedReason) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe Text
a -> DescribeDataIngestionJobResponse
s {$sel:failedReason:DescribeDataIngestionJobResponse' :: Maybe Text
failedReason = Maybe Text
a} :: DescribeDataIngestionJobResponse)

-- | Indicates the size of the ingested dataset.
describeDataIngestionJobResponse_ingestedDataSize :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.Natural)
describeDataIngestionJobResponse_ingestedDataSize :: Lens' DescribeDataIngestionJobResponse (Maybe Natural)
describeDataIngestionJobResponse_ingestedDataSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe Natural
ingestedDataSize :: Maybe Natural
$sel:ingestedDataSize:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Natural
ingestedDataSize} -> Maybe Natural
ingestedDataSize) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe Natural
a -> DescribeDataIngestionJobResponse
s {$sel:ingestedDataSize:DescribeDataIngestionJobResponse' :: Maybe Natural
ingestedDataSize = Maybe Natural
a} :: DescribeDataIngestionJobResponse)

-- | Undocumented member.
describeDataIngestionJobResponse_ingestedFilesSummary :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe IngestedFilesSummary)
describeDataIngestionJobResponse_ingestedFilesSummary :: Lens' DescribeDataIngestionJobResponse (Maybe IngestedFilesSummary)
describeDataIngestionJobResponse_ingestedFilesSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe IngestedFilesSummary
ingestedFilesSummary :: Maybe IngestedFilesSummary
$sel:ingestedFilesSummary:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe IngestedFilesSummary
ingestedFilesSummary} -> Maybe IngestedFilesSummary
ingestedFilesSummary) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe IngestedFilesSummary
a -> DescribeDataIngestionJobResponse
s {$sel:ingestedFilesSummary:DescribeDataIngestionJobResponse' :: Maybe IngestedFilesSummary
ingestedFilesSummary = Maybe IngestedFilesSummary
a} :: DescribeDataIngestionJobResponse)

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

-- | Indicates the job ID of the data ingestion job.
describeDataIngestionJobResponse_jobId :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.Text)
describeDataIngestionJobResponse_jobId :: Lens' DescribeDataIngestionJobResponse (Maybe Text)
describeDataIngestionJobResponse_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe Text
jobId :: Maybe Text
$sel:jobId:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
jobId} -> Maybe Text
jobId) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe Text
a -> DescribeDataIngestionJobResponse
s {$sel:jobId:DescribeDataIngestionJobResponse' :: Maybe Text
jobId = Maybe Text
a} :: DescribeDataIngestionJobResponse)

-- | The Amazon Resource Name (ARN) of an IAM role with permission to access
-- the data source being ingested.
describeDataIngestionJobResponse_roleArn :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.Text)
describeDataIngestionJobResponse_roleArn :: Lens' DescribeDataIngestionJobResponse (Maybe Text)
describeDataIngestionJobResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe Text
a -> DescribeDataIngestionJobResponse
s {$sel:roleArn:DescribeDataIngestionJobResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeDataIngestionJobResponse)

-- | Indicates the status of the @DataIngestionJob@ operation.
describeDataIngestionJobResponse_status :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe IngestionJobStatus)
describeDataIngestionJobResponse_status :: Lens' DescribeDataIngestionJobResponse (Maybe IngestionJobStatus)
describeDataIngestionJobResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe IngestionJobStatus
status :: Maybe IngestionJobStatus
$sel:status:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe IngestionJobStatus
status} -> Maybe IngestionJobStatus
status) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe IngestionJobStatus
a -> DescribeDataIngestionJobResponse
s {$sel:status:DescribeDataIngestionJobResponse' :: Maybe IngestionJobStatus
status = Maybe IngestionJobStatus
a} :: DescribeDataIngestionJobResponse)

-- | Provides details about status of the ingestion job that is currently in
-- progress.
describeDataIngestionJobResponse_statusDetail :: Lens.Lens' DescribeDataIngestionJobResponse (Prelude.Maybe Prelude.Text)
describeDataIngestionJobResponse_statusDetail :: Lens' DescribeDataIngestionJobResponse (Maybe Text)
describeDataIngestionJobResponse_statusDetail = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDataIngestionJobResponse' {Maybe Text
statusDetail :: Maybe Text
$sel:statusDetail:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
statusDetail} -> Maybe Text
statusDetail) (\s :: DescribeDataIngestionJobResponse
s@DescribeDataIngestionJobResponse' {} Maybe Text
a -> DescribeDataIngestionJobResponse
s {$sel:statusDetail:DescribeDataIngestionJobResponse' :: Maybe Text
statusDetail = Maybe Text
a} :: DescribeDataIngestionJobResponse)

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

instance
  Prelude.NFData
    DescribeDataIngestionJobResponse
  where
  rnf :: DescribeDataIngestionJobResponse -> ()
rnf DescribeDataIngestionJobResponse' {Int
Maybe Natural
Maybe Text
Maybe POSIX
Maybe IngestionJobStatus
Maybe IngestionInputConfiguration
Maybe IngestedFilesSummary
Maybe DataQualitySummary
httpStatus :: Int
statusDetail :: Maybe Text
status :: Maybe IngestionJobStatus
roleArn :: Maybe Text
jobId :: Maybe Text
ingestionInputConfiguration :: Maybe IngestionInputConfiguration
ingestedFilesSummary :: Maybe IngestedFilesSummary
ingestedDataSize :: Maybe Natural
failedReason :: Maybe Text
datasetArn :: Maybe Text
dataStartTime :: Maybe POSIX
dataQualitySummary :: Maybe DataQualitySummary
dataEndTime :: Maybe POSIX
createdAt :: Maybe POSIX
$sel:httpStatus:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Int
$sel:statusDetail:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
$sel:status:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe IngestionJobStatus
$sel:roleArn:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
$sel:jobId:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
$sel:ingestionInputConfiguration:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse
-> Maybe IngestionInputConfiguration
$sel:ingestedFilesSummary:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe IngestedFilesSummary
$sel:ingestedDataSize:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Natural
$sel:failedReason:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
$sel:datasetArn:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe Text
$sel:dataStartTime:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe POSIX
$sel:dataQualitySummary:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe DataQualitySummary
$sel:dataEndTime:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> Maybe POSIX
$sel:createdAt:DescribeDataIngestionJobResponse' :: DescribeDataIngestionJobResponse -> 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
failedReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
ingestedDataSize
      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 Text
jobId
      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 IngestionJobStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusDetail
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus