{-# 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.Forecast.DescribeDatasetImportJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes a dataset import job created using the
-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>
-- operation.
--
-- In addition to listing the parameters provided in the
-- @CreateDatasetImportJob@ request, this operation includes the following
-- properties:
--
-- -   @CreationTime@
--
-- -   @LastModificationTime@
--
-- -   @DataSize@
--
-- -   @FieldStatistics@
--
-- -   @Status@
--
-- -   @Message@ - If an error occurred, information about the error.
module Amazonka.Forecast.DescribeDatasetImportJob
  ( -- * Creating a Request
    DescribeDatasetImportJob (..),
    newDescribeDatasetImportJob,

    -- * Request Lenses
    describeDatasetImportJob_datasetImportJobArn,

    -- * Destructuring the Response
    DescribeDatasetImportJobResponse (..),
    newDescribeDatasetImportJobResponse,

    -- * Response Lenses
    describeDatasetImportJobResponse_creationTime,
    describeDatasetImportJobResponse_dataSize,
    describeDatasetImportJobResponse_dataSource,
    describeDatasetImportJobResponse_datasetArn,
    describeDatasetImportJobResponse_datasetImportJobArn,
    describeDatasetImportJobResponse_datasetImportJobName,
    describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes,
    describeDatasetImportJobResponse_fieldStatistics,
    describeDatasetImportJobResponse_format,
    describeDatasetImportJobResponse_geolocationFormat,
    describeDatasetImportJobResponse_lastModificationTime,
    describeDatasetImportJobResponse_message,
    describeDatasetImportJobResponse_status,
    describeDatasetImportJobResponse_timeZone,
    describeDatasetImportJobResponse_timestampFormat,
    describeDatasetImportJobResponse_useGeolocationForTimeZone,
    describeDatasetImportJobResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeDatasetImportJob' smart constructor.
data DescribeDatasetImportJob = DescribeDatasetImportJob'
  { -- | The Amazon Resource Name (ARN) of the dataset import job.
    DescribeDatasetImportJob -> Text
datasetImportJobArn :: Prelude.Text
  }
  deriving (DescribeDatasetImportJob -> DescribeDatasetImportJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDatasetImportJob -> DescribeDatasetImportJob -> Bool
$c/= :: DescribeDatasetImportJob -> DescribeDatasetImportJob -> Bool
== :: DescribeDatasetImportJob -> DescribeDatasetImportJob -> Bool
$c== :: DescribeDatasetImportJob -> DescribeDatasetImportJob -> Bool
Prelude.Eq, ReadPrec [DescribeDatasetImportJob]
ReadPrec DescribeDatasetImportJob
Int -> ReadS DescribeDatasetImportJob
ReadS [DescribeDatasetImportJob]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDatasetImportJob]
$creadListPrec :: ReadPrec [DescribeDatasetImportJob]
readPrec :: ReadPrec DescribeDatasetImportJob
$creadPrec :: ReadPrec DescribeDatasetImportJob
readList :: ReadS [DescribeDatasetImportJob]
$creadList :: ReadS [DescribeDatasetImportJob]
readsPrec :: Int -> ReadS DescribeDatasetImportJob
$creadsPrec :: Int -> ReadS DescribeDatasetImportJob
Prelude.Read, Int -> DescribeDatasetImportJob -> ShowS
[DescribeDatasetImportJob] -> ShowS
DescribeDatasetImportJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDatasetImportJob] -> ShowS
$cshowList :: [DescribeDatasetImportJob] -> ShowS
show :: DescribeDatasetImportJob -> String
$cshow :: DescribeDatasetImportJob -> String
showsPrec :: Int -> DescribeDatasetImportJob -> ShowS
$cshowsPrec :: Int -> DescribeDatasetImportJob -> ShowS
Prelude.Show, forall x.
Rep DescribeDatasetImportJob x -> DescribeDatasetImportJob
forall x.
DescribeDatasetImportJob -> Rep DescribeDatasetImportJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDatasetImportJob x -> DescribeDatasetImportJob
$cfrom :: forall x.
DescribeDatasetImportJob -> Rep DescribeDatasetImportJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDatasetImportJob' 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:
--
-- 'datasetImportJobArn', 'describeDatasetImportJob_datasetImportJobArn' - The Amazon Resource Name (ARN) of the dataset import job.
newDescribeDatasetImportJob ::
  -- | 'datasetImportJobArn'
  Prelude.Text ->
  DescribeDatasetImportJob
newDescribeDatasetImportJob :: Text -> DescribeDatasetImportJob
newDescribeDatasetImportJob Text
pDatasetImportJobArn_ =
  DescribeDatasetImportJob'
    { $sel:datasetImportJobArn:DescribeDatasetImportJob' :: Text
datasetImportJobArn =
        Text
pDatasetImportJobArn_
    }

-- | The Amazon Resource Name (ARN) of the dataset import job.
describeDatasetImportJob_datasetImportJobArn :: Lens.Lens' DescribeDatasetImportJob Prelude.Text
describeDatasetImportJob_datasetImportJobArn :: Lens' DescribeDatasetImportJob Text
describeDatasetImportJob_datasetImportJobArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJob' {Text
datasetImportJobArn :: Text
$sel:datasetImportJobArn:DescribeDatasetImportJob' :: DescribeDatasetImportJob -> Text
datasetImportJobArn} -> Text
datasetImportJobArn) (\s :: DescribeDatasetImportJob
s@DescribeDatasetImportJob' {} Text
a -> DescribeDatasetImportJob
s {$sel:datasetImportJobArn:DescribeDatasetImportJob' :: Text
datasetImportJobArn = Text
a} :: DescribeDatasetImportJob)

instance Core.AWSRequest DescribeDatasetImportJob where
  type
    AWSResponse DescribeDatasetImportJob =
      DescribeDatasetImportJobResponse
  request :: (Service -> Service)
-> DescribeDatasetImportJob -> Request DescribeDatasetImportJob
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 DescribeDatasetImportJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeDatasetImportJob)))
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 Double
-> Maybe DataSource
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe (HashMap Text Statistics)
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Int
-> DescribeDatasetImportJobResponse
DescribeDatasetImportJobResponse'
            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
"CreationTime")
            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
"DataSize")
            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
"DataSource")
            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
"DatasetImportJobArn")
            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
"DatasetImportJobName")
            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
"EstimatedTimeRemainingInMinutes")
            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
"FieldStatistics"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            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
"Format")
            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
"GeolocationFormat")
            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
"LastModificationTime")
            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
"Message")
            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
"TimeZone")
            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
"TimestampFormat")
            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
"UseGeolocationForTimeZone")
            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 DescribeDatasetImportJob where
  hashWithSalt :: Int -> DescribeDatasetImportJob -> Int
hashWithSalt Int
_salt DescribeDatasetImportJob' {Text
datasetImportJobArn :: Text
$sel:datasetImportJobArn:DescribeDatasetImportJob' :: DescribeDatasetImportJob -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datasetImportJobArn

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

instance Data.ToHeaders DescribeDatasetImportJob where
  toHeaders :: DescribeDatasetImportJob -> 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
"AmazonForecast.DescribeDatasetImportJob" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

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

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

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

-- | /See:/ 'newDescribeDatasetImportJobResponse' smart constructor.
data DescribeDatasetImportJobResponse = DescribeDatasetImportJobResponse'
  { -- | When the dataset import job was created.
    DescribeDatasetImportJobResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | The size of the dataset in gigabytes (GB) after the import job has
    -- finished.
    DescribeDatasetImportJobResponse -> Maybe Double
dataSize :: Prelude.Maybe Prelude.Double,
    -- | The location of the training data to import and an AWS Identity and
    -- Access Management (IAM) role that Amazon Forecast can assume to access
    -- the data.
    --
    -- If encryption is used, @DataSource@ includes an AWS Key Management
    -- Service (KMS) key.
    DescribeDatasetImportJobResponse -> Maybe DataSource
dataSource :: Prelude.Maybe DataSource,
    -- | The Amazon Resource Name (ARN) of the dataset that the training data was
    -- imported to.
    DescribeDatasetImportJobResponse -> Maybe Text
datasetArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the dataset import job.
    DescribeDatasetImportJobResponse -> Maybe Text
datasetImportJobArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the dataset import job.
    DescribeDatasetImportJobResponse -> Maybe Text
datasetImportJobName :: Prelude.Maybe Prelude.Text,
    -- | The estimated time remaining in minutes for the dataset import job to
    -- complete.
    DescribeDatasetImportJobResponse -> Maybe Integer
estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,
    -- | Statistical information about each field in the input data.
    DescribeDatasetImportJobResponse -> Maybe (HashMap Text Statistics)
fieldStatistics :: Prelude.Maybe (Prelude.HashMap Prelude.Text Statistics),
    -- | The format of the imported data, CSV or PARQUET.
    DescribeDatasetImportJobResponse -> Maybe Text
format :: Prelude.Maybe Prelude.Text,
    -- | The format of the geolocation attribute. Valid Values:@\"LAT_LONG\"@ and
    -- @\"CC_POSTALCODE\"@.
    DescribeDatasetImportJobResponse -> Maybe Text
geolocationFormat :: Prelude.Maybe Prelude.Text,
    -- | The last time the resource was modified. The timestamp depends on the
    -- status of the job:
    --
    -- -   @CREATE_PENDING@ - The @CreationTime@.
    --
    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.
    --
    -- -   @CREATE_STOPPING@ - The current timestamp.
    --
    -- -   @CREATE_STOPPED@ - When the job stopped.
    --
    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.
    DescribeDatasetImportJobResponse -> Maybe POSIX
lastModificationTime :: Prelude.Maybe Data.POSIX,
    -- | If an error occurred, an informational message about the error.
    DescribeDatasetImportJobResponse -> Maybe Text
message :: Prelude.Maybe Prelude.Text,
    -- | The status of the dataset import job. States include:
    --
    -- -   @ACTIVE@
    --
    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@
    --
    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@
    --
    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@
    DescribeDatasetImportJobResponse -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | The single time zone applied to every item in the dataset
    DescribeDatasetImportJobResponse -> Maybe Text
timeZone :: Prelude.Maybe Prelude.Text,
    -- | The format of timestamps in the dataset. The format that you specify
    -- depends on the @DataFrequency@ specified when the dataset was created.
    -- The following formats are supported
    --
    -- -   \"yyyy-MM-dd\"
    --
    --     For the following data frequencies: Y, M, W, and D
    --
    -- -   \"yyyy-MM-dd HH:mm:ss\"
    --
    --     For the following data frequencies: H, 30min, 15min, and 1min; and
    --     optionally, for: Y, M, W, and D
    DescribeDatasetImportJobResponse -> Maybe Text
timestampFormat :: Prelude.Maybe Prelude.Text,
    -- | Whether @TimeZone@ is automatically derived from the geolocation
    -- attribute.
    DescribeDatasetImportJobResponse -> Maybe Bool
useGeolocationForTimeZone :: Prelude.Maybe Prelude.Bool,
    -- | The response's http status code.
    DescribeDatasetImportJobResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeDatasetImportJobResponse
-> DescribeDatasetImportJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDatasetImportJobResponse
-> DescribeDatasetImportJobResponse -> Bool
$c/= :: DescribeDatasetImportJobResponse
-> DescribeDatasetImportJobResponse -> Bool
== :: DescribeDatasetImportJobResponse
-> DescribeDatasetImportJobResponse -> Bool
$c== :: DescribeDatasetImportJobResponse
-> DescribeDatasetImportJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDatasetImportJobResponse]
ReadPrec DescribeDatasetImportJobResponse
Int -> ReadS DescribeDatasetImportJobResponse
ReadS [DescribeDatasetImportJobResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDatasetImportJobResponse]
$creadListPrec :: ReadPrec [DescribeDatasetImportJobResponse]
readPrec :: ReadPrec DescribeDatasetImportJobResponse
$creadPrec :: ReadPrec DescribeDatasetImportJobResponse
readList :: ReadS [DescribeDatasetImportJobResponse]
$creadList :: ReadS [DescribeDatasetImportJobResponse]
readsPrec :: Int -> ReadS DescribeDatasetImportJobResponse
$creadsPrec :: Int -> ReadS DescribeDatasetImportJobResponse
Prelude.Read, Int -> DescribeDatasetImportJobResponse -> ShowS
[DescribeDatasetImportJobResponse] -> ShowS
DescribeDatasetImportJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDatasetImportJobResponse] -> ShowS
$cshowList :: [DescribeDatasetImportJobResponse] -> ShowS
show :: DescribeDatasetImportJobResponse -> String
$cshow :: DescribeDatasetImportJobResponse -> String
showsPrec :: Int -> DescribeDatasetImportJobResponse -> ShowS
$cshowsPrec :: Int -> DescribeDatasetImportJobResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDatasetImportJobResponse x
-> DescribeDatasetImportJobResponse
forall x.
DescribeDatasetImportJobResponse
-> Rep DescribeDatasetImportJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDatasetImportJobResponse x
-> DescribeDatasetImportJobResponse
$cfrom :: forall x.
DescribeDatasetImportJobResponse
-> Rep DescribeDatasetImportJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDatasetImportJobResponse' 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:
--
-- 'creationTime', 'describeDatasetImportJobResponse_creationTime' - When the dataset import job was created.
--
-- 'dataSize', 'describeDatasetImportJobResponse_dataSize' - The size of the dataset in gigabytes (GB) after the import job has
-- finished.
--
-- 'dataSource', 'describeDatasetImportJobResponse_dataSource' - The location of the training data to import and an AWS Identity and
-- Access Management (IAM) role that Amazon Forecast can assume to access
-- the data.
--
-- If encryption is used, @DataSource@ includes an AWS Key Management
-- Service (KMS) key.
--
-- 'datasetArn', 'describeDatasetImportJobResponse_datasetArn' - The Amazon Resource Name (ARN) of the dataset that the training data was
-- imported to.
--
-- 'datasetImportJobArn', 'describeDatasetImportJobResponse_datasetImportJobArn' - The ARN of the dataset import job.
--
-- 'datasetImportJobName', 'describeDatasetImportJobResponse_datasetImportJobName' - The name of the dataset import job.
--
-- 'estimatedTimeRemainingInMinutes', 'describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes' - The estimated time remaining in minutes for the dataset import job to
-- complete.
--
-- 'fieldStatistics', 'describeDatasetImportJobResponse_fieldStatistics' - Statistical information about each field in the input data.
--
-- 'format', 'describeDatasetImportJobResponse_format' - The format of the imported data, CSV or PARQUET.
--
-- 'geolocationFormat', 'describeDatasetImportJobResponse_geolocationFormat' - The format of the geolocation attribute. Valid Values:@\"LAT_LONG\"@ and
-- @\"CC_POSTALCODE\"@.
--
-- 'lastModificationTime', 'describeDatasetImportJobResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the
-- status of the job:
--
-- -   @CREATE_PENDING@ - The @CreationTime@.
--
-- -   @CREATE_IN_PROGRESS@ - The current timestamp.
--
-- -   @CREATE_STOPPING@ - The current timestamp.
--
-- -   @CREATE_STOPPED@ - When the job stopped.
--
-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.
--
-- 'message', 'describeDatasetImportJobResponse_message' - If an error occurred, an informational message about the error.
--
-- 'status', 'describeDatasetImportJobResponse_status' - The status of the dataset import job. States include:
--
-- -   @ACTIVE@
--
-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@
--
-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@
--
-- -   @CREATE_STOPPING@, @CREATE_STOPPED@
--
-- 'timeZone', 'describeDatasetImportJobResponse_timeZone' - The single time zone applied to every item in the dataset
--
-- 'timestampFormat', 'describeDatasetImportJobResponse_timestampFormat' - The format of timestamps in the dataset. The format that you specify
-- depends on the @DataFrequency@ specified when the dataset was created.
-- The following formats are supported
--
-- -   \"yyyy-MM-dd\"
--
--     For the following data frequencies: Y, M, W, and D
--
-- -   \"yyyy-MM-dd HH:mm:ss\"
--
--     For the following data frequencies: H, 30min, 15min, and 1min; and
--     optionally, for: Y, M, W, and D
--
-- 'useGeolocationForTimeZone', 'describeDatasetImportJobResponse_useGeolocationForTimeZone' - Whether @TimeZone@ is automatically derived from the geolocation
-- attribute.
--
-- 'httpStatus', 'describeDatasetImportJobResponse_httpStatus' - The response's http status code.
newDescribeDatasetImportJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeDatasetImportJobResponse
newDescribeDatasetImportJobResponse :: Int -> DescribeDatasetImportJobResponse
newDescribeDatasetImportJobResponse Int
pHttpStatus_ =
  DescribeDatasetImportJobResponse'
    { $sel:creationTime:DescribeDatasetImportJobResponse' :: Maybe POSIX
creationTime =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dataSize:DescribeDatasetImportJobResponse' :: Maybe Double
dataSize = forall a. Maybe a
Prelude.Nothing,
      $sel:dataSource:DescribeDatasetImportJobResponse' :: Maybe DataSource
dataSource = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetArn:DescribeDatasetImportJobResponse' :: Maybe Text
datasetArn = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetImportJobArn:DescribeDatasetImportJobResponse' :: Maybe Text
datasetImportJobArn = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetImportJobName:DescribeDatasetImportJobResponse' :: Maybe Text
datasetImportJobName = forall a. Maybe a
Prelude.Nothing,
      $sel:estimatedTimeRemainingInMinutes:DescribeDatasetImportJobResponse' :: Maybe Integer
estimatedTimeRemainingInMinutes =
        forall a. Maybe a
Prelude.Nothing,
      $sel:fieldStatistics:DescribeDatasetImportJobResponse' :: Maybe (HashMap Text Statistics)
fieldStatistics = forall a. Maybe a
Prelude.Nothing,
      $sel:format:DescribeDatasetImportJobResponse' :: Maybe Text
format = forall a. Maybe a
Prelude.Nothing,
      $sel:geolocationFormat:DescribeDatasetImportJobResponse' :: Maybe Text
geolocationFormat = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModificationTime:DescribeDatasetImportJobResponse' :: Maybe POSIX
lastModificationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:message:DescribeDatasetImportJobResponse' :: Maybe Text
message = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeDatasetImportJobResponse' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
      $sel:timeZone:DescribeDatasetImportJobResponse' :: Maybe Text
timeZone = forall a. Maybe a
Prelude.Nothing,
      $sel:timestampFormat:DescribeDatasetImportJobResponse' :: Maybe Text
timestampFormat = forall a. Maybe a
Prelude.Nothing,
      $sel:useGeolocationForTimeZone:DescribeDatasetImportJobResponse' :: Maybe Bool
useGeolocationForTimeZone =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeDatasetImportJobResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | When the dataset import job was created.
describeDatasetImportJobResponse_creationTime :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.UTCTime)
describeDatasetImportJobResponse_creationTime :: Lens' DescribeDatasetImportJobResponse (Maybe UTCTime)
describeDatasetImportJobResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe POSIX
a -> DescribeDatasetImportJobResponse
s {$sel:creationTime:DescribeDatasetImportJobResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeDatasetImportJobResponse) 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 size of the dataset in gigabytes (GB) after the import job has
-- finished.
describeDatasetImportJobResponse_dataSize :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Double)
describeDatasetImportJobResponse_dataSize :: Lens' DescribeDatasetImportJobResponse (Maybe Double)
describeDatasetImportJobResponse_dataSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Double
dataSize :: Maybe Double
$sel:dataSize:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Double
dataSize} -> Maybe Double
dataSize) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Double
a -> DescribeDatasetImportJobResponse
s {$sel:dataSize:DescribeDatasetImportJobResponse' :: Maybe Double
dataSize = Maybe Double
a} :: DescribeDatasetImportJobResponse)

-- | The location of the training data to import and an AWS Identity and
-- Access Management (IAM) role that Amazon Forecast can assume to access
-- the data.
--
-- If encryption is used, @DataSource@ includes an AWS Key Management
-- Service (KMS) key.
describeDatasetImportJobResponse_dataSource :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe DataSource)
describeDatasetImportJobResponse_dataSource :: Lens' DescribeDatasetImportJobResponse (Maybe DataSource)
describeDatasetImportJobResponse_dataSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe DataSource
dataSource :: Maybe DataSource
$sel:dataSource:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe DataSource
dataSource} -> Maybe DataSource
dataSource) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe DataSource
a -> DescribeDatasetImportJobResponse
s {$sel:dataSource:DescribeDatasetImportJobResponse' :: Maybe DataSource
dataSource = Maybe DataSource
a} :: DescribeDatasetImportJobResponse)

-- | The Amazon Resource Name (ARN) of the dataset that the training data was
-- imported to.
describeDatasetImportJobResponse_datasetArn :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_datasetArn :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_datasetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
datasetArn :: Maybe Text
$sel:datasetArn:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
datasetArn} -> Maybe Text
datasetArn) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:datasetArn:DescribeDatasetImportJobResponse' :: Maybe Text
datasetArn = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The ARN of the dataset import job.
describeDatasetImportJobResponse_datasetImportJobArn :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_datasetImportJobArn :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_datasetImportJobArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
datasetImportJobArn :: Maybe Text
$sel:datasetImportJobArn:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
datasetImportJobArn} -> Maybe Text
datasetImportJobArn) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:datasetImportJobArn:DescribeDatasetImportJobResponse' :: Maybe Text
datasetImportJobArn = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The name of the dataset import job.
describeDatasetImportJobResponse_datasetImportJobName :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_datasetImportJobName :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_datasetImportJobName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
datasetImportJobName :: Maybe Text
$sel:datasetImportJobName:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
datasetImportJobName} -> Maybe Text
datasetImportJobName) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:datasetImportJobName:DescribeDatasetImportJobResponse' :: Maybe Text
datasetImportJobName = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The estimated time remaining in minutes for the dataset import job to
-- complete.
describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Integer)
describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes :: Lens' DescribeDatasetImportJobResponse (Maybe Integer)
describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Integer
estimatedTimeRemainingInMinutes :: Maybe Integer
$sel:estimatedTimeRemainingInMinutes:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Integer
estimatedTimeRemainingInMinutes} -> Maybe Integer
estimatedTimeRemainingInMinutes) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Integer
a -> DescribeDatasetImportJobResponse
s {$sel:estimatedTimeRemainingInMinutes:DescribeDatasetImportJobResponse' :: Maybe Integer
estimatedTimeRemainingInMinutes = Maybe Integer
a} :: DescribeDatasetImportJobResponse)

-- | Statistical information about each field in the input data.
describeDatasetImportJobResponse_fieldStatistics :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Statistics))
describeDatasetImportJobResponse_fieldStatistics :: Lens'
  DescribeDatasetImportJobResponse (Maybe (HashMap Text Statistics))
describeDatasetImportJobResponse_fieldStatistics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe (HashMap Text Statistics)
fieldStatistics :: Maybe (HashMap Text Statistics)
$sel:fieldStatistics:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe (HashMap Text Statistics)
fieldStatistics} -> Maybe (HashMap Text Statistics)
fieldStatistics) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe (HashMap Text Statistics)
a -> DescribeDatasetImportJobResponse
s {$sel:fieldStatistics:DescribeDatasetImportJobResponse' :: Maybe (HashMap Text Statistics)
fieldStatistics = Maybe (HashMap Text Statistics)
a} :: DescribeDatasetImportJobResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The format of the imported data, CSV or PARQUET.
describeDatasetImportJobResponse_format :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_format :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_format = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
format :: Maybe Text
$sel:format:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
format} -> Maybe Text
format) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:format:DescribeDatasetImportJobResponse' :: Maybe Text
format = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The format of the geolocation attribute. Valid Values:@\"LAT_LONG\"@ and
-- @\"CC_POSTALCODE\"@.
describeDatasetImportJobResponse_geolocationFormat :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_geolocationFormat :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_geolocationFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
geolocationFormat :: Maybe Text
$sel:geolocationFormat:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
geolocationFormat} -> Maybe Text
geolocationFormat) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:geolocationFormat:DescribeDatasetImportJobResponse' :: Maybe Text
geolocationFormat = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The last time the resource was modified. The timestamp depends on the
-- status of the job:
--
-- -   @CREATE_PENDING@ - The @CreationTime@.
--
-- -   @CREATE_IN_PROGRESS@ - The current timestamp.
--
-- -   @CREATE_STOPPING@ - The current timestamp.
--
-- -   @CREATE_STOPPED@ - When the job stopped.
--
-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.
describeDatasetImportJobResponse_lastModificationTime :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.UTCTime)
describeDatasetImportJobResponse_lastModificationTime :: Lens' DescribeDatasetImportJobResponse (Maybe UTCTime)
describeDatasetImportJobResponse_lastModificationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe POSIX
lastModificationTime :: Maybe POSIX
$sel:lastModificationTime:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe POSIX
lastModificationTime} -> Maybe POSIX
lastModificationTime) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe POSIX
a -> DescribeDatasetImportJobResponse
s {$sel:lastModificationTime:DescribeDatasetImportJobResponse' :: Maybe POSIX
lastModificationTime = Maybe POSIX
a} :: DescribeDatasetImportJobResponse) 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

-- | If an error occurred, an informational message about the error.
describeDatasetImportJobResponse_message :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_message :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_message = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
message :: Maybe Text
$sel:message:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
message} -> Maybe Text
message) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:message:DescribeDatasetImportJobResponse' :: Maybe Text
message = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The status of the dataset import job. States include:
--
-- -   @ACTIVE@
--
-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@
--
-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@
--
-- -   @CREATE_STOPPING@, @CREATE_STOPPED@
describeDatasetImportJobResponse_status :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_status :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
status :: Maybe Text
$sel:status:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
status} -> Maybe Text
status) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:status:DescribeDatasetImportJobResponse' :: Maybe Text
status = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The single time zone applied to every item in the dataset
describeDatasetImportJobResponse_timeZone :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_timeZone :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_timeZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
timeZone :: Maybe Text
$sel:timeZone:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
timeZone} -> Maybe Text
timeZone) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:timeZone:DescribeDatasetImportJobResponse' :: Maybe Text
timeZone = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | The format of timestamps in the dataset. The format that you specify
-- depends on the @DataFrequency@ specified when the dataset was created.
-- The following formats are supported
--
-- -   \"yyyy-MM-dd\"
--
--     For the following data frequencies: Y, M, W, and D
--
-- -   \"yyyy-MM-dd HH:mm:ss\"
--
--     For the following data frequencies: H, 30min, 15min, and 1min; and
--     optionally, for: Y, M, W, and D
describeDatasetImportJobResponse_timestampFormat :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)
describeDatasetImportJobResponse_timestampFormat :: Lens' DescribeDatasetImportJobResponse (Maybe Text)
describeDatasetImportJobResponse_timestampFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Text
timestampFormat :: Maybe Text
$sel:timestampFormat:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
timestampFormat} -> Maybe Text
timestampFormat) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Text
a -> DescribeDatasetImportJobResponse
s {$sel:timestampFormat:DescribeDatasetImportJobResponse' :: Maybe Text
timestampFormat = Maybe Text
a} :: DescribeDatasetImportJobResponse)

-- | Whether @TimeZone@ is automatically derived from the geolocation
-- attribute.
describeDatasetImportJobResponse_useGeolocationForTimeZone :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Bool)
describeDatasetImportJobResponse_useGeolocationForTimeZone :: Lens' DescribeDatasetImportJobResponse (Maybe Bool)
describeDatasetImportJobResponse_useGeolocationForTimeZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDatasetImportJobResponse' {Maybe Bool
useGeolocationForTimeZone :: Maybe Bool
$sel:useGeolocationForTimeZone:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Bool
useGeolocationForTimeZone} -> Maybe Bool
useGeolocationForTimeZone) (\s :: DescribeDatasetImportJobResponse
s@DescribeDatasetImportJobResponse' {} Maybe Bool
a -> DescribeDatasetImportJobResponse
s {$sel:useGeolocationForTimeZone:DescribeDatasetImportJobResponse' :: Maybe Bool
useGeolocationForTimeZone = Maybe Bool
a} :: DescribeDatasetImportJobResponse)

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

instance
  Prelude.NFData
    DescribeDatasetImportJobResponse
  where
  rnf :: DescribeDatasetImportJobResponse -> ()
rnf DescribeDatasetImportJobResponse' {Int
Maybe Bool
Maybe Double
Maybe Integer
Maybe Text
Maybe (HashMap Text Statistics)
Maybe POSIX
Maybe DataSource
httpStatus :: Int
useGeolocationForTimeZone :: Maybe Bool
timestampFormat :: Maybe Text
timeZone :: Maybe Text
status :: Maybe Text
message :: Maybe Text
lastModificationTime :: Maybe POSIX
geolocationFormat :: Maybe Text
format :: Maybe Text
fieldStatistics :: Maybe (HashMap Text Statistics)
estimatedTimeRemainingInMinutes :: Maybe Integer
datasetImportJobName :: Maybe Text
datasetImportJobArn :: Maybe Text
datasetArn :: Maybe Text
dataSource :: Maybe DataSource
dataSize :: Maybe Double
creationTime :: Maybe POSIX
$sel:httpStatus:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Int
$sel:useGeolocationForTimeZone:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Bool
$sel:timestampFormat:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:timeZone:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:status:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:message:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:lastModificationTime:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe POSIX
$sel:geolocationFormat:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:format:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:fieldStatistics:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe (HashMap Text Statistics)
$sel:estimatedTimeRemainingInMinutes:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Integer
$sel:datasetImportJobName:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:datasetImportJobArn:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:datasetArn:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Text
$sel:dataSource:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe DataSource
$sel:dataSize:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe Double
$sel:creationTime:DescribeDatasetImportJobResponse' :: DescribeDatasetImportJobResponse -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
dataSize
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataSource
dataSource
      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
datasetImportJobArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetImportJobName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
estimatedTimeRemainingInMinutes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Statistics)
fieldStatistics
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
format
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
geolocationFormat
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModificationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
message
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
timeZone
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
timestampFormat
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
useGeolocationForTimeZone
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus