{-# 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.DataSync.DescribeTaskExecution
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns detailed metadata about a task that is being executed.
module Amazonka.DataSync.DescribeTaskExecution
  ( -- * Creating a Request
    DescribeTaskExecution (..),
    newDescribeTaskExecution,

    -- * Request Lenses
    describeTaskExecution_taskExecutionArn,

    -- * Destructuring the Response
    DescribeTaskExecutionResponse (..),
    newDescribeTaskExecutionResponse,

    -- * Response Lenses
    describeTaskExecutionResponse_status,
    describeTaskExecutionResponse_taskExecutionArn,
    describeTaskExecutionResponse_startTime,
    describeTaskExecutionResponse_filesTransferred,
    describeTaskExecutionResponse_bytesWritten,
    describeTaskExecutionResponse_bytesTransferred,
    describeTaskExecutionResponse_result,
    describeTaskExecutionResponse_includes,
    describeTaskExecutionResponse_estimatedFilesToTransfer,
    describeTaskExecutionResponse_excludes,
    describeTaskExecutionResponse_options,
    describeTaskExecutionResponse_estimatedBytesToTransfer,
    describeTaskExecutionResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import Amazonka.DataSync.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

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

-- |
-- Create a value of 'DescribeTaskExecution' 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:
--
-- 'taskExecutionArn', 'describeTaskExecution_taskExecutionArn' - The Amazon Resource Name (ARN) of the task that is being executed.
newDescribeTaskExecution ::
  -- | 'taskExecutionArn'
  Prelude.Text ->
  DescribeTaskExecution
newDescribeTaskExecution :: Text -> DescribeTaskExecution
newDescribeTaskExecution Text
pTaskExecutionArn_ =
  DescribeTaskExecution' :: Text -> DescribeTaskExecution
DescribeTaskExecution'
    { $sel:taskExecutionArn:DescribeTaskExecution' :: Text
taskExecutionArn =
        Text
pTaskExecutionArn_
    }

-- | The Amazon Resource Name (ARN) of the task that is being executed.
describeTaskExecution_taskExecutionArn :: Lens.Lens' DescribeTaskExecution Prelude.Text
describeTaskExecution_taskExecutionArn :: (Text -> f Text)
-> DescribeTaskExecution -> f DescribeTaskExecution
describeTaskExecution_taskExecutionArn = (DescribeTaskExecution -> Text)
-> (DescribeTaskExecution -> Text -> DescribeTaskExecution)
-> Lens DescribeTaskExecution DescribeTaskExecution Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecution' {Text
taskExecutionArn :: Text
$sel:taskExecutionArn:DescribeTaskExecution' :: DescribeTaskExecution -> Text
taskExecutionArn} -> Text
taskExecutionArn) (\s :: DescribeTaskExecution
s@DescribeTaskExecution' {} Text
a -> DescribeTaskExecution
s {$sel:taskExecutionArn:DescribeTaskExecution' :: Text
taskExecutionArn = Text
a} :: DescribeTaskExecution)

instance Core.AWSRequest DescribeTaskExecution where
  type
    AWSResponse DescribeTaskExecution =
      DescribeTaskExecutionResponse
  request :: DescribeTaskExecution -> Request DescribeTaskExecution
request = Service -> DescribeTaskExecution -> Request DescribeTaskExecution
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeTaskExecution
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeTaskExecution)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeTaskExecution))
-> Logger
-> Service
-> Proxy DescribeTaskExecution
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeTaskExecution)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe TaskExecutionStatus
-> Maybe Text
-> Maybe POSIX
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe TaskExecutionResultDetail
-> Maybe [FilterRule]
-> Maybe Integer
-> Maybe [FilterRule]
-> Maybe Options
-> Maybe Integer
-> Int
-> DescribeTaskExecutionResponse
DescribeTaskExecutionResponse'
            (Maybe TaskExecutionStatus
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe TaskExecutionResultDetail
 -> Maybe [FilterRule]
 -> Maybe Integer
 -> Maybe [FilterRule]
 -> Maybe Options
 -> Maybe Integer
 -> Int
 -> DescribeTaskExecutionResponse)
-> Either String (Maybe TaskExecutionStatus)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe TaskExecutionResultDetail
      -> Maybe [FilterRule]
      -> Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe TaskExecutionStatus)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Status")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe TaskExecutionResultDetail
   -> Maybe [FilterRule]
   -> Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe TaskExecutionResultDetail
      -> Maybe [FilterRule]
      -> Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TaskExecutionArn")
            Either
  String
  (Maybe POSIX
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe TaskExecutionResultDetail
   -> Maybe [FilterRule]
   -> Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe TaskExecutionResultDetail
      -> Maybe [FilterRule]
      -> Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"StartTime")
            Either
  String
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe TaskExecutionResultDetail
   -> Maybe [FilterRule]
   -> Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe Integer)
-> Either
     String
     (Maybe Integer
      -> Maybe Integer
      -> Maybe TaskExecutionResultDetail
      -> Maybe [FilterRule]
      -> Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"FilesTransferred")
            Either
  String
  (Maybe Integer
   -> Maybe Integer
   -> Maybe TaskExecutionResultDetail
   -> Maybe [FilterRule]
   -> Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe Integer)
-> Either
     String
     (Maybe Integer
      -> Maybe TaskExecutionResultDetail
      -> Maybe [FilterRule]
      -> Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"BytesWritten")
            Either
  String
  (Maybe Integer
   -> Maybe TaskExecutionResultDetail
   -> Maybe [FilterRule]
   -> Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe Integer)
-> Either
     String
     (Maybe TaskExecutionResultDetail
      -> Maybe [FilterRule]
      -> Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"BytesTransferred")
            Either
  String
  (Maybe TaskExecutionResultDetail
   -> Maybe [FilterRule]
   -> Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe TaskExecutionResultDetail)
-> Either
     String
     (Maybe [FilterRule]
      -> Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe TaskExecutionResultDetail)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Result")
            Either
  String
  (Maybe [FilterRule]
   -> Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe [FilterRule])
-> Either
     String
     (Maybe Integer
      -> Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe [FilterRule]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Includes" Either String (Maybe (Maybe [FilterRule]))
-> Maybe [FilterRule] -> Either String (Maybe [FilterRule])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [FilterRule]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe Integer
   -> Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe Integer)
-> Either
     String
     (Maybe [FilterRule]
      -> Maybe Options
      -> Maybe Integer
      -> Int
      -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EstimatedFilesToTransfer")
            Either
  String
  (Maybe [FilterRule]
   -> Maybe Options
   -> Maybe Integer
   -> Int
   -> DescribeTaskExecutionResponse)
-> Either String (Maybe [FilterRule])
-> Either
     String
     (Maybe Options
      -> Maybe Integer -> Int -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe [FilterRule]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Excludes" Either String (Maybe (Maybe [FilterRule]))
-> Maybe [FilterRule] -> Either String (Maybe [FilterRule])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [FilterRule]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe Options
   -> Maybe Integer -> Int -> DescribeTaskExecutionResponse)
-> Either String (Maybe Options)
-> Either
     String (Maybe Integer -> Int -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Options)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Options")
            Either
  String (Maybe Integer -> Int -> DescribeTaskExecutionResponse)
-> Either String (Maybe Integer)
-> Either String (Int -> DescribeTaskExecutionResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EstimatedBytesToTransfer")
            Either String (Int -> DescribeTaskExecutionResponse)
-> Either String Int -> Either String DescribeTaskExecutionResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeTaskExecution

instance Prelude.NFData DescribeTaskExecution

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

instance Core.ToJSON DescribeTaskExecution where
  toJSON :: DescribeTaskExecution -> Value
toJSON DescribeTaskExecution' {Text
taskExecutionArn :: Text
$sel:taskExecutionArn:DescribeTaskExecution' :: DescribeTaskExecution -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              (Text
"TaskExecutionArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
taskExecutionArn)
          ]
      )

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

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

-- | DescribeTaskExecutionResponse
--
-- /See:/ 'newDescribeTaskExecutionResponse' smart constructor.
data DescribeTaskExecutionResponse = DescribeTaskExecutionResponse'
  { -- | The status of the task execution.
    --
    -- For detailed information about task execution statuses, see
    -- Understanding Task Statuses in the /DataSync User Guide./
    DescribeTaskExecutionResponse -> Maybe TaskExecutionStatus
status :: Prelude.Maybe TaskExecutionStatus,
    -- | The Amazon Resource Name (ARN) of the task execution that was described.
    -- @TaskExecutionArn@ is hierarchical and includes @TaskArn@ for the task
    -- that was executed.
    --
    -- For example, a @TaskExecution@ value with the ARN
    -- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2\/execution\/exec-08ef1e88ec491019b@
    -- executed the task with the ARN
    -- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2@.
    DescribeTaskExecutionResponse -> Maybe Text
taskExecutionArn :: Prelude.Maybe Prelude.Text,
    -- | The time that the task execution was started.
    DescribeTaskExecutionResponse -> Maybe POSIX
startTime :: Prelude.Maybe Core.POSIX,
    -- | The actual number of files that was transferred over the network. This
    -- value is calculated and updated on an ongoing basis during the
    -- TRANSFERRING phase. It\'s updated periodically when each file is read
    -- from the source and sent over the network.
    --
    -- If failures occur during a transfer, this value can be less than
    -- @EstimatedFilesToTransfer@. This value can also be greater than
    -- @EstimatedFilesTransferred@ in some cases. This element is
    -- implementation-specific for some location types, so don\'t use it as an
    -- indicator for a correct file number or to monitor your task execution.
    DescribeTaskExecutionResponse -> Maybe Integer
filesTransferred :: Prelude.Maybe Prelude.Integer,
    -- | The number of logical bytes written to the destination Amazon Web
    -- Services storage resource.
    DescribeTaskExecutionResponse -> Maybe Integer
bytesWritten :: Prelude.Maybe Prelude.Integer,
    -- | The physical number of bytes transferred over the network.
    DescribeTaskExecutionResponse -> Maybe Integer
bytesTransferred :: Prelude.Maybe Prelude.Integer,
    -- | The result of the task execution.
    DescribeTaskExecutionResponse -> Maybe TaskExecutionResultDetail
result :: Prelude.Maybe TaskExecutionResultDetail,
    -- | A list of filter rules that determines which files to include when
    -- running a task. The list should contain a single filter string that
    -- consists of the patterns to include. The patterns are delimited by \"|\"
    -- (that is, a pipe), for example: @\"\/folder1|\/folder2\"@
    DescribeTaskExecutionResponse -> Maybe [FilterRule]
includes :: Prelude.Maybe [FilterRule],
    -- | The expected number of files that is to be transferred over the network.
    -- This value is calculated during the PREPARING phase, before the
    -- TRANSFERRING phase. This value is the expected number of files to be
    -- transferred. It\'s calculated based on comparing the content of the
    -- source and destination locations and finding the delta that needs to be
    -- transferred.
    DescribeTaskExecutionResponse -> Maybe Integer
estimatedFilesToTransfer :: Prelude.Maybe Prelude.Integer,
    -- | A list of filter rules that determines which files to exclude from a
    -- task. The list should contain a single filter string that consists of
    -- the patterns to exclude. The patterns are delimited by \"|\" (that is, a
    -- pipe), for example: @\"\/folder1|\/folder2\"@
    DescribeTaskExecutionResponse -> Maybe [FilterRule]
excludes :: Prelude.Maybe [FilterRule],
    DescribeTaskExecutionResponse -> Maybe Options
options :: Prelude.Maybe Options,
    -- | The estimated physical number of bytes that is to be transferred over
    -- the network.
    DescribeTaskExecutionResponse -> Maybe Integer
estimatedBytesToTransfer :: Prelude.Maybe Prelude.Integer,
    -- | The response's http status code.
    DescribeTaskExecutionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeTaskExecutionResponse
-> DescribeTaskExecutionResponse -> Bool
(DescribeTaskExecutionResponse
 -> DescribeTaskExecutionResponse -> Bool)
-> (DescribeTaskExecutionResponse
    -> DescribeTaskExecutionResponse -> Bool)
-> Eq DescribeTaskExecutionResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTaskExecutionResponse
-> DescribeTaskExecutionResponse -> Bool
$c/= :: DescribeTaskExecutionResponse
-> DescribeTaskExecutionResponse -> Bool
== :: DescribeTaskExecutionResponse
-> DescribeTaskExecutionResponse -> Bool
$c== :: DescribeTaskExecutionResponse
-> DescribeTaskExecutionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTaskExecutionResponse]
ReadPrec DescribeTaskExecutionResponse
Int -> ReadS DescribeTaskExecutionResponse
ReadS [DescribeTaskExecutionResponse]
(Int -> ReadS DescribeTaskExecutionResponse)
-> ReadS [DescribeTaskExecutionResponse]
-> ReadPrec DescribeTaskExecutionResponse
-> ReadPrec [DescribeTaskExecutionResponse]
-> Read DescribeTaskExecutionResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTaskExecutionResponse]
$creadListPrec :: ReadPrec [DescribeTaskExecutionResponse]
readPrec :: ReadPrec DescribeTaskExecutionResponse
$creadPrec :: ReadPrec DescribeTaskExecutionResponse
readList :: ReadS [DescribeTaskExecutionResponse]
$creadList :: ReadS [DescribeTaskExecutionResponse]
readsPrec :: Int -> ReadS DescribeTaskExecutionResponse
$creadsPrec :: Int -> ReadS DescribeTaskExecutionResponse
Prelude.Read, Int -> DescribeTaskExecutionResponse -> ShowS
[DescribeTaskExecutionResponse] -> ShowS
DescribeTaskExecutionResponse -> String
(Int -> DescribeTaskExecutionResponse -> ShowS)
-> (DescribeTaskExecutionResponse -> String)
-> ([DescribeTaskExecutionResponse] -> ShowS)
-> Show DescribeTaskExecutionResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTaskExecutionResponse] -> ShowS
$cshowList :: [DescribeTaskExecutionResponse] -> ShowS
show :: DescribeTaskExecutionResponse -> String
$cshow :: DescribeTaskExecutionResponse -> String
showsPrec :: Int -> DescribeTaskExecutionResponse -> ShowS
$cshowsPrec :: Int -> DescribeTaskExecutionResponse -> ShowS
Prelude.Show, (forall x.
 DescribeTaskExecutionResponse
 -> Rep DescribeTaskExecutionResponse x)
-> (forall x.
    Rep DescribeTaskExecutionResponse x
    -> DescribeTaskExecutionResponse)
-> Generic DescribeTaskExecutionResponse
forall x.
Rep DescribeTaskExecutionResponse x
-> DescribeTaskExecutionResponse
forall x.
DescribeTaskExecutionResponse
-> Rep DescribeTaskExecutionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTaskExecutionResponse x
-> DescribeTaskExecutionResponse
$cfrom :: forall x.
DescribeTaskExecutionResponse
-> Rep DescribeTaskExecutionResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeTaskExecutionResponse' 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:
--
-- 'status', 'describeTaskExecutionResponse_status' - The status of the task execution.
--
-- For detailed information about task execution statuses, see
-- Understanding Task Statuses in the /DataSync User Guide./
--
-- 'taskExecutionArn', 'describeTaskExecutionResponse_taskExecutionArn' - The Amazon Resource Name (ARN) of the task execution that was described.
-- @TaskExecutionArn@ is hierarchical and includes @TaskArn@ for the task
-- that was executed.
--
-- For example, a @TaskExecution@ value with the ARN
-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2\/execution\/exec-08ef1e88ec491019b@
-- executed the task with the ARN
-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2@.
--
-- 'startTime', 'describeTaskExecutionResponse_startTime' - The time that the task execution was started.
--
-- 'filesTransferred', 'describeTaskExecutionResponse_filesTransferred' - The actual number of files that was transferred over the network. This
-- value is calculated and updated on an ongoing basis during the
-- TRANSFERRING phase. It\'s updated periodically when each file is read
-- from the source and sent over the network.
--
-- If failures occur during a transfer, this value can be less than
-- @EstimatedFilesToTransfer@. This value can also be greater than
-- @EstimatedFilesTransferred@ in some cases. This element is
-- implementation-specific for some location types, so don\'t use it as an
-- indicator for a correct file number or to monitor your task execution.
--
-- 'bytesWritten', 'describeTaskExecutionResponse_bytesWritten' - The number of logical bytes written to the destination Amazon Web
-- Services storage resource.
--
-- 'bytesTransferred', 'describeTaskExecutionResponse_bytesTransferred' - The physical number of bytes transferred over the network.
--
-- 'result', 'describeTaskExecutionResponse_result' - The result of the task execution.
--
-- 'includes', 'describeTaskExecutionResponse_includes' - A list of filter rules that determines which files to include when
-- running a task. The list should contain a single filter string that
-- consists of the patterns to include. The patterns are delimited by \"|\"
-- (that is, a pipe), for example: @\"\/folder1|\/folder2\"@
--
-- 'estimatedFilesToTransfer', 'describeTaskExecutionResponse_estimatedFilesToTransfer' - The expected number of files that is to be transferred over the network.
-- This value is calculated during the PREPARING phase, before the
-- TRANSFERRING phase. This value is the expected number of files to be
-- transferred. It\'s calculated based on comparing the content of the
-- source and destination locations and finding the delta that needs to be
-- transferred.
--
-- 'excludes', 'describeTaskExecutionResponse_excludes' - A list of filter rules that determines which files to exclude from a
-- task. The list should contain a single filter string that consists of
-- the patterns to exclude. The patterns are delimited by \"|\" (that is, a
-- pipe), for example: @\"\/folder1|\/folder2\"@
--
-- 'options', 'describeTaskExecutionResponse_options' - Undocumented member.
--
-- 'estimatedBytesToTransfer', 'describeTaskExecutionResponse_estimatedBytesToTransfer' - The estimated physical number of bytes that is to be transferred over
-- the network.
--
-- 'httpStatus', 'describeTaskExecutionResponse_httpStatus' - The response's http status code.
newDescribeTaskExecutionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeTaskExecutionResponse
newDescribeTaskExecutionResponse :: Int -> DescribeTaskExecutionResponse
newDescribeTaskExecutionResponse Int
pHttpStatus_ =
  DescribeTaskExecutionResponse' :: Maybe TaskExecutionStatus
-> Maybe Text
-> Maybe POSIX
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe TaskExecutionResultDetail
-> Maybe [FilterRule]
-> Maybe Integer
-> Maybe [FilterRule]
-> Maybe Options
-> Maybe Integer
-> Int
-> DescribeTaskExecutionResponse
DescribeTaskExecutionResponse'
    { $sel:status:DescribeTaskExecutionResponse' :: Maybe TaskExecutionStatus
status =
        Maybe TaskExecutionStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:taskExecutionArn:DescribeTaskExecutionResponse' :: Maybe Text
taskExecutionArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:DescribeTaskExecutionResponse' :: Maybe POSIX
startTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:filesTransferred:DescribeTaskExecutionResponse' :: Maybe Integer
filesTransferred = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:bytesWritten:DescribeTaskExecutionResponse' :: Maybe Integer
bytesWritten = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:bytesTransferred:DescribeTaskExecutionResponse' :: Maybe Integer
bytesTransferred = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:result:DescribeTaskExecutionResponse' :: Maybe TaskExecutionResultDetail
result = Maybe TaskExecutionResultDetail
forall a. Maybe a
Prelude.Nothing,
      $sel:includes:DescribeTaskExecutionResponse' :: Maybe [FilterRule]
includes = Maybe [FilterRule]
forall a. Maybe a
Prelude.Nothing,
      $sel:estimatedFilesToTransfer:DescribeTaskExecutionResponse' :: Maybe Integer
estimatedFilesToTransfer = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:excludes:DescribeTaskExecutionResponse' :: Maybe [FilterRule]
excludes = Maybe [FilterRule]
forall a. Maybe a
Prelude.Nothing,
      $sel:options:DescribeTaskExecutionResponse' :: Maybe Options
options = Maybe Options
forall a. Maybe a
Prelude.Nothing,
      $sel:estimatedBytesToTransfer:DescribeTaskExecutionResponse' :: Maybe Integer
estimatedBytesToTransfer = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeTaskExecutionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The status of the task execution.
--
-- For detailed information about task execution statuses, see
-- Understanding Task Statuses in the /DataSync User Guide./
describeTaskExecutionResponse_status :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe TaskExecutionStatus)
describeTaskExecutionResponse_status :: (Maybe TaskExecutionStatus -> f (Maybe TaskExecutionStatus))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_status = (DescribeTaskExecutionResponse -> Maybe TaskExecutionStatus)
-> (DescribeTaskExecutionResponse
    -> Maybe TaskExecutionStatus -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe TaskExecutionStatus)
     (Maybe TaskExecutionStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe TaskExecutionStatus
status :: Maybe TaskExecutionStatus
$sel:status:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe TaskExecutionStatus
status} -> Maybe TaskExecutionStatus
status) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe TaskExecutionStatus
a -> DescribeTaskExecutionResponse
s {$sel:status:DescribeTaskExecutionResponse' :: Maybe TaskExecutionStatus
status = Maybe TaskExecutionStatus
a} :: DescribeTaskExecutionResponse)

-- | The Amazon Resource Name (ARN) of the task execution that was described.
-- @TaskExecutionArn@ is hierarchical and includes @TaskArn@ for the task
-- that was executed.
--
-- For example, a @TaskExecution@ value with the ARN
-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2\/execution\/exec-08ef1e88ec491019b@
-- executed the task with the ARN
-- @arn:aws:datasync:us-east-1:111222333444:task\/task-0208075f79cedf4a2@.
describeTaskExecutionResponse_taskExecutionArn :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Text)
describeTaskExecutionResponse_taskExecutionArn :: (Maybe Text -> f (Maybe Text))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_taskExecutionArn = (DescribeTaskExecutionResponse -> Maybe Text)
-> (DescribeTaskExecutionResponse
    -> Maybe Text -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe Text
taskExecutionArn :: Maybe Text
$sel:taskExecutionArn:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe Text
taskExecutionArn} -> Maybe Text
taskExecutionArn) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe Text
a -> DescribeTaskExecutionResponse
s {$sel:taskExecutionArn:DescribeTaskExecutionResponse' :: Maybe Text
taskExecutionArn = Maybe Text
a} :: DescribeTaskExecutionResponse)

-- | The time that the task execution was started.
describeTaskExecutionResponse_startTime :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.UTCTime)
describeTaskExecutionResponse_startTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_startTime = (DescribeTaskExecutionResponse -> Maybe POSIX)
-> (DescribeTaskExecutionResponse
    -> Maybe POSIX -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe POSIX
a -> DescribeTaskExecutionResponse
s {$sel:startTime:DescribeTaskExecutionResponse' :: Maybe POSIX
startTime = Maybe POSIX
a} :: DescribeTaskExecutionResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeTaskExecutionResponse
 -> f DescribeTaskExecutionResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeTaskExecutionResponse
-> f DescribeTaskExecutionResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The actual number of files that was transferred over the network. This
-- value is calculated and updated on an ongoing basis during the
-- TRANSFERRING phase. It\'s updated periodically when each file is read
-- from the source and sent over the network.
--
-- If failures occur during a transfer, this value can be less than
-- @EstimatedFilesToTransfer@. This value can also be greater than
-- @EstimatedFilesTransferred@ in some cases. This element is
-- implementation-specific for some location types, so don\'t use it as an
-- indicator for a correct file number or to monitor your task execution.
describeTaskExecutionResponse_filesTransferred :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)
describeTaskExecutionResponse_filesTransferred :: (Maybe Integer -> f (Maybe Integer))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_filesTransferred = (DescribeTaskExecutionResponse -> Maybe Integer)
-> (DescribeTaskExecutionResponse
    -> Maybe Integer -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe Integer)
     (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe Integer
filesTransferred :: Maybe Integer
$sel:filesTransferred:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe Integer
filesTransferred} -> Maybe Integer
filesTransferred) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe Integer
a -> DescribeTaskExecutionResponse
s {$sel:filesTransferred:DescribeTaskExecutionResponse' :: Maybe Integer
filesTransferred = Maybe Integer
a} :: DescribeTaskExecutionResponse)

-- | The number of logical bytes written to the destination Amazon Web
-- Services storage resource.
describeTaskExecutionResponse_bytesWritten :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)
describeTaskExecutionResponse_bytesWritten :: (Maybe Integer -> f (Maybe Integer))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_bytesWritten = (DescribeTaskExecutionResponse -> Maybe Integer)
-> (DescribeTaskExecutionResponse
    -> Maybe Integer -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe Integer)
     (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe Integer
bytesWritten :: Maybe Integer
$sel:bytesWritten:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe Integer
bytesWritten} -> Maybe Integer
bytesWritten) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe Integer
a -> DescribeTaskExecutionResponse
s {$sel:bytesWritten:DescribeTaskExecutionResponse' :: Maybe Integer
bytesWritten = Maybe Integer
a} :: DescribeTaskExecutionResponse)

-- | The physical number of bytes transferred over the network.
describeTaskExecutionResponse_bytesTransferred :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)
describeTaskExecutionResponse_bytesTransferred :: (Maybe Integer -> f (Maybe Integer))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_bytesTransferred = (DescribeTaskExecutionResponse -> Maybe Integer)
-> (DescribeTaskExecutionResponse
    -> Maybe Integer -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe Integer)
     (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe Integer
bytesTransferred :: Maybe Integer
$sel:bytesTransferred:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe Integer
bytesTransferred} -> Maybe Integer
bytesTransferred) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe Integer
a -> DescribeTaskExecutionResponse
s {$sel:bytesTransferred:DescribeTaskExecutionResponse' :: Maybe Integer
bytesTransferred = Maybe Integer
a} :: DescribeTaskExecutionResponse)

-- | The result of the task execution.
describeTaskExecutionResponse_result :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe TaskExecutionResultDetail)
describeTaskExecutionResponse_result :: (Maybe TaskExecutionResultDetail
 -> f (Maybe TaskExecutionResultDetail))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_result = (DescribeTaskExecutionResponse -> Maybe TaskExecutionResultDetail)
-> (DescribeTaskExecutionResponse
    -> Maybe TaskExecutionResultDetail
    -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe TaskExecutionResultDetail)
     (Maybe TaskExecutionResultDetail)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe TaskExecutionResultDetail
result :: Maybe TaskExecutionResultDetail
$sel:result:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe TaskExecutionResultDetail
result} -> Maybe TaskExecutionResultDetail
result) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe TaskExecutionResultDetail
a -> DescribeTaskExecutionResponse
s {$sel:result:DescribeTaskExecutionResponse' :: Maybe TaskExecutionResultDetail
result = Maybe TaskExecutionResultDetail
a} :: DescribeTaskExecutionResponse)

-- | A list of filter rules that determines which files to include when
-- running a task. The list should contain a single filter string that
-- consists of the patterns to include. The patterns are delimited by \"|\"
-- (that is, a pipe), for example: @\"\/folder1|\/folder2\"@
describeTaskExecutionResponse_includes :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe [FilterRule])
describeTaskExecutionResponse_includes :: (Maybe [FilterRule] -> f (Maybe [FilterRule]))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_includes = (DescribeTaskExecutionResponse -> Maybe [FilterRule])
-> (DescribeTaskExecutionResponse
    -> Maybe [FilterRule] -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe [FilterRule])
     (Maybe [FilterRule])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe [FilterRule]
includes :: Maybe [FilterRule]
$sel:includes:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe [FilterRule]
includes} -> Maybe [FilterRule]
includes) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe [FilterRule]
a -> DescribeTaskExecutionResponse
s {$sel:includes:DescribeTaskExecutionResponse' :: Maybe [FilterRule]
includes = Maybe [FilterRule]
a} :: DescribeTaskExecutionResponse) ((Maybe [FilterRule] -> f (Maybe [FilterRule]))
 -> DescribeTaskExecutionResponse
 -> f DescribeTaskExecutionResponse)
-> ((Maybe [FilterRule] -> f (Maybe [FilterRule]))
    -> Maybe [FilterRule] -> f (Maybe [FilterRule]))
-> (Maybe [FilterRule] -> f (Maybe [FilterRule]))
-> DescribeTaskExecutionResponse
-> f DescribeTaskExecutionResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [FilterRule] [FilterRule] [FilterRule] [FilterRule]
-> Iso
     (Maybe [FilterRule])
     (Maybe [FilterRule])
     (Maybe [FilterRule])
     (Maybe [FilterRule])
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 AnIso [FilterRule] [FilterRule] [FilterRule] [FilterRule]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The expected number of files that is to be transferred over the network.
-- This value is calculated during the PREPARING phase, before the
-- TRANSFERRING phase. This value is the expected number of files to be
-- transferred. It\'s calculated based on comparing the content of the
-- source and destination locations and finding the delta that needs to be
-- transferred.
describeTaskExecutionResponse_estimatedFilesToTransfer :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)
describeTaskExecutionResponse_estimatedFilesToTransfer :: (Maybe Integer -> f (Maybe Integer))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_estimatedFilesToTransfer = (DescribeTaskExecutionResponse -> Maybe Integer)
-> (DescribeTaskExecutionResponse
    -> Maybe Integer -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe Integer)
     (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe Integer
estimatedFilesToTransfer :: Maybe Integer
$sel:estimatedFilesToTransfer:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe Integer
estimatedFilesToTransfer} -> Maybe Integer
estimatedFilesToTransfer) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe Integer
a -> DescribeTaskExecutionResponse
s {$sel:estimatedFilesToTransfer:DescribeTaskExecutionResponse' :: Maybe Integer
estimatedFilesToTransfer = Maybe Integer
a} :: DescribeTaskExecutionResponse)

-- | A list of filter rules that determines which files to exclude from a
-- task. The list should contain a single filter string that consists of
-- the patterns to exclude. The patterns are delimited by \"|\" (that is, a
-- pipe), for example: @\"\/folder1|\/folder2\"@
describeTaskExecutionResponse_excludes :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe [FilterRule])
describeTaskExecutionResponse_excludes :: (Maybe [FilterRule] -> f (Maybe [FilterRule]))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_excludes = (DescribeTaskExecutionResponse -> Maybe [FilterRule])
-> (DescribeTaskExecutionResponse
    -> Maybe [FilterRule] -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe [FilterRule])
     (Maybe [FilterRule])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe [FilterRule]
excludes :: Maybe [FilterRule]
$sel:excludes:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe [FilterRule]
excludes} -> Maybe [FilterRule]
excludes) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe [FilterRule]
a -> DescribeTaskExecutionResponse
s {$sel:excludes:DescribeTaskExecutionResponse' :: Maybe [FilterRule]
excludes = Maybe [FilterRule]
a} :: DescribeTaskExecutionResponse) ((Maybe [FilterRule] -> f (Maybe [FilterRule]))
 -> DescribeTaskExecutionResponse
 -> f DescribeTaskExecutionResponse)
-> ((Maybe [FilterRule] -> f (Maybe [FilterRule]))
    -> Maybe [FilterRule] -> f (Maybe [FilterRule]))
-> (Maybe [FilterRule] -> f (Maybe [FilterRule]))
-> DescribeTaskExecutionResponse
-> f DescribeTaskExecutionResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [FilterRule] [FilterRule] [FilterRule] [FilterRule]
-> Iso
     (Maybe [FilterRule])
     (Maybe [FilterRule])
     (Maybe [FilterRule])
     (Maybe [FilterRule])
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 AnIso [FilterRule] [FilterRule] [FilterRule] [FilterRule]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
describeTaskExecutionResponse_options :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Options)
describeTaskExecutionResponse_options :: (Maybe Options -> f (Maybe Options))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_options = (DescribeTaskExecutionResponse -> Maybe Options)
-> (DescribeTaskExecutionResponse
    -> Maybe Options -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe Options)
     (Maybe Options)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe Options
options :: Maybe Options
$sel:options:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe Options
options} -> Maybe Options
options) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe Options
a -> DescribeTaskExecutionResponse
s {$sel:options:DescribeTaskExecutionResponse' :: Maybe Options
options = Maybe Options
a} :: DescribeTaskExecutionResponse)

-- | The estimated physical number of bytes that is to be transferred over
-- the network.
describeTaskExecutionResponse_estimatedBytesToTransfer :: Lens.Lens' DescribeTaskExecutionResponse (Prelude.Maybe Prelude.Integer)
describeTaskExecutionResponse_estimatedBytesToTransfer :: (Maybe Integer -> f (Maybe Integer))
-> DescribeTaskExecutionResponse -> f DescribeTaskExecutionResponse
describeTaskExecutionResponse_estimatedBytesToTransfer = (DescribeTaskExecutionResponse -> Maybe Integer)
-> (DescribeTaskExecutionResponse
    -> Maybe Integer -> DescribeTaskExecutionResponse)
-> Lens
     DescribeTaskExecutionResponse
     DescribeTaskExecutionResponse
     (Maybe Integer)
     (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskExecutionResponse' {Maybe Integer
estimatedBytesToTransfer :: Maybe Integer
$sel:estimatedBytesToTransfer:DescribeTaskExecutionResponse' :: DescribeTaskExecutionResponse -> Maybe Integer
estimatedBytesToTransfer} -> Maybe Integer
estimatedBytesToTransfer) (\s :: DescribeTaskExecutionResponse
s@DescribeTaskExecutionResponse' {} Maybe Integer
a -> DescribeTaskExecutionResponse
s {$sel:estimatedBytesToTransfer:DescribeTaskExecutionResponse' :: Maybe Integer
estimatedBytesToTransfer = Maybe Integer
a} :: DescribeTaskExecutionResponse)

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

instance Prelude.NFData DescribeTaskExecutionResponse