{-# 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.DMS.StartReplicationTaskAssessmentRun
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Starts a new premigration assessment run for one or more individual
-- assessments of a migration task.
--
-- The assessments that you can specify depend on the source and target
-- database engine and the migration type defined for the given task. To
-- run this operation, your migration task must already be created. After
-- you run this operation, you can review the status of each individual
-- assessment. You can also run the migration task manually after the
-- assessment run and its individual assessments complete.
module Amazonka.DMS.StartReplicationTaskAssessmentRun
  ( -- * Creating a Request
    StartReplicationTaskAssessmentRun (..),
    newStartReplicationTaskAssessmentRun,

    -- * Request Lenses
    startReplicationTaskAssessmentRun_exclude,
    startReplicationTaskAssessmentRun_includeOnly,
    startReplicationTaskAssessmentRun_resultEncryptionMode,
    startReplicationTaskAssessmentRun_resultKmsKeyArn,
    startReplicationTaskAssessmentRun_resultLocationFolder,
    startReplicationTaskAssessmentRun_replicationTaskArn,
    startReplicationTaskAssessmentRun_serviceAccessRoleArn,
    startReplicationTaskAssessmentRun_resultLocationBucket,
    startReplicationTaskAssessmentRun_assessmentRunName,

    -- * Destructuring the Response
    StartReplicationTaskAssessmentRunResponse (..),
    newStartReplicationTaskAssessmentRunResponse,

    -- * Response Lenses
    startReplicationTaskAssessmentRunResponse_replicationTaskAssessmentRun,
    startReplicationTaskAssessmentRunResponse_httpStatus,
  )
where

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

-- |
--
-- /See:/ 'newStartReplicationTaskAssessmentRun' smart constructor.
data StartReplicationTaskAssessmentRun = StartReplicationTaskAssessmentRun'
  { -- | Space-separated list of names for specific individual assessments that
    -- you want to exclude. These names come from the default list of
    -- individual assessments that DMS supports for the associated migration
    -- task. This task is specified by @ReplicationTaskArn@.
    --
    -- You can\'t set a value for @Exclude@ if you also set a value for
    -- @IncludeOnly@ in the API operation.
    --
    -- To identify the names of the default individual assessments that DMS
    -- supports for the associated migration task, run the
    -- @DescribeApplicableIndividualAssessments@ operation using its own
    -- @ReplicationTaskArn@ request parameter.
    StartReplicationTaskAssessmentRun -> Maybe [Text]
exclude :: Prelude.Maybe [Prelude.Text],
    -- | Space-separated list of names for specific individual assessments that
    -- you want to include. These names come from the default list of
    -- individual assessments that DMS supports for the associated migration
    -- task. This task is specified by @ReplicationTaskArn@.
    --
    -- You can\'t set a value for @IncludeOnly@ if you also set a value for
    -- @Exclude@ in the API operation.
    --
    -- To identify the names of the default individual assessments that DMS
    -- supports for the associated migration task, run the
    -- @DescribeApplicableIndividualAssessments@ operation using its own
    -- @ReplicationTaskArn@ request parameter.
    StartReplicationTaskAssessmentRun -> Maybe [Text]
includeOnly :: Prelude.Maybe [Prelude.Text],
    -- | Encryption mode that you can specify to encrypt the results of this
    -- assessment run. If you don\'t specify this request parameter, DMS stores
    -- the assessment run results without encryption. You can specify one of
    -- the options following:
    --
    -- -   @\"SSE_S3\"@ – The server-side encryption provided as a default by
    --     Amazon S3.
    --
    -- -   @\"SSE_KMS\"@ – Key Management Service (KMS) encryption. This
    --     encryption can use either a custom KMS encryption key that you
    --     specify or the default KMS encryption key that DMS provides.
    StartReplicationTaskAssessmentRun -> Maybe Text
resultEncryptionMode :: Prelude.Maybe Prelude.Text,
    -- | ARN of a custom KMS encryption key that you specify when you set
    -- @ResultEncryptionMode@ to @\"SSE_KMS@\".
    StartReplicationTaskAssessmentRun -> Maybe Text
resultKmsKeyArn :: Prelude.Maybe Prelude.Text,
    -- | Folder within an Amazon S3 bucket where you want DMS to store the
    -- results of this assessment run.
    StartReplicationTaskAssessmentRun -> Maybe Text
resultLocationFolder :: Prelude.Maybe Prelude.Text,
    -- | Amazon Resource Name (ARN) of the migration task associated with the
    -- premigration assessment run that you want to start.
    StartReplicationTaskAssessmentRun -> Text
replicationTaskArn :: Prelude.Text,
    -- | ARN of the service role needed to start the assessment run. The role
    -- must allow the @iam:PassRole@ action.
    StartReplicationTaskAssessmentRun -> Text
serviceAccessRoleArn :: Prelude.Text,
    -- | Amazon S3 bucket where you want DMS to store the results of this
    -- assessment run.
    StartReplicationTaskAssessmentRun -> Text
resultLocationBucket :: Prelude.Text,
    -- | Unique name to identify the assessment run.
    StartReplicationTaskAssessmentRun -> Text
assessmentRunName :: Prelude.Text
  }
  deriving (StartReplicationTaskAssessmentRun
-> StartReplicationTaskAssessmentRun -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartReplicationTaskAssessmentRun
-> StartReplicationTaskAssessmentRun -> Bool
$c/= :: StartReplicationTaskAssessmentRun
-> StartReplicationTaskAssessmentRun -> Bool
== :: StartReplicationTaskAssessmentRun
-> StartReplicationTaskAssessmentRun -> Bool
$c== :: StartReplicationTaskAssessmentRun
-> StartReplicationTaskAssessmentRun -> Bool
Prelude.Eq, ReadPrec [StartReplicationTaskAssessmentRun]
ReadPrec StartReplicationTaskAssessmentRun
Int -> ReadS StartReplicationTaskAssessmentRun
ReadS [StartReplicationTaskAssessmentRun]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartReplicationTaskAssessmentRun]
$creadListPrec :: ReadPrec [StartReplicationTaskAssessmentRun]
readPrec :: ReadPrec StartReplicationTaskAssessmentRun
$creadPrec :: ReadPrec StartReplicationTaskAssessmentRun
readList :: ReadS [StartReplicationTaskAssessmentRun]
$creadList :: ReadS [StartReplicationTaskAssessmentRun]
readsPrec :: Int -> ReadS StartReplicationTaskAssessmentRun
$creadsPrec :: Int -> ReadS StartReplicationTaskAssessmentRun
Prelude.Read, Int -> StartReplicationTaskAssessmentRun -> ShowS
[StartReplicationTaskAssessmentRun] -> ShowS
StartReplicationTaskAssessmentRun -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartReplicationTaskAssessmentRun] -> ShowS
$cshowList :: [StartReplicationTaskAssessmentRun] -> ShowS
show :: StartReplicationTaskAssessmentRun -> String
$cshow :: StartReplicationTaskAssessmentRun -> String
showsPrec :: Int -> StartReplicationTaskAssessmentRun -> ShowS
$cshowsPrec :: Int -> StartReplicationTaskAssessmentRun -> ShowS
Prelude.Show, forall x.
Rep StartReplicationTaskAssessmentRun x
-> StartReplicationTaskAssessmentRun
forall x.
StartReplicationTaskAssessmentRun
-> Rep StartReplicationTaskAssessmentRun x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartReplicationTaskAssessmentRun x
-> StartReplicationTaskAssessmentRun
$cfrom :: forall x.
StartReplicationTaskAssessmentRun
-> Rep StartReplicationTaskAssessmentRun x
Prelude.Generic)

-- |
-- Create a value of 'StartReplicationTaskAssessmentRun' 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:
--
-- 'exclude', 'startReplicationTaskAssessmentRun_exclude' - Space-separated list of names for specific individual assessments that
-- you want to exclude. These names come from the default list of
-- individual assessments that DMS supports for the associated migration
-- task. This task is specified by @ReplicationTaskArn@.
--
-- You can\'t set a value for @Exclude@ if you also set a value for
-- @IncludeOnly@ in the API operation.
--
-- To identify the names of the default individual assessments that DMS
-- supports for the associated migration task, run the
-- @DescribeApplicableIndividualAssessments@ operation using its own
-- @ReplicationTaskArn@ request parameter.
--
-- 'includeOnly', 'startReplicationTaskAssessmentRun_includeOnly' - Space-separated list of names for specific individual assessments that
-- you want to include. These names come from the default list of
-- individual assessments that DMS supports for the associated migration
-- task. This task is specified by @ReplicationTaskArn@.
--
-- You can\'t set a value for @IncludeOnly@ if you also set a value for
-- @Exclude@ in the API operation.
--
-- To identify the names of the default individual assessments that DMS
-- supports for the associated migration task, run the
-- @DescribeApplicableIndividualAssessments@ operation using its own
-- @ReplicationTaskArn@ request parameter.
--
-- 'resultEncryptionMode', 'startReplicationTaskAssessmentRun_resultEncryptionMode' - Encryption mode that you can specify to encrypt the results of this
-- assessment run. If you don\'t specify this request parameter, DMS stores
-- the assessment run results without encryption. You can specify one of
-- the options following:
--
-- -   @\"SSE_S3\"@ – The server-side encryption provided as a default by
--     Amazon S3.
--
-- -   @\"SSE_KMS\"@ – Key Management Service (KMS) encryption. This
--     encryption can use either a custom KMS encryption key that you
--     specify or the default KMS encryption key that DMS provides.
--
-- 'resultKmsKeyArn', 'startReplicationTaskAssessmentRun_resultKmsKeyArn' - ARN of a custom KMS encryption key that you specify when you set
-- @ResultEncryptionMode@ to @\"SSE_KMS@\".
--
-- 'resultLocationFolder', 'startReplicationTaskAssessmentRun_resultLocationFolder' - Folder within an Amazon S3 bucket where you want DMS to store the
-- results of this assessment run.
--
-- 'replicationTaskArn', 'startReplicationTaskAssessmentRun_replicationTaskArn' - Amazon Resource Name (ARN) of the migration task associated with the
-- premigration assessment run that you want to start.
--
-- 'serviceAccessRoleArn', 'startReplicationTaskAssessmentRun_serviceAccessRoleArn' - ARN of the service role needed to start the assessment run. The role
-- must allow the @iam:PassRole@ action.
--
-- 'resultLocationBucket', 'startReplicationTaskAssessmentRun_resultLocationBucket' - Amazon S3 bucket where you want DMS to store the results of this
-- assessment run.
--
-- 'assessmentRunName', 'startReplicationTaskAssessmentRun_assessmentRunName' - Unique name to identify the assessment run.
newStartReplicationTaskAssessmentRun ::
  -- | 'replicationTaskArn'
  Prelude.Text ->
  -- | 'serviceAccessRoleArn'
  Prelude.Text ->
  -- | 'resultLocationBucket'
  Prelude.Text ->
  -- | 'assessmentRunName'
  Prelude.Text ->
  StartReplicationTaskAssessmentRun
newStartReplicationTaskAssessmentRun :: Text -> Text -> Text -> Text -> StartReplicationTaskAssessmentRun
newStartReplicationTaskAssessmentRun
  Text
pReplicationTaskArn_
  Text
pServiceAccessRoleArn_
  Text
pResultLocationBucket_
  Text
pAssessmentRunName_ =
    StartReplicationTaskAssessmentRun'
      { $sel:exclude:StartReplicationTaskAssessmentRun' :: Maybe [Text]
exclude =
          forall a. Maybe a
Prelude.Nothing,
        $sel:includeOnly:StartReplicationTaskAssessmentRun' :: Maybe [Text]
includeOnly = forall a. Maybe a
Prelude.Nothing,
        $sel:resultEncryptionMode:StartReplicationTaskAssessmentRun' :: Maybe Text
resultEncryptionMode = forall a. Maybe a
Prelude.Nothing,
        $sel:resultKmsKeyArn:StartReplicationTaskAssessmentRun' :: Maybe Text
resultKmsKeyArn = forall a. Maybe a
Prelude.Nothing,
        $sel:resultLocationFolder:StartReplicationTaskAssessmentRun' :: Maybe Text
resultLocationFolder = forall a. Maybe a
Prelude.Nothing,
        $sel:replicationTaskArn:StartReplicationTaskAssessmentRun' :: Text
replicationTaskArn =
          Text
pReplicationTaskArn_,
        $sel:serviceAccessRoleArn:StartReplicationTaskAssessmentRun' :: Text
serviceAccessRoleArn =
          Text
pServiceAccessRoleArn_,
        $sel:resultLocationBucket:StartReplicationTaskAssessmentRun' :: Text
resultLocationBucket =
          Text
pResultLocationBucket_,
        $sel:assessmentRunName:StartReplicationTaskAssessmentRun' :: Text
assessmentRunName = Text
pAssessmentRunName_
      }

-- | Space-separated list of names for specific individual assessments that
-- you want to exclude. These names come from the default list of
-- individual assessments that DMS supports for the associated migration
-- task. This task is specified by @ReplicationTaskArn@.
--
-- You can\'t set a value for @Exclude@ if you also set a value for
-- @IncludeOnly@ in the API operation.
--
-- To identify the names of the default individual assessments that DMS
-- supports for the associated migration task, run the
-- @DescribeApplicableIndividualAssessments@ operation using its own
-- @ReplicationTaskArn@ request parameter.
startReplicationTaskAssessmentRun_exclude :: Lens.Lens' StartReplicationTaskAssessmentRun (Prelude.Maybe [Prelude.Text])
startReplicationTaskAssessmentRun_exclude :: Lens' StartReplicationTaskAssessmentRun (Maybe [Text])
startReplicationTaskAssessmentRun_exclude = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Maybe [Text]
exclude :: Maybe [Text]
$sel:exclude:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
exclude} -> Maybe [Text]
exclude) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Maybe [Text]
a -> StartReplicationTaskAssessmentRun
s {$sel:exclude:StartReplicationTaskAssessmentRun' :: Maybe [Text]
exclude = Maybe [Text]
a} :: StartReplicationTaskAssessmentRun) 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

-- | Space-separated list of names for specific individual assessments that
-- you want to include. These names come from the default list of
-- individual assessments that DMS supports for the associated migration
-- task. This task is specified by @ReplicationTaskArn@.
--
-- You can\'t set a value for @IncludeOnly@ if you also set a value for
-- @Exclude@ in the API operation.
--
-- To identify the names of the default individual assessments that DMS
-- supports for the associated migration task, run the
-- @DescribeApplicableIndividualAssessments@ operation using its own
-- @ReplicationTaskArn@ request parameter.
startReplicationTaskAssessmentRun_includeOnly :: Lens.Lens' StartReplicationTaskAssessmentRun (Prelude.Maybe [Prelude.Text])
startReplicationTaskAssessmentRun_includeOnly :: Lens' StartReplicationTaskAssessmentRun (Maybe [Text])
startReplicationTaskAssessmentRun_includeOnly = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Maybe [Text]
includeOnly :: Maybe [Text]
$sel:includeOnly:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
includeOnly} -> Maybe [Text]
includeOnly) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Maybe [Text]
a -> StartReplicationTaskAssessmentRun
s {$sel:includeOnly:StartReplicationTaskAssessmentRun' :: Maybe [Text]
includeOnly = Maybe [Text]
a} :: StartReplicationTaskAssessmentRun) 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

-- | Encryption mode that you can specify to encrypt the results of this
-- assessment run. If you don\'t specify this request parameter, DMS stores
-- the assessment run results without encryption. You can specify one of
-- the options following:
--
-- -   @\"SSE_S3\"@ – The server-side encryption provided as a default by
--     Amazon S3.
--
-- -   @\"SSE_KMS\"@ – Key Management Service (KMS) encryption. This
--     encryption can use either a custom KMS encryption key that you
--     specify or the default KMS encryption key that DMS provides.
startReplicationTaskAssessmentRun_resultEncryptionMode :: Lens.Lens' StartReplicationTaskAssessmentRun (Prelude.Maybe Prelude.Text)
startReplicationTaskAssessmentRun_resultEncryptionMode :: Lens' StartReplicationTaskAssessmentRun (Maybe Text)
startReplicationTaskAssessmentRun_resultEncryptionMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Maybe Text
resultEncryptionMode :: Maybe Text
$sel:resultEncryptionMode:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
resultEncryptionMode} -> Maybe Text
resultEncryptionMode) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Maybe Text
a -> StartReplicationTaskAssessmentRun
s {$sel:resultEncryptionMode:StartReplicationTaskAssessmentRun' :: Maybe Text
resultEncryptionMode = Maybe Text
a} :: StartReplicationTaskAssessmentRun)

-- | ARN of a custom KMS encryption key that you specify when you set
-- @ResultEncryptionMode@ to @\"SSE_KMS@\".
startReplicationTaskAssessmentRun_resultKmsKeyArn :: Lens.Lens' StartReplicationTaskAssessmentRun (Prelude.Maybe Prelude.Text)
startReplicationTaskAssessmentRun_resultKmsKeyArn :: Lens' StartReplicationTaskAssessmentRun (Maybe Text)
startReplicationTaskAssessmentRun_resultKmsKeyArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Maybe Text
resultKmsKeyArn :: Maybe Text
$sel:resultKmsKeyArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
resultKmsKeyArn} -> Maybe Text
resultKmsKeyArn) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Maybe Text
a -> StartReplicationTaskAssessmentRun
s {$sel:resultKmsKeyArn:StartReplicationTaskAssessmentRun' :: Maybe Text
resultKmsKeyArn = Maybe Text
a} :: StartReplicationTaskAssessmentRun)

-- | Folder within an Amazon S3 bucket where you want DMS to store the
-- results of this assessment run.
startReplicationTaskAssessmentRun_resultLocationFolder :: Lens.Lens' StartReplicationTaskAssessmentRun (Prelude.Maybe Prelude.Text)
startReplicationTaskAssessmentRun_resultLocationFolder :: Lens' StartReplicationTaskAssessmentRun (Maybe Text)
startReplicationTaskAssessmentRun_resultLocationFolder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Maybe Text
resultLocationFolder :: Maybe Text
$sel:resultLocationFolder:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
resultLocationFolder} -> Maybe Text
resultLocationFolder) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Maybe Text
a -> StartReplicationTaskAssessmentRun
s {$sel:resultLocationFolder:StartReplicationTaskAssessmentRun' :: Maybe Text
resultLocationFolder = Maybe Text
a} :: StartReplicationTaskAssessmentRun)

-- | Amazon Resource Name (ARN) of the migration task associated with the
-- premigration assessment run that you want to start.
startReplicationTaskAssessmentRun_replicationTaskArn :: Lens.Lens' StartReplicationTaskAssessmentRun Prelude.Text
startReplicationTaskAssessmentRun_replicationTaskArn :: Lens' StartReplicationTaskAssessmentRun Text
startReplicationTaskAssessmentRun_replicationTaskArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Text
replicationTaskArn :: Text
$sel:replicationTaskArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
replicationTaskArn} -> Text
replicationTaskArn) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Text
a -> StartReplicationTaskAssessmentRun
s {$sel:replicationTaskArn:StartReplicationTaskAssessmentRun' :: Text
replicationTaskArn = Text
a} :: StartReplicationTaskAssessmentRun)

-- | ARN of the service role needed to start the assessment run. The role
-- must allow the @iam:PassRole@ action.
startReplicationTaskAssessmentRun_serviceAccessRoleArn :: Lens.Lens' StartReplicationTaskAssessmentRun Prelude.Text
startReplicationTaskAssessmentRun_serviceAccessRoleArn :: Lens' StartReplicationTaskAssessmentRun Text
startReplicationTaskAssessmentRun_serviceAccessRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Text
serviceAccessRoleArn :: Text
$sel:serviceAccessRoleArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
serviceAccessRoleArn} -> Text
serviceAccessRoleArn) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Text
a -> StartReplicationTaskAssessmentRun
s {$sel:serviceAccessRoleArn:StartReplicationTaskAssessmentRun' :: Text
serviceAccessRoleArn = Text
a} :: StartReplicationTaskAssessmentRun)

-- | Amazon S3 bucket where you want DMS to store the results of this
-- assessment run.
startReplicationTaskAssessmentRun_resultLocationBucket :: Lens.Lens' StartReplicationTaskAssessmentRun Prelude.Text
startReplicationTaskAssessmentRun_resultLocationBucket :: Lens' StartReplicationTaskAssessmentRun Text
startReplicationTaskAssessmentRun_resultLocationBucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Text
resultLocationBucket :: Text
$sel:resultLocationBucket:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
resultLocationBucket} -> Text
resultLocationBucket) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Text
a -> StartReplicationTaskAssessmentRun
s {$sel:resultLocationBucket:StartReplicationTaskAssessmentRun' :: Text
resultLocationBucket = Text
a} :: StartReplicationTaskAssessmentRun)

-- | Unique name to identify the assessment run.
startReplicationTaskAssessmentRun_assessmentRunName :: Lens.Lens' StartReplicationTaskAssessmentRun Prelude.Text
startReplicationTaskAssessmentRun_assessmentRunName :: Lens' StartReplicationTaskAssessmentRun Text
startReplicationTaskAssessmentRun_assessmentRunName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRun' {Text
assessmentRunName :: Text
$sel:assessmentRunName:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
assessmentRunName} -> Text
assessmentRunName) (\s :: StartReplicationTaskAssessmentRun
s@StartReplicationTaskAssessmentRun' {} Text
a -> StartReplicationTaskAssessmentRun
s {$sel:assessmentRunName:StartReplicationTaskAssessmentRun' :: Text
assessmentRunName = Text
a} :: StartReplicationTaskAssessmentRun)

instance
  Core.AWSRequest
    StartReplicationTaskAssessmentRun
  where
  type
    AWSResponse StartReplicationTaskAssessmentRun =
      StartReplicationTaskAssessmentRunResponse
  request :: (Service -> Service)
-> StartReplicationTaskAssessmentRun
-> Request StartReplicationTaskAssessmentRun
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 StartReplicationTaskAssessmentRun
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse StartReplicationTaskAssessmentRun)))
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 ReplicationTaskAssessmentRun
-> Int -> StartReplicationTaskAssessmentRunResponse
StartReplicationTaskAssessmentRunResponse'
            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
"ReplicationTaskAssessmentRun")
            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
    StartReplicationTaskAssessmentRun
  where
  hashWithSalt :: Int -> StartReplicationTaskAssessmentRun -> Int
hashWithSalt
    Int
_salt
    StartReplicationTaskAssessmentRun' {Maybe [Text]
Maybe Text
Text
assessmentRunName :: Text
resultLocationBucket :: Text
serviceAccessRoleArn :: Text
replicationTaskArn :: Text
resultLocationFolder :: Maybe Text
resultKmsKeyArn :: Maybe Text
resultEncryptionMode :: Maybe Text
includeOnly :: Maybe [Text]
exclude :: Maybe [Text]
$sel:assessmentRunName:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:resultLocationBucket:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:serviceAccessRoleArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:replicationTaskArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:resultLocationFolder:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:resultKmsKeyArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:resultEncryptionMode:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:includeOnly:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
$sel:exclude:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
exclude
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
includeOnly
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
resultEncryptionMode
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
resultKmsKeyArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
resultLocationFolder
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
replicationTaskArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
serviceAccessRoleArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resultLocationBucket
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentRunName

instance
  Prelude.NFData
    StartReplicationTaskAssessmentRun
  where
  rnf :: StartReplicationTaskAssessmentRun -> ()
rnf StartReplicationTaskAssessmentRun' {Maybe [Text]
Maybe Text
Text
assessmentRunName :: Text
resultLocationBucket :: Text
serviceAccessRoleArn :: Text
replicationTaskArn :: Text
resultLocationFolder :: Maybe Text
resultKmsKeyArn :: Maybe Text
resultEncryptionMode :: Maybe Text
includeOnly :: Maybe [Text]
exclude :: Maybe [Text]
$sel:assessmentRunName:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:resultLocationBucket:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:serviceAccessRoleArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:replicationTaskArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:resultLocationFolder:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:resultKmsKeyArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:resultEncryptionMode:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:includeOnly:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
$sel:exclude:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
exclude
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
includeOnly
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resultEncryptionMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resultKmsKeyArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resultLocationFolder
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
replicationTaskArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
serviceAccessRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resultLocationBucket
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentRunName

instance
  Data.ToHeaders
    StartReplicationTaskAssessmentRun
  where
  toHeaders :: StartReplicationTaskAssessmentRun -> 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
"AmazonDMSv20160101.StartReplicationTaskAssessmentRun" ::
                          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
    StartReplicationTaskAssessmentRun
  where
  toJSON :: StartReplicationTaskAssessmentRun -> Value
toJSON StartReplicationTaskAssessmentRun' {Maybe [Text]
Maybe Text
Text
assessmentRunName :: Text
resultLocationBucket :: Text
serviceAccessRoleArn :: Text
replicationTaskArn :: Text
resultLocationFolder :: Maybe Text
resultKmsKeyArn :: Maybe Text
resultEncryptionMode :: Maybe Text
includeOnly :: Maybe [Text]
exclude :: Maybe [Text]
$sel:assessmentRunName:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:resultLocationBucket:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:serviceAccessRoleArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:replicationTaskArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Text
$sel:resultLocationFolder:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:resultKmsKeyArn:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:resultEncryptionMode:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe Text
$sel:includeOnly:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
$sel:exclude:StartReplicationTaskAssessmentRun' :: StartReplicationTaskAssessmentRun -> Maybe [Text]
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Exclude" 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]
exclude,
            (Key
"IncludeOnly" 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]
includeOnly,
            (Key
"ResultEncryptionMode" 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
resultEncryptionMode,
            (Key
"ResultKmsKeyArn" 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
resultKmsKeyArn,
            (Key
"ResultLocationFolder" 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
resultLocationFolder,
            forall a. a -> Maybe a
Prelude.Just
              (Key
"ReplicationTaskArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
replicationTaskArn),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"ServiceAccessRoleArn"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
serviceAccessRoleArn
              ),
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"ResultLocationBucket"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resultLocationBucket
              ),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"AssessmentRunName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
assessmentRunName)
          ]
      )

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

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

-- |
--
-- /See:/ 'newStartReplicationTaskAssessmentRunResponse' smart constructor.
data StartReplicationTaskAssessmentRunResponse = StartReplicationTaskAssessmentRunResponse'
  { -- | The premigration assessment run that was started.
    StartReplicationTaskAssessmentRunResponse
-> Maybe ReplicationTaskAssessmentRun
replicationTaskAssessmentRun :: Prelude.Maybe ReplicationTaskAssessmentRun,
    -- | The response's http status code.
    StartReplicationTaskAssessmentRunResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (StartReplicationTaskAssessmentRunResponse
-> StartReplicationTaskAssessmentRunResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartReplicationTaskAssessmentRunResponse
-> StartReplicationTaskAssessmentRunResponse -> Bool
$c/= :: StartReplicationTaskAssessmentRunResponse
-> StartReplicationTaskAssessmentRunResponse -> Bool
== :: StartReplicationTaskAssessmentRunResponse
-> StartReplicationTaskAssessmentRunResponse -> Bool
$c== :: StartReplicationTaskAssessmentRunResponse
-> StartReplicationTaskAssessmentRunResponse -> Bool
Prelude.Eq, ReadPrec [StartReplicationTaskAssessmentRunResponse]
ReadPrec StartReplicationTaskAssessmentRunResponse
Int -> ReadS StartReplicationTaskAssessmentRunResponse
ReadS [StartReplicationTaskAssessmentRunResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartReplicationTaskAssessmentRunResponse]
$creadListPrec :: ReadPrec [StartReplicationTaskAssessmentRunResponse]
readPrec :: ReadPrec StartReplicationTaskAssessmentRunResponse
$creadPrec :: ReadPrec StartReplicationTaskAssessmentRunResponse
readList :: ReadS [StartReplicationTaskAssessmentRunResponse]
$creadList :: ReadS [StartReplicationTaskAssessmentRunResponse]
readsPrec :: Int -> ReadS StartReplicationTaskAssessmentRunResponse
$creadsPrec :: Int -> ReadS StartReplicationTaskAssessmentRunResponse
Prelude.Read, Int -> StartReplicationTaskAssessmentRunResponse -> ShowS
[StartReplicationTaskAssessmentRunResponse] -> ShowS
StartReplicationTaskAssessmentRunResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartReplicationTaskAssessmentRunResponse] -> ShowS
$cshowList :: [StartReplicationTaskAssessmentRunResponse] -> ShowS
show :: StartReplicationTaskAssessmentRunResponse -> String
$cshow :: StartReplicationTaskAssessmentRunResponse -> String
showsPrec :: Int -> StartReplicationTaskAssessmentRunResponse -> ShowS
$cshowsPrec :: Int -> StartReplicationTaskAssessmentRunResponse -> ShowS
Prelude.Show, forall x.
Rep StartReplicationTaskAssessmentRunResponse x
-> StartReplicationTaskAssessmentRunResponse
forall x.
StartReplicationTaskAssessmentRunResponse
-> Rep StartReplicationTaskAssessmentRunResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartReplicationTaskAssessmentRunResponse x
-> StartReplicationTaskAssessmentRunResponse
$cfrom :: forall x.
StartReplicationTaskAssessmentRunResponse
-> Rep StartReplicationTaskAssessmentRunResponse x
Prelude.Generic)

-- |
-- Create a value of 'StartReplicationTaskAssessmentRunResponse' 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:
--
-- 'replicationTaskAssessmentRun', 'startReplicationTaskAssessmentRunResponse_replicationTaskAssessmentRun' - The premigration assessment run that was started.
--
-- 'httpStatus', 'startReplicationTaskAssessmentRunResponse_httpStatus' - The response's http status code.
newStartReplicationTaskAssessmentRunResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  StartReplicationTaskAssessmentRunResponse
newStartReplicationTaskAssessmentRunResponse :: Int -> StartReplicationTaskAssessmentRunResponse
newStartReplicationTaskAssessmentRunResponse
  Int
pHttpStatus_ =
    StartReplicationTaskAssessmentRunResponse'
      { $sel:replicationTaskAssessmentRun:StartReplicationTaskAssessmentRunResponse' :: Maybe ReplicationTaskAssessmentRun
replicationTaskAssessmentRun =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:StartReplicationTaskAssessmentRunResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The premigration assessment run that was started.
startReplicationTaskAssessmentRunResponse_replicationTaskAssessmentRun :: Lens.Lens' StartReplicationTaskAssessmentRunResponse (Prelude.Maybe ReplicationTaskAssessmentRun)
startReplicationTaskAssessmentRunResponse_replicationTaskAssessmentRun :: Lens'
  StartReplicationTaskAssessmentRunResponse
  (Maybe ReplicationTaskAssessmentRun)
startReplicationTaskAssessmentRunResponse_replicationTaskAssessmentRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartReplicationTaskAssessmentRunResponse' {Maybe ReplicationTaskAssessmentRun
replicationTaskAssessmentRun :: Maybe ReplicationTaskAssessmentRun
$sel:replicationTaskAssessmentRun:StartReplicationTaskAssessmentRunResponse' :: StartReplicationTaskAssessmentRunResponse
-> Maybe ReplicationTaskAssessmentRun
replicationTaskAssessmentRun} -> Maybe ReplicationTaskAssessmentRun
replicationTaskAssessmentRun) (\s :: StartReplicationTaskAssessmentRunResponse
s@StartReplicationTaskAssessmentRunResponse' {} Maybe ReplicationTaskAssessmentRun
a -> StartReplicationTaskAssessmentRunResponse
s {$sel:replicationTaskAssessmentRun:StartReplicationTaskAssessmentRunResponse' :: Maybe ReplicationTaskAssessmentRun
replicationTaskAssessmentRun = Maybe ReplicationTaskAssessmentRun
a} :: StartReplicationTaskAssessmentRunResponse)

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

instance
  Prelude.NFData
    StartReplicationTaskAssessmentRunResponse
  where
  rnf :: StartReplicationTaskAssessmentRunResponse -> ()
rnf StartReplicationTaskAssessmentRunResponse' {Int
Maybe ReplicationTaskAssessmentRun
httpStatus :: Int
replicationTaskAssessmentRun :: Maybe ReplicationTaskAssessmentRun
$sel:httpStatus:StartReplicationTaskAssessmentRunResponse' :: StartReplicationTaskAssessmentRunResponse -> Int
$sel:replicationTaskAssessmentRun:StartReplicationTaskAssessmentRunResponse' :: StartReplicationTaskAssessmentRunResponse
-> Maybe ReplicationTaskAssessmentRun
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplicationTaskAssessmentRun
replicationTaskAssessmentRun
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus