{-# 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.DescribeTask
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns metadata about a task.
module Amazonka.DataSync.DescribeTask
  ( -- * Creating a Request
    DescribeTask (..),
    newDescribeTask,

    -- * Request Lenses
    describeTask_taskArn,

    -- * Destructuring the Response
    DescribeTaskResponse (..),
    newDescribeTaskResponse,

    -- * Response Lenses
    describeTaskResponse_cloudWatchLogGroupArn,
    describeTaskResponse_creationTime,
    describeTaskResponse_currentTaskExecutionArn,
    describeTaskResponse_destinationLocationArn,
    describeTaskResponse_destinationNetworkInterfaceArns,
    describeTaskResponse_errorCode,
    describeTaskResponse_errorDetail,
    describeTaskResponse_excludes,
    describeTaskResponse_includes,
    describeTaskResponse_name,
    describeTaskResponse_options,
    describeTaskResponse_schedule,
    describeTaskResponse_sourceLocationArn,
    describeTaskResponse_sourceNetworkInterfaceArns,
    describeTaskResponse_status,
    describeTaskResponse_taskArn,
    describeTaskResponse_httpStatus,
  )
where

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

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

-- |
-- Create a value of 'DescribeTask' 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:
--
-- 'taskArn', 'describeTask_taskArn' - The Amazon Resource Name (ARN) of the task to describe.
newDescribeTask ::
  -- | 'taskArn'
  Prelude.Text ->
  DescribeTask
newDescribeTask :: Text -> DescribeTask
newDescribeTask Text
pTaskArn_ =
  DescribeTask' {$sel:taskArn:DescribeTask' :: Text
taskArn = Text
pTaskArn_}

-- | The Amazon Resource Name (ARN) of the task to describe.
describeTask_taskArn :: Lens.Lens' DescribeTask Prelude.Text
describeTask_taskArn :: Lens' DescribeTask Text
describeTask_taskArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTask' {Text
taskArn :: Text
$sel:taskArn:DescribeTask' :: DescribeTask -> Text
taskArn} -> Text
taskArn) (\s :: DescribeTask
s@DescribeTask' {} Text
a -> DescribeTask
s {$sel:taskArn:DescribeTask' :: Text
taskArn = Text
a} :: DescribeTask)

instance Core.AWSRequest DescribeTask where
  type AWSResponse DescribeTask = DescribeTaskResponse
  request :: (Service -> Service) -> DescribeTask -> Request DescribeTask
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 DescribeTask
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeTask)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe [FilterRule]
-> Maybe [FilterRule]
-> Maybe Text
-> Maybe Options
-> Maybe TaskSchedule
-> Maybe Text
-> Maybe [Text]
-> Maybe TaskStatus
-> Maybe Text
-> Int
-> DescribeTaskResponse
DescribeTaskResponse'
            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
"CloudWatchLogGroupArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CreationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CurrentTaskExecutionArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DestinationLocationArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DestinationNetworkInterfaceArns"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ErrorCode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"ErrorDetail")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Excludes" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Includes" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Options")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Schedule")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SourceLocationArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SourceNetworkInterfaceArns"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"TaskArn")
            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 DescribeTask where
  hashWithSalt :: Int -> DescribeTask -> Int
hashWithSalt Int
_salt DescribeTask' {Text
taskArn :: Text
$sel:taskArn:DescribeTask' :: DescribeTask -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
taskArn

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

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

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

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

-- | DescribeTaskResponse
--
-- /See:/ 'newDescribeTaskResponse' smart constructor.
data DescribeTaskResponse = DescribeTaskResponse'
  { -- | The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that
    -- was used to monitor and log events in the task.
    --
    -- For more information on these groups, see Working with Log Groups and
    -- Log Streams in the /Amazon CloudWatch User Guide/.
    DescribeTaskResponse -> Maybe Text
cloudWatchLogGroupArn :: Prelude.Maybe Prelude.Text,
    -- | The time that the task was created.
    DescribeTaskResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | The Amazon Resource Name (ARN) of the task execution that is
    -- transferring files.
    DescribeTaskResponse -> Maybe Text
currentTaskExecutionArn :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the Amazon Web Services storage
    -- resource\'s location.
    DescribeTaskResponse -> Maybe Text
destinationLocationArn :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Names (ARNs) of the network interfaces created for
    -- your destination location. For more information, see
    -- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.
    DescribeTaskResponse -> Maybe [Text]
destinationNetworkInterfaceArns :: Prelude.Maybe [Prelude.Text],
    -- | Errors that DataSync encountered during execution of the task. You can
    -- use this error code to help troubleshoot issues.
    DescribeTaskResponse -> Maybe Text
errorCode :: Prelude.Maybe Prelude.Text,
    -- | Detailed description of an error that was encountered during the task
    -- execution. You can use this information to help troubleshoot issues.
    DescribeTaskResponse -> Maybe Text
errorDetail :: Prelude.Maybe Prelude.Text,
    -- | A list of filter rules that exclude specific data during your transfer.
    -- For more information and examples, see
    -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.
    DescribeTaskResponse -> Maybe [FilterRule]
excludes :: Prelude.Maybe [FilterRule],
    -- | A list of filter rules that include specific data during your transfer.
    -- For more information and examples, see
    -- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.
    DescribeTaskResponse -> Maybe [FilterRule]
includes :: Prelude.Maybe [FilterRule],
    -- | The name of the task that was described.
    DescribeTaskResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The configuration options that control the behavior of the
    -- @StartTaskExecution@ operation. Some options include preserving file or
    -- object metadata and verifying data integrity.
    --
    -- You can override these options for each task execution. For more
    -- information, see
    -- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.
    DescribeTaskResponse -> Maybe Options
options :: Prelude.Maybe Options,
    -- | The schedule used to periodically transfer files from a source to a
    -- destination location.
    DescribeTaskResponse -> Maybe TaskSchedule
schedule :: Prelude.Maybe TaskSchedule,
    -- | The Amazon Resource Name (ARN) of the source file system\'s location.
    DescribeTaskResponse -> Maybe Text
sourceLocationArn :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Names (ARNs) of the network interfaces created for
    -- your source location. For more information, see
    -- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.
    DescribeTaskResponse -> Maybe [Text]
sourceNetworkInterfaceArns :: Prelude.Maybe [Prelude.Text],
    -- | The status of the task that was described.
    --
    -- For detailed information about task execution statuses, see
    -- Understanding Task Statuses in the /DataSync User Guide/.
    DescribeTaskResponse -> Maybe TaskStatus
status :: Prelude.Maybe TaskStatus,
    -- | The Amazon Resource Name (ARN) of the task that was described.
    DescribeTaskResponse -> Maybe Text
taskArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeTaskResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeTaskResponse -> DescribeTaskResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTaskResponse -> DescribeTaskResponse -> Bool
$c/= :: DescribeTaskResponse -> DescribeTaskResponse -> Bool
== :: DescribeTaskResponse -> DescribeTaskResponse -> Bool
$c== :: DescribeTaskResponse -> DescribeTaskResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTaskResponse]
ReadPrec DescribeTaskResponse
Int -> ReadS DescribeTaskResponse
ReadS [DescribeTaskResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTaskResponse]
$creadListPrec :: ReadPrec [DescribeTaskResponse]
readPrec :: ReadPrec DescribeTaskResponse
$creadPrec :: ReadPrec DescribeTaskResponse
readList :: ReadS [DescribeTaskResponse]
$creadList :: ReadS [DescribeTaskResponse]
readsPrec :: Int -> ReadS DescribeTaskResponse
$creadsPrec :: Int -> ReadS DescribeTaskResponse
Prelude.Read, Int -> DescribeTaskResponse -> ShowS
[DescribeTaskResponse] -> ShowS
DescribeTaskResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTaskResponse] -> ShowS
$cshowList :: [DescribeTaskResponse] -> ShowS
show :: DescribeTaskResponse -> String
$cshow :: DescribeTaskResponse -> String
showsPrec :: Int -> DescribeTaskResponse -> ShowS
$cshowsPrec :: Int -> DescribeTaskResponse -> ShowS
Prelude.Show, forall x. Rep DescribeTaskResponse x -> DescribeTaskResponse
forall x. DescribeTaskResponse -> Rep DescribeTaskResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeTaskResponse x -> DescribeTaskResponse
$cfrom :: forall x. DescribeTaskResponse -> Rep DescribeTaskResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeTaskResponse' 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:
--
-- 'cloudWatchLogGroupArn', 'describeTaskResponse_cloudWatchLogGroupArn' - The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that
-- was used to monitor and log events in the task.
--
-- For more information on these groups, see Working with Log Groups and
-- Log Streams in the /Amazon CloudWatch User Guide/.
--
-- 'creationTime', 'describeTaskResponse_creationTime' - The time that the task was created.
--
-- 'currentTaskExecutionArn', 'describeTaskResponse_currentTaskExecutionArn' - The Amazon Resource Name (ARN) of the task execution that is
-- transferring files.
--
-- 'destinationLocationArn', 'describeTaskResponse_destinationLocationArn' - The Amazon Resource Name (ARN) of the Amazon Web Services storage
-- resource\'s location.
--
-- 'destinationNetworkInterfaceArns', 'describeTaskResponse_destinationNetworkInterfaceArns' - The Amazon Resource Names (ARNs) of the network interfaces created for
-- your destination location. For more information, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.
--
-- 'errorCode', 'describeTaskResponse_errorCode' - Errors that DataSync encountered during execution of the task. You can
-- use this error code to help troubleshoot issues.
--
-- 'errorDetail', 'describeTaskResponse_errorDetail' - Detailed description of an error that was encountered during the task
-- execution. You can use this information to help troubleshoot issues.
--
-- 'excludes', 'describeTaskResponse_excludes' - A list of filter rules that exclude specific data during your transfer.
-- For more information and examples, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.
--
-- 'includes', 'describeTaskResponse_includes' - A list of filter rules that include specific data during your transfer.
-- For more information and examples, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.
--
-- 'name', 'describeTaskResponse_name' - The name of the task that was described.
--
-- 'options', 'describeTaskResponse_options' - The configuration options that control the behavior of the
-- @StartTaskExecution@ operation. Some options include preserving file or
-- object metadata and verifying data integrity.
--
-- You can override these options for each task execution. For more
-- information, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.
--
-- 'schedule', 'describeTaskResponse_schedule' - The schedule used to periodically transfer files from a source to a
-- destination location.
--
-- 'sourceLocationArn', 'describeTaskResponse_sourceLocationArn' - The Amazon Resource Name (ARN) of the source file system\'s location.
--
-- 'sourceNetworkInterfaceArns', 'describeTaskResponse_sourceNetworkInterfaceArns' - The Amazon Resource Names (ARNs) of the network interfaces created for
-- your source location. For more information, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.
--
-- 'status', 'describeTaskResponse_status' - The status of the task that was described.
--
-- For detailed information about task execution statuses, see
-- Understanding Task Statuses in the /DataSync User Guide/.
--
-- 'taskArn', 'describeTaskResponse_taskArn' - The Amazon Resource Name (ARN) of the task that was described.
--
-- 'httpStatus', 'describeTaskResponse_httpStatus' - The response's http status code.
newDescribeTaskResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeTaskResponse
newDescribeTaskResponse :: Int -> DescribeTaskResponse
newDescribeTaskResponse Int
pHttpStatus_ =
  DescribeTaskResponse'
    { $sel:cloudWatchLogGroupArn:DescribeTaskResponse' :: Maybe Text
cloudWatchLogGroupArn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:DescribeTaskResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:currentTaskExecutionArn:DescribeTaskResponse' :: Maybe Text
currentTaskExecutionArn = forall a. Maybe a
Prelude.Nothing,
      $sel:destinationLocationArn:DescribeTaskResponse' :: Maybe Text
destinationLocationArn = forall a. Maybe a
Prelude.Nothing,
      $sel:destinationNetworkInterfaceArns:DescribeTaskResponse' :: Maybe [Text]
destinationNetworkInterfaceArns = forall a. Maybe a
Prelude.Nothing,
      $sel:errorCode:DescribeTaskResponse' :: Maybe Text
errorCode = forall a. Maybe a
Prelude.Nothing,
      $sel:errorDetail:DescribeTaskResponse' :: Maybe Text
errorDetail = forall a. Maybe a
Prelude.Nothing,
      $sel:excludes:DescribeTaskResponse' :: Maybe [FilterRule]
excludes = forall a. Maybe a
Prelude.Nothing,
      $sel:includes:DescribeTaskResponse' :: Maybe [FilterRule]
includes = forall a. Maybe a
Prelude.Nothing,
      $sel:name:DescribeTaskResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:options:DescribeTaskResponse' :: Maybe Options
options = forall a. Maybe a
Prelude.Nothing,
      $sel:schedule:DescribeTaskResponse' :: Maybe TaskSchedule
schedule = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceLocationArn:DescribeTaskResponse' :: Maybe Text
sourceLocationArn = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceNetworkInterfaceArns:DescribeTaskResponse' :: Maybe [Text]
sourceNetworkInterfaceArns = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeTaskResponse' :: Maybe TaskStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:taskArn:DescribeTaskResponse' :: Maybe Text
taskArn = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeTaskResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that
-- was used to monitor and log events in the task.
--
-- For more information on these groups, see Working with Log Groups and
-- Log Streams in the /Amazon CloudWatch User Guide/.
describeTaskResponse_cloudWatchLogGroupArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_cloudWatchLogGroupArn :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_cloudWatchLogGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
cloudWatchLogGroupArn :: Maybe Text
$sel:cloudWatchLogGroupArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
cloudWatchLogGroupArn} -> Maybe Text
cloudWatchLogGroupArn) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:cloudWatchLogGroupArn:DescribeTaskResponse' :: Maybe Text
cloudWatchLogGroupArn = Maybe Text
a} :: DescribeTaskResponse)

-- | The time that the task was created.
describeTaskResponse_creationTime :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.UTCTime)
describeTaskResponse_creationTime :: Lens' DescribeTaskResponse (Maybe UTCTime)
describeTaskResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe POSIX
a -> DescribeTaskResponse
s {$sel:creationTime:DescribeTaskResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeTaskResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The Amazon Resource Name (ARN) of the task execution that is
-- transferring files.
describeTaskResponse_currentTaskExecutionArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_currentTaskExecutionArn :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_currentTaskExecutionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
currentTaskExecutionArn :: Maybe Text
$sel:currentTaskExecutionArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
currentTaskExecutionArn} -> Maybe Text
currentTaskExecutionArn) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:currentTaskExecutionArn:DescribeTaskResponse' :: Maybe Text
currentTaskExecutionArn = Maybe Text
a} :: DescribeTaskResponse)

-- | The Amazon Resource Name (ARN) of the Amazon Web Services storage
-- resource\'s location.
describeTaskResponse_destinationLocationArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_destinationLocationArn :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_destinationLocationArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
destinationLocationArn :: Maybe Text
$sel:destinationLocationArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
destinationLocationArn} -> Maybe Text
destinationLocationArn) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:destinationLocationArn:DescribeTaskResponse' :: Maybe Text
destinationLocationArn = Maybe Text
a} :: DescribeTaskResponse)

-- | The Amazon Resource Names (ARNs) of the network interfaces created for
-- your destination location. For more information, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.
describeTaskResponse_destinationNetworkInterfaceArns :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [Prelude.Text])
describeTaskResponse_destinationNetworkInterfaceArns :: Lens' DescribeTaskResponse (Maybe [Text])
describeTaskResponse_destinationNetworkInterfaceArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe [Text]
destinationNetworkInterfaceArns :: Maybe [Text]
$sel:destinationNetworkInterfaceArns:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [Text]
destinationNetworkInterfaceArns} -> Maybe [Text]
destinationNetworkInterfaceArns) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe [Text]
a -> DescribeTaskResponse
s {$sel:destinationNetworkInterfaceArns:DescribeTaskResponse' :: Maybe [Text]
destinationNetworkInterfaceArns = Maybe [Text]
a} :: DescribeTaskResponse) 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

-- | Errors that DataSync encountered during execution of the task. You can
-- use this error code to help troubleshoot issues.
describeTaskResponse_errorCode :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_errorCode :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_errorCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
errorCode :: Maybe Text
$sel:errorCode:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
errorCode} -> Maybe Text
errorCode) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:errorCode:DescribeTaskResponse' :: Maybe Text
errorCode = Maybe Text
a} :: DescribeTaskResponse)

-- | Detailed description of an error that was encountered during the task
-- execution. You can use this information to help troubleshoot issues.
describeTaskResponse_errorDetail :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_errorDetail :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_errorDetail = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
errorDetail :: Maybe Text
$sel:errorDetail:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
errorDetail} -> Maybe Text
errorDetail) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:errorDetail:DescribeTaskResponse' :: Maybe Text
errorDetail = Maybe Text
a} :: DescribeTaskResponse)

-- | A list of filter rules that exclude specific data during your transfer.
-- For more information and examples, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.
describeTaskResponse_excludes :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [FilterRule])
describeTaskResponse_excludes :: Lens' DescribeTaskResponse (Maybe [FilterRule])
describeTaskResponse_excludes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe [FilterRule]
excludes :: Maybe [FilterRule]
$sel:excludes:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [FilterRule]
excludes} -> Maybe [FilterRule]
excludes) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe [FilterRule]
a -> DescribeTaskResponse
s {$sel:excludes:DescribeTaskResponse' :: Maybe [FilterRule]
excludes = Maybe [FilterRule]
a} :: DescribeTaskResponse) 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

-- | A list of filter rules that include specific data during your transfer.
-- For more information and examples, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html Filtering data transferred by DataSync>.
describeTaskResponse_includes :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [FilterRule])
describeTaskResponse_includes :: Lens' DescribeTaskResponse (Maybe [FilterRule])
describeTaskResponse_includes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe [FilterRule]
includes :: Maybe [FilterRule]
$sel:includes:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [FilterRule]
includes} -> Maybe [FilterRule]
includes) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe [FilterRule]
a -> DescribeTaskResponse
s {$sel:includes:DescribeTaskResponse' :: Maybe [FilterRule]
includes = Maybe [FilterRule]
a} :: DescribeTaskResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The name of the task that was described.
describeTaskResponse_name :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_name :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
name :: Maybe Text
$sel:name:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:name:DescribeTaskResponse' :: Maybe Text
name = Maybe Text
a} :: DescribeTaskResponse)

-- | The configuration options that control the behavior of the
-- @StartTaskExecution@ operation. Some options include preserving file or
-- object metadata and verifying data integrity.
--
-- You can override these options for each task execution. For more
-- information, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html StartTaskExecution>.
describeTaskResponse_options :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Options)
describeTaskResponse_options :: Lens' DescribeTaskResponse (Maybe Options)
describeTaskResponse_options = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Options
options :: Maybe Options
$sel:options:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Options
options} -> Maybe Options
options) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Options
a -> DescribeTaskResponse
s {$sel:options:DescribeTaskResponse' :: Maybe Options
options = Maybe Options
a} :: DescribeTaskResponse)

-- | The schedule used to periodically transfer files from a source to a
-- destination location.
describeTaskResponse_schedule :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe TaskSchedule)
describeTaskResponse_schedule :: Lens' DescribeTaskResponse (Maybe TaskSchedule)
describeTaskResponse_schedule = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe TaskSchedule
schedule :: Maybe TaskSchedule
$sel:schedule:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe TaskSchedule
schedule} -> Maybe TaskSchedule
schedule) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe TaskSchedule
a -> DescribeTaskResponse
s {$sel:schedule:DescribeTaskResponse' :: Maybe TaskSchedule
schedule = Maybe TaskSchedule
a} :: DescribeTaskResponse)

-- | The Amazon Resource Name (ARN) of the source file system\'s location.
describeTaskResponse_sourceLocationArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_sourceLocationArn :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_sourceLocationArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
sourceLocationArn :: Maybe Text
$sel:sourceLocationArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
sourceLocationArn} -> Maybe Text
sourceLocationArn) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:sourceLocationArn:DescribeTaskResponse' :: Maybe Text
sourceLocationArn = Maybe Text
a} :: DescribeTaskResponse)

-- | The Amazon Resource Names (ARNs) of the network interfaces created for
-- your source location. For more information, see
-- <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces Network interface requirements>.
describeTaskResponse_sourceNetworkInterfaceArns :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe [Prelude.Text])
describeTaskResponse_sourceNetworkInterfaceArns :: Lens' DescribeTaskResponse (Maybe [Text])
describeTaskResponse_sourceNetworkInterfaceArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe [Text]
sourceNetworkInterfaceArns :: Maybe [Text]
$sel:sourceNetworkInterfaceArns:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [Text]
sourceNetworkInterfaceArns} -> Maybe [Text]
sourceNetworkInterfaceArns) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe [Text]
a -> DescribeTaskResponse
s {$sel:sourceNetworkInterfaceArns:DescribeTaskResponse' :: Maybe [Text]
sourceNetworkInterfaceArns = Maybe [Text]
a} :: DescribeTaskResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

-- | The Amazon Resource Name (ARN) of the task that was described.
describeTaskResponse_taskArn :: Lens.Lens' DescribeTaskResponse (Prelude.Maybe Prelude.Text)
describeTaskResponse_taskArn :: Lens' DescribeTaskResponse (Maybe Text)
describeTaskResponse_taskArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTaskResponse' {Maybe Text
taskArn :: Maybe Text
$sel:taskArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
taskArn} -> Maybe Text
taskArn) (\s :: DescribeTaskResponse
s@DescribeTaskResponse' {} Maybe Text
a -> DescribeTaskResponse
s {$sel:taskArn:DescribeTaskResponse' :: Maybe Text
taskArn = Maybe Text
a} :: DescribeTaskResponse)

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

instance Prelude.NFData DescribeTaskResponse where
  rnf :: DescribeTaskResponse -> ()
rnf DescribeTaskResponse' {Int
Maybe [Text]
Maybe [FilterRule]
Maybe Text
Maybe POSIX
Maybe TaskSchedule
Maybe TaskStatus
Maybe Options
httpStatus :: Int
taskArn :: Maybe Text
status :: Maybe TaskStatus
sourceNetworkInterfaceArns :: Maybe [Text]
sourceLocationArn :: Maybe Text
schedule :: Maybe TaskSchedule
options :: Maybe Options
name :: Maybe Text
includes :: Maybe [FilterRule]
excludes :: Maybe [FilterRule]
errorDetail :: Maybe Text
errorCode :: Maybe Text
destinationNetworkInterfaceArns :: Maybe [Text]
destinationLocationArn :: Maybe Text
currentTaskExecutionArn :: Maybe Text
creationTime :: Maybe POSIX
cloudWatchLogGroupArn :: Maybe Text
$sel:httpStatus:DescribeTaskResponse' :: DescribeTaskResponse -> Int
$sel:taskArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
$sel:status:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe TaskStatus
$sel:sourceNetworkInterfaceArns:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [Text]
$sel:sourceLocationArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
$sel:schedule:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe TaskSchedule
$sel:options:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Options
$sel:name:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
$sel:includes:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [FilterRule]
$sel:excludes:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [FilterRule]
$sel:errorDetail:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
$sel:errorCode:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
$sel:destinationNetworkInterfaceArns:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe [Text]
$sel:destinationLocationArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
$sel:currentTaskExecutionArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
$sel:creationTime:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe POSIX
$sel:cloudWatchLogGroupArn:DescribeTaskResponse' :: DescribeTaskResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
cloudWatchLogGroupArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
currentTaskExecutionArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
destinationLocationArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
destinationNetworkInterfaceArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
errorCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
errorDetail
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [FilterRule]
excludes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [FilterRule]
includes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Options
options
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TaskSchedule
schedule
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceLocationArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
sourceNetworkInterfaceArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TaskStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
taskArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus