{-# 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.SageMakerGeoSpatial.StartEarthObservationJob
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Use this operation to create an Earth observation job.
module Amazonka.SageMakerGeoSpatial.StartEarthObservationJob
  ( -- * Creating a Request
    StartEarthObservationJob (..),
    newStartEarthObservationJob,

    -- * Request Lenses
    startEarthObservationJob_clientToken,
    startEarthObservationJob_executionRoleArn,
    startEarthObservationJob_kmsKeyId,
    startEarthObservationJob_tags,
    startEarthObservationJob_inputConfig,
    startEarthObservationJob_jobConfig,
    startEarthObservationJob_name,

    -- * Destructuring the Response
    StartEarthObservationJobResponse (..),
    newStartEarthObservationJobResponse,

    -- * Response Lenses
    startEarthObservationJobResponse_executionRoleArn,
    startEarthObservationJobResponse_inputConfig,
    startEarthObservationJobResponse_kmsKeyId,
    startEarthObservationJobResponse_tags,
    startEarthObservationJobResponse_httpStatus,
    startEarthObservationJobResponse_arn,
    startEarthObservationJobResponse_creationTime,
    startEarthObservationJobResponse_durationInSeconds,
    startEarthObservationJobResponse_jobConfig,
    startEarthObservationJobResponse_name,
    startEarthObservationJobResponse_status,
  )
where

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

-- | /See:/ 'newStartEarthObservationJob' smart constructor.
data StartEarthObservationJob = StartEarthObservationJob'
  { -- | A unique token that guarantees that the call to this API is idempotent.
    StartEarthObservationJob -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for
    -- the job.
    StartEarthObservationJob -> Maybe Text
executionRoleArn :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Key Management Service (KMS) key ID for server-side
    -- encryption.
    StartEarthObservationJob -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Each tag consists of a key and a value.
    StartEarthObservationJob -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | Input configuration information for the Earth Observation job.
    StartEarthObservationJob -> InputConfigInput
inputConfig :: InputConfigInput,
    -- | An object containing information about the job configuration.
    StartEarthObservationJob -> JobConfigInput
jobConfig :: JobConfigInput,
    -- | The name of the Earth Observation job.
    StartEarthObservationJob -> Text
name :: Prelude.Text
  }
  deriving (StartEarthObservationJob -> StartEarthObservationJob -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartEarthObservationJob -> StartEarthObservationJob -> Bool
$c/= :: StartEarthObservationJob -> StartEarthObservationJob -> Bool
== :: StartEarthObservationJob -> StartEarthObservationJob -> Bool
$c== :: StartEarthObservationJob -> StartEarthObservationJob -> Bool
Prelude.Eq, Int -> StartEarthObservationJob -> ShowS
[StartEarthObservationJob] -> ShowS
StartEarthObservationJob -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartEarthObservationJob] -> ShowS
$cshowList :: [StartEarthObservationJob] -> ShowS
show :: StartEarthObservationJob -> String
$cshow :: StartEarthObservationJob -> String
showsPrec :: Int -> StartEarthObservationJob -> ShowS
$cshowsPrec :: Int -> StartEarthObservationJob -> ShowS
Prelude.Show, forall x.
Rep StartEarthObservationJob x -> StartEarthObservationJob
forall x.
StartEarthObservationJob -> Rep StartEarthObservationJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartEarthObservationJob x -> StartEarthObservationJob
$cfrom :: forall x.
StartEarthObservationJob -> Rep StartEarthObservationJob x
Prelude.Generic)

-- |
-- Create a value of 'StartEarthObservationJob' 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:
--
-- 'clientToken', 'startEarthObservationJob_clientToken' - A unique token that guarantees that the call to this API is idempotent.
--
-- 'executionRoleArn', 'startEarthObservationJob_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for
-- the job.
--
-- 'kmsKeyId', 'startEarthObservationJob_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side
-- encryption.
--
-- 'tags', 'startEarthObservationJob_tags' - Each tag consists of a key and a value.
--
-- 'inputConfig', 'startEarthObservationJob_inputConfig' - Input configuration information for the Earth Observation job.
--
-- 'jobConfig', 'startEarthObservationJob_jobConfig' - An object containing information about the job configuration.
--
-- 'name', 'startEarthObservationJob_name' - The name of the Earth Observation job.
newStartEarthObservationJob ::
  -- | 'inputConfig'
  InputConfigInput ->
  -- | 'jobConfig'
  JobConfigInput ->
  -- | 'name'
  Prelude.Text ->
  StartEarthObservationJob
newStartEarthObservationJob :: InputConfigInput
-> JobConfigInput -> Text -> StartEarthObservationJob
newStartEarthObservationJob
  InputConfigInput
pInputConfig_
  JobConfigInput
pJobConfig_
  Text
pName_ =
    StartEarthObservationJob'
      { $sel:clientToken:StartEarthObservationJob' :: Maybe Text
clientToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:executionRoleArn:StartEarthObservationJob' :: Maybe Text
executionRoleArn = forall a. Maybe a
Prelude.Nothing,
        $sel:kmsKeyId:StartEarthObservationJob' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:StartEarthObservationJob' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:inputConfig:StartEarthObservationJob' :: InputConfigInput
inputConfig = InputConfigInput
pInputConfig_,
        $sel:jobConfig:StartEarthObservationJob' :: JobConfigInput
jobConfig = JobConfigInput
pJobConfig_,
        $sel:name:StartEarthObservationJob' :: Text
name = Text
pName_
      }

-- | A unique token that guarantees that the call to this API is idempotent.
startEarthObservationJob_clientToken :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe Prelude.Text)
startEarthObservationJob_clientToken :: Lens' StartEarthObservationJob (Maybe Text)
startEarthObservationJob_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJob' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: StartEarthObservationJob
s@StartEarthObservationJob' {} Maybe Text
a -> StartEarthObservationJob
s {$sel:clientToken:StartEarthObservationJob' :: Maybe Text
clientToken = Maybe Text
a} :: StartEarthObservationJob)

-- | The Amazon Resource Name (ARN) of the IAM role that you specified for
-- the job.
startEarthObservationJob_executionRoleArn :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe Prelude.Text)
startEarthObservationJob_executionRoleArn :: Lens' StartEarthObservationJob (Maybe Text)
startEarthObservationJob_executionRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJob' {Maybe Text
executionRoleArn :: Maybe Text
$sel:executionRoleArn:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
executionRoleArn} -> Maybe Text
executionRoleArn) (\s :: StartEarthObservationJob
s@StartEarthObservationJob' {} Maybe Text
a -> StartEarthObservationJob
s {$sel:executionRoleArn:StartEarthObservationJob' :: Maybe Text
executionRoleArn = Maybe Text
a} :: StartEarthObservationJob)

-- | The Amazon Key Management Service (KMS) key ID for server-side
-- encryption.
startEarthObservationJob_kmsKeyId :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe Prelude.Text)
startEarthObservationJob_kmsKeyId :: Lens' StartEarthObservationJob (Maybe Text)
startEarthObservationJob_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJob' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: StartEarthObservationJob
s@StartEarthObservationJob' {} Maybe Text
a -> StartEarthObservationJob
s {$sel:kmsKeyId:StartEarthObservationJob' :: Maybe Text
kmsKeyId = Maybe Text
a} :: StartEarthObservationJob)

-- | Each tag consists of a key and a value.
startEarthObservationJob_tags :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
startEarthObservationJob_tags :: Lens' StartEarthObservationJob (Maybe (HashMap Text Text))
startEarthObservationJob_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJob' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: StartEarthObservationJob
s@StartEarthObservationJob' {} Maybe (HashMap Text Text)
a -> StartEarthObservationJob
s {$sel:tags:StartEarthObservationJob' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: StartEarthObservationJob) 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

-- | Input configuration information for the Earth Observation job.
startEarthObservationJob_inputConfig :: Lens.Lens' StartEarthObservationJob InputConfigInput
startEarthObservationJob_inputConfig :: Lens' StartEarthObservationJob InputConfigInput
startEarthObservationJob_inputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJob' {InputConfigInput
inputConfig :: InputConfigInput
$sel:inputConfig:StartEarthObservationJob' :: StartEarthObservationJob -> InputConfigInput
inputConfig} -> InputConfigInput
inputConfig) (\s :: StartEarthObservationJob
s@StartEarthObservationJob' {} InputConfigInput
a -> StartEarthObservationJob
s {$sel:inputConfig:StartEarthObservationJob' :: InputConfigInput
inputConfig = InputConfigInput
a} :: StartEarthObservationJob)

-- | An object containing information about the job configuration.
startEarthObservationJob_jobConfig :: Lens.Lens' StartEarthObservationJob JobConfigInput
startEarthObservationJob_jobConfig :: Lens' StartEarthObservationJob JobConfigInput
startEarthObservationJob_jobConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJob' {JobConfigInput
jobConfig :: JobConfigInput
$sel:jobConfig:StartEarthObservationJob' :: StartEarthObservationJob -> JobConfigInput
jobConfig} -> JobConfigInput
jobConfig) (\s :: StartEarthObservationJob
s@StartEarthObservationJob' {} JobConfigInput
a -> StartEarthObservationJob
s {$sel:jobConfig:StartEarthObservationJob' :: JobConfigInput
jobConfig = JobConfigInput
a} :: StartEarthObservationJob)

-- | The name of the Earth Observation job.
startEarthObservationJob_name :: Lens.Lens' StartEarthObservationJob Prelude.Text
startEarthObservationJob_name :: Lens' StartEarthObservationJob Text
startEarthObservationJob_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJob' {Text
name :: Text
$sel:name:StartEarthObservationJob' :: StartEarthObservationJob -> Text
name} -> Text
name) (\s :: StartEarthObservationJob
s@StartEarthObservationJob' {} Text
a -> StartEarthObservationJob
s {$sel:name:StartEarthObservationJob' :: Text
name = Text
a} :: StartEarthObservationJob)

instance Core.AWSRequest StartEarthObservationJob where
  type
    AWSResponse StartEarthObservationJob =
      StartEarthObservationJobResponse
  request :: (Service -> Service)
-> StartEarthObservationJob -> Request StartEarthObservationJob
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 StartEarthObservationJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse StartEarthObservationJob)))
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 Text
-> Maybe InputConfigOutput
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Int
-> Text
-> POSIX
-> Int
-> JobConfigInput
-> Text
-> EarthObservationJobStatus
-> StartEarthObservationJobResponse
StartEarthObservationJobResponse'
            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
"ExecutionRoleArn")
            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
"InputConfig")
            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
"KmsKeyId")
            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
"Tags" 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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Arn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String 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 a
Data..:> Key
"DurationInSeconds")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"JobConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Status")
      )

instance Prelude.Hashable StartEarthObservationJob where
  hashWithSalt :: Int -> StartEarthObservationJob -> Int
hashWithSalt Int
_salt StartEarthObservationJob' {Maybe Text
Maybe (HashMap Text Text)
Text
InputConfigInput
JobConfigInput
name :: Text
jobConfig :: JobConfigInput
inputConfig :: InputConfigInput
tags :: Maybe (HashMap Text Text)
kmsKeyId :: Maybe Text
executionRoleArn :: Maybe Text
clientToken :: Maybe Text
$sel:name:StartEarthObservationJob' :: StartEarthObservationJob -> Text
$sel:jobConfig:StartEarthObservationJob' :: StartEarthObservationJob -> JobConfigInput
$sel:inputConfig:StartEarthObservationJob' :: StartEarthObservationJob -> InputConfigInput
$sel:tags:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe (HashMap Text Text)
$sel:kmsKeyId:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
$sel:executionRoleArn:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
$sel:clientToken:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
executionRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InputConfigInput
inputConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` JobConfigInput
jobConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name

instance Prelude.NFData StartEarthObservationJob where
  rnf :: StartEarthObservationJob -> ()
rnf StartEarthObservationJob' {Maybe Text
Maybe (HashMap Text Text)
Text
InputConfigInput
JobConfigInput
name :: Text
jobConfig :: JobConfigInput
inputConfig :: InputConfigInput
tags :: Maybe (HashMap Text Text)
kmsKeyId :: Maybe Text
executionRoleArn :: Maybe Text
clientToken :: Maybe Text
$sel:name:StartEarthObservationJob' :: StartEarthObservationJob -> Text
$sel:jobConfig:StartEarthObservationJob' :: StartEarthObservationJob -> JobConfigInput
$sel:inputConfig:StartEarthObservationJob' :: StartEarthObservationJob -> InputConfigInput
$sel:tags:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe (HashMap Text Text)
$sel:kmsKeyId:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
$sel:executionRoleArn:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
$sel:clientToken:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
executionRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf InputConfigInput
inputConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JobConfigInput
jobConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name

instance Data.ToHeaders StartEarthObservationJob where
  toHeaders :: StartEarthObservationJob -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON StartEarthObservationJob where
  toJSON :: StartEarthObservationJob -> Value
toJSON StartEarthObservationJob' {Maybe Text
Maybe (HashMap Text Text)
Text
InputConfigInput
JobConfigInput
name :: Text
jobConfig :: JobConfigInput
inputConfig :: InputConfigInput
tags :: Maybe (HashMap Text Text)
kmsKeyId :: Maybe Text
executionRoleArn :: Maybe Text
clientToken :: Maybe Text
$sel:name:StartEarthObservationJob' :: StartEarthObservationJob -> Text
$sel:jobConfig:StartEarthObservationJob' :: StartEarthObservationJob -> JobConfigInput
$sel:inputConfig:StartEarthObservationJob' :: StartEarthObservationJob -> InputConfigInput
$sel:tags:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe (HashMap Text Text)
$sel:kmsKeyId:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
$sel:executionRoleArn:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
$sel:clientToken:StartEarthObservationJob' :: StartEarthObservationJob -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"ClientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientToken,
            (Key
"ExecutionRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
executionRoleArn,
            (Key
"KmsKeyId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
kmsKeyId,
            (Key
"Tags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
tags,
            forall a. a -> Maybe a
Prelude.Just (Key
"InputConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= InputConfigInput
inputConfig),
            forall a. a -> Maybe a
Prelude.Just (Key
"JobConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= JobConfigInput
jobConfig),
            forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)
          ]
      )

instance Data.ToPath StartEarthObservationJob where
  toPath :: StartEarthObservationJob -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/earth-observation-jobs"

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

-- | /See:/ 'newStartEarthObservationJobResponse' smart constructor.
data StartEarthObservationJobResponse = StartEarthObservationJobResponse'
  { -- | The Amazon Resource Name (ARN) of the IAM role that you specified for
    -- the job.
    StartEarthObservationJobResponse -> Maybe Text
executionRoleArn :: Prelude.Maybe Prelude.Text,
    -- | Input configuration information for the Earth Observation job.
    StartEarthObservationJobResponse -> Maybe InputConfigOutput
inputConfig :: Prelude.Maybe InputConfigOutput,
    -- | The Amazon Key Management Service (KMS) key ID for server-side
    -- encryption.
    StartEarthObservationJobResponse -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Each tag consists of a key and a value.
    StartEarthObservationJobResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    StartEarthObservationJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the Earth Observation job.
    StartEarthObservationJobResponse -> Text
arn :: Prelude.Text,
    -- | The creation time.
    StartEarthObservationJobResponse -> POSIX
creationTime :: Data.POSIX,
    -- | The duration of the session, in seconds.
    StartEarthObservationJobResponse -> Int
durationInSeconds :: Prelude.Int,
    -- | An object containing information about the job configuration.
    StartEarthObservationJobResponse -> JobConfigInput
jobConfig :: JobConfigInput,
    -- | The name of the Earth Observation job.
    StartEarthObservationJobResponse -> Text
name :: Prelude.Text,
    -- | The status of the Earth Observation job.
    StartEarthObservationJobResponse -> EarthObservationJobStatus
status :: EarthObservationJobStatus
  }
  deriving (StartEarthObservationJobResponse
-> StartEarthObservationJobResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartEarthObservationJobResponse
-> StartEarthObservationJobResponse -> Bool
$c/= :: StartEarthObservationJobResponse
-> StartEarthObservationJobResponse -> Bool
== :: StartEarthObservationJobResponse
-> StartEarthObservationJobResponse -> Bool
$c== :: StartEarthObservationJobResponse
-> StartEarthObservationJobResponse -> Bool
Prelude.Eq, Int -> StartEarthObservationJobResponse -> ShowS
[StartEarthObservationJobResponse] -> ShowS
StartEarthObservationJobResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartEarthObservationJobResponse] -> ShowS
$cshowList :: [StartEarthObservationJobResponse] -> ShowS
show :: StartEarthObservationJobResponse -> String
$cshow :: StartEarthObservationJobResponse -> String
showsPrec :: Int -> StartEarthObservationJobResponse -> ShowS
$cshowsPrec :: Int -> StartEarthObservationJobResponse -> ShowS
Prelude.Show, forall x.
Rep StartEarthObservationJobResponse x
-> StartEarthObservationJobResponse
forall x.
StartEarthObservationJobResponse
-> Rep StartEarthObservationJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartEarthObservationJobResponse x
-> StartEarthObservationJobResponse
$cfrom :: forall x.
StartEarthObservationJobResponse
-> Rep StartEarthObservationJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'StartEarthObservationJobResponse' 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:
--
-- 'executionRoleArn', 'startEarthObservationJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for
-- the job.
--
-- 'inputConfig', 'startEarthObservationJobResponse_inputConfig' - Input configuration information for the Earth Observation job.
--
-- 'kmsKeyId', 'startEarthObservationJobResponse_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side
-- encryption.
--
-- 'tags', 'startEarthObservationJobResponse_tags' - Each tag consists of a key and a value.
--
-- 'httpStatus', 'startEarthObservationJobResponse_httpStatus' - The response's http status code.
--
-- 'arn', 'startEarthObservationJobResponse_arn' - The Amazon Resource Name (ARN) of the Earth Observation job.
--
-- 'creationTime', 'startEarthObservationJobResponse_creationTime' - The creation time.
--
-- 'durationInSeconds', 'startEarthObservationJobResponse_durationInSeconds' - The duration of the session, in seconds.
--
-- 'jobConfig', 'startEarthObservationJobResponse_jobConfig' - An object containing information about the job configuration.
--
-- 'name', 'startEarthObservationJobResponse_name' - The name of the Earth Observation job.
--
-- 'status', 'startEarthObservationJobResponse_status' - The status of the Earth Observation job.
newStartEarthObservationJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'arn'
  Prelude.Text ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'durationInSeconds'
  Prelude.Int ->
  -- | 'jobConfig'
  JobConfigInput ->
  -- | 'name'
  Prelude.Text ->
  -- | 'status'
  EarthObservationJobStatus ->
  StartEarthObservationJobResponse
newStartEarthObservationJobResponse :: Int
-> Text
-> UTCTime
-> Int
-> JobConfigInput
-> Text
-> EarthObservationJobStatus
-> StartEarthObservationJobResponse
newStartEarthObservationJobResponse
  Int
pHttpStatus_
  Text
pArn_
  UTCTime
pCreationTime_
  Int
pDurationInSeconds_
  JobConfigInput
pJobConfig_
  Text
pName_
  EarthObservationJobStatus
pStatus_ =
    StartEarthObservationJobResponse'
      { $sel:executionRoleArn:StartEarthObservationJobResponse' :: Maybe Text
executionRoleArn =
          forall a. Maybe a
Prelude.Nothing,
        $sel:inputConfig:StartEarthObservationJobResponse' :: Maybe InputConfigOutput
inputConfig = forall a. Maybe a
Prelude.Nothing,
        $sel:kmsKeyId:StartEarthObservationJobResponse' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:StartEarthObservationJobResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:StartEarthObservationJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:arn:StartEarthObservationJobResponse' :: Text
arn = Text
pArn_,
        $sel:creationTime:StartEarthObservationJobResponse' :: POSIX
creationTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:durationInSeconds:StartEarthObservationJobResponse' :: Int
durationInSeconds = Int
pDurationInSeconds_,
        $sel:jobConfig:StartEarthObservationJobResponse' :: JobConfigInput
jobConfig = JobConfigInput
pJobConfig_,
        $sel:name:StartEarthObservationJobResponse' :: Text
name = Text
pName_,
        $sel:status:StartEarthObservationJobResponse' :: EarthObservationJobStatus
status = EarthObservationJobStatus
pStatus_
      }

-- | The Amazon Resource Name (ARN) of the IAM role that you specified for
-- the job.
startEarthObservationJobResponse_executionRoleArn :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe Prelude.Text)
startEarthObservationJobResponse_executionRoleArn :: Lens' StartEarthObservationJobResponse (Maybe Text)
startEarthObservationJobResponse_executionRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Maybe Text
executionRoleArn :: Maybe Text
$sel:executionRoleArn:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe Text
executionRoleArn} -> Maybe Text
executionRoleArn) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Maybe Text
a -> StartEarthObservationJobResponse
s {$sel:executionRoleArn:StartEarthObservationJobResponse' :: Maybe Text
executionRoleArn = Maybe Text
a} :: StartEarthObservationJobResponse)

-- | Input configuration information for the Earth Observation job.
startEarthObservationJobResponse_inputConfig :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe InputConfigOutput)
startEarthObservationJobResponse_inputConfig :: Lens' StartEarthObservationJobResponse (Maybe InputConfigOutput)
startEarthObservationJobResponse_inputConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Maybe InputConfigOutput
inputConfig :: Maybe InputConfigOutput
$sel:inputConfig:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe InputConfigOutput
inputConfig} -> Maybe InputConfigOutput
inputConfig) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Maybe InputConfigOutput
a -> StartEarthObservationJobResponse
s {$sel:inputConfig:StartEarthObservationJobResponse' :: Maybe InputConfigOutput
inputConfig = Maybe InputConfigOutput
a} :: StartEarthObservationJobResponse)

-- | The Amazon Key Management Service (KMS) key ID for server-side
-- encryption.
startEarthObservationJobResponse_kmsKeyId :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe Prelude.Text)
startEarthObservationJobResponse_kmsKeyId :: Lens' StartEarthObservationJobResponse (Maybe Text)
startEarthObservationJobResponse_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Maybe Text
a -> StartEarthObservationJobResponse
s {$sel:kmsKeyId:StartEarthObservationJobResponse' :: Maybe Text
kmsKeyId = Maybe Text
a} :: StartEarthObservationJobResponse)

-- | Each tag consists of a key and a value.
startEarthObservationJobResponse_tags :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
startEarthObservationJobResponse_tags :: Lens' StartEarthObservationJobResponse (Maybe (HashMap Text Text))
startEarthObservationJobResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Maybe (HashMap Text Text)
a -> StartEarthObservationJobResponse
s {$sel:tags:StartEarthObservationJobResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: StartEarthObservationJobResponse) 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 response's http status code.
startEarthObservationJobResponse_httpStatus :: Lens.Lens' StartEarthObservationJobResponse Prelude.Int
startEarthObservationJobResponse_httpStatus :: Lens' StartEarthObservationJobResponse Int
startEarthObservationJobResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Int
a -> StartEarthObservationJobResponse
s {$sel:httpStatus:StartEarthObservationJobResponse' :: Int
httpStatus = Int
a} :: StartEarthObservationJobResponse)

-- | The Amazon Resource Name (ARN) of the Earth Observation job.
startEarthObservationJobResponse_arn :: Lens.Lens' StartEarthObservationJobResponse Prelude.Text
startEarthObservationJobResponse_arn :: Lens' StartEarthObservationJobResponse Text
startEarthObservationJobResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Text
arn :: Text
$sel:arn:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Text
arn} -> Text
arn) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Text
a -> StartEarthObservationJobResponse
s {$sel:arn:StartEarthObservationJobResponse' :: Text
arn = Text
a} :: StartEarthObservationJobResponse)

-- | The creation time.
startEarthObservationJobResponse_creationTime :: Lens.Lens' StartEarthObservationJobResponse Prelude.UTCTime
startEarthObservationJobResponse_creationTime :: Lens' StartEarthObservationJobResponse UTCTime
startEarthObservationJobResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} POSIX
a -> StartEarthObservationJobResponse
s {$sel:creationTime:StartEarthObservationJobResponse' :: POSIX
creationTime = POSIX
a} :: StartEarthObservationJobResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The duration of the session, in seconds.
startEarthObservationJobResponse_durationInSeconds :: Lens.Lens' StartEarthObservationJobResponse Prelude.Int
startEarthObservationJobResponse_durationInSeconds :: Lens' StartEarthObservationJobResponse Int
startEarthObservationJobResponse_durationInSeconds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Int
durationInSeconds :: Int
$sel:durationInSeconds:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Int
durationInSeconds} -> Int
durationInSeconds) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Int
a -> StartEarthObservationJobResponse
s {$sel:durationInSeconds:StartEarthObservationJobResponse' :: Int
durationInSeconds = Int
a} :: StartEarthObservationJobResponse)

-- | An object containing information about the job configuration.
startEarthObservationJobResponse_jobConfig :: Lens.Lens' StartEarthObservationJobResponse JobConfigInput
startEarthObservationJobResponse_jobConfig :: Lens' StartEarthObservationJobResponse JobConfigInput
startEarthObservationJobResponse_jobConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {JobConfigInput
jobConfig :: JobConfigInput
$sel:jobConfig:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> JobConfigInput
jobConfig} -> JobConfigInput
jobConfig) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} JobConfigInput
a -> StartEarthObservationJobResponse
s {$sel:jobConfig:StartEarthObservationJobResponse' :: JobConfigInput
jobConfig = JobConfigInput
a} :: StartEarthObservationJobResponse)

-- | The name of the Earth Observation job.
startEarthObservationJobResponse_name :: Lens.Lens' StartEarthObservationJobResponse Prelude.Text
startEarthObservationJobResponse_name :: Lens' StartEarthObservationJobResponse Text
startEarthObservationJobResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {Text
name :: Text
$sel:name:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Text
name} -> Text
name) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} Text
a -> StartEarthObservationJobResponse
s {$sel:name:StartEarthObservationJobResponse' :: Text
name = Text
a} :: StartEarthObservationJobResponse)

-- | The status of the Earth Observation job.
startEarthObservationJobResponse_status :: Lens.Lens' StartEarthObservationJobResponse EarthObservationJobStatus
startEarthObservationJobResponse_status :: Lens' StartEarthObservationJobResponse EarthObservationJobStatus
startEarthObservationJobResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartEarthObservationJobResponse' {EarthObservationJobStatus
status :: EarthObservationJobStatus
$sel:status:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> EarthObservationJobStatus
status} -> EarthObservationJobStatus
status) (\s :: StartEarthObservationJobResponse
s@StartEarthObservationJobResponse' {} EarthObservationJobStatus
a -> StartEarthObservationJobResponse
s {$sel:status:StartEarthObservationJobResponse' :: EarthObservationJobStatus
status = EarthObservationJobStatus
a} :: StartEarthObservationJobResponse)

instance
  Prelude.NFData
    StartEarthObservationJobResponse
  where
  rnf :: StartEarthObservationJobResponse -> ()
rnf StartEarthObservationJobResponse' {Int
Maybe Text
Maybe (HashMap Text Text)
Maybe InputConfigOutput
Text
POSIX
EarthObservationJobStatus
JobConfigInput
status :: EarthObservationJobStatus
name :: Text
jobConfig :: JobConfigInput
durationInSeconds :: Int
creationTime :: POSIX
arn :: Text
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
kmsKeyId :: Maybe Text
inputConfig :: Maybe InputConfigOutput
executionRoleArn :: Maybe Text
$sel:status:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> EarthObservationJobStatus
$sel:name:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Text
$sel:jobConfig:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> JobConfigInput
$sel:durationInSeconds:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Int
$sel:creationTime:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> POSIX
$sel:arn:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Text
$sel:httpStatus:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Int
$sel:tags:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe (HashMap Text Text)
$sel:kmsKeyId:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe Text
$sel:inputConfig:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe InputConfigOutput
$sel:executionRoleArn:StartEarthObservationJobResponse' :: StartEarthObservationJobResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
executionRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InputConfigOutput
inputConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
durationInSeconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JobConfigInput
jobConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EarthObservationJobStatus
status