{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.CodePipeline.Types.ActionExecutionDetail
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.CodePipeline.Types.ActionExecutionDetail where

import Amazonka.CodePipeline.Types.ActionExecutionInput
import Amazonka.CodePipeline.Types.ActionExecutionOutput
import Amazonka.CodePipeline.Types.ActionExecutionStatus
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

-- | Returns information about an execution of an action, including the
-- action execution ID, and the name, version, and timing of the action.
--
-- /See:/ 'newActionExecutionDetail' smart constructor.
data ActionExecutionDetail = ActionExecutionDetail'
  { -- | The action execution ID.
    ActionExecutionDetail -> Maybe Text
actionExecutionId :: Prelude.Maybe Prelude.Text,
    -- | The name of the action.
    ActionExecutionDetail -> Maybe Text
actionName :: Prelude.Maybe Prelude.Text,
    -- | Input details for the action execution, such as role ARN, Region, and
    -- input artifacts.
    ActionExecutionDetail -> Maybe ActionExecutionInput
input :: Prelude.Maybe ActionExecutionInput,
    -- | The last update time of the action execution.
    ActionExecutionDetail -> Maybe POSIX
lastUpdateTime :: Prelude.Maybe Data.POSIX,
    -- | Output details for the action execution, such as the action execution
    -- result.
    ActionExecutionDetail -> Maybe ActionExecutionOutput
output :: Prelude.Maybe ActionExecutionOutput,
    -- | The pipeline execution ID for the action execution.
    ActionExecutionDetail -> Maybe Text
pipelineExecutionId :: Prelude.Maybe Prelude.Text,
    -- | The version of the pipeline where the action was run.
    ActionExecutionDetail -> Maybe Natural
pipelineVersion :: Prelude.Maybe Prelude.Natural,
    -- | The name of the stage that contains the action.
    ActionExecutionDetail -> Maybe Text
stageName :: Prelude.Maybe Prelude.Text,
    -- | The start time of the action execution.
    ActionExecutionDetail -> Maybe POSIX
startTime :: Prelude.Maybe Data.POSIX,
    -- | The status of the action execution. Status categories are @InProgress@,
    -- @Succeeded@, and @Failed@.
    ActionExecutionDetail -> Maybe ActionExecutionStatus
status :: Prelude.Maybe ActionExecutionStatus
  }
  deriving (ActionExecutionDetail -> ActionExecutionDetail -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ActionExecutionDetail -> ActionExecutionDetail -> Bool
$c/= :: ActionExecutionDetail -> ActionExecutionDetail -> Bool
== :: ActionExecutionDetail -> ActionExecutionDetail -> Bool
$c== :: ActionExecutionDetail -> ActionExecutionDetail -> Bool
Prelude.Eq, ReadPrec [ActionExecutionDetail]
ReadPrec ActionExecutionDetail
Int -> ReadS ActionExecutionDetail
ReadS [ActionExecutionDetail]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ActionExecutionDetail]
$creadListPrec :: ReadPrec [ActionExecutionDetail]
readPrec :: ReadPrec ActionExecutionDetail
$creadPrec :: ReadPrec ActionExecutionDetail
readList :: ReadS [ActionExecutionDetail]
$creadList :: ReadS [ActionExecutionDetail]
readsPrec :: Int -> ReadS ActionExecutionDetail
$creadsPrec :: Int -> ReadS ActionExecutionDetail
Prelude.Read, Int -> ActionExecutionDetail -> ShowS
[ActionExecutionDetail] -> ShowS
ActionExecutionDetail -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ActionExecutionDetail] -> ShowS
$cshowList :: [ActionExecutionDetail] -> ShowS
show :: ActionExecutionDetail -> String
$cshow :: ActionExecutionDetail -> String
showsPrec :: Int -> ActionExecutionDetail -> ShowS
$cshowsPrec :: Int -> ActionExecutionDetail -> ShowS
Prelude.Show, forall x. Rep ActionExecutionDetail x -> ActionExecutionDetail
forall x. ActionExecutionDetail -> Rep ActionExecutionDetail x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ActionExecutionDetail x -> ActionExecutionDetail
$cfrom :: forall x. ActionExecutionDetail -> Rep ActionExecutionDetail x
Prelude.Generic)

-- |
-- Create a value of 'ActionExecutionDetail' 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:
--
-- 'actionExecutionId', 'actionExecutionDetail_actionExecutionId' - The action execution ID.
--
-- 'actionName', 'actionExecutionDetail_actionName' - The name of the action.
--
-- 'input', 'actionExecutionDetail_input' - Input details for the action execution, such as role ARN, Region, and
-- input artifacts.
--
-- 'lastUpdateTime', 'actionExecutionDetail_lastUpdateTime' - The last update time of the action execution.
--
-- 'output', 'actionExecutionDetail_output' - Output details for the action execution, such as the action execution
-- result.
--
-- 'pipelineExecutionId', 'actionExecutionDetail_pipelineExecutionId' - The pipeline execution ID for the action execution.
--
-- 'pipelineVersion', 'actionExecutionDetail_pipelineVersion' - The version of the pipeline where the action was run.
--
-- 'stageName', 'actionExecutionDetail_stageName' - The name of the stage that contains the action.
--
-- 'startTime', 'actionExecutionDetail_startTime' - The start time of the action execution.
--
-- 'status', 'actionExecutionDetail_status' - The status of the action execution. Status categories are @InProgress@,
-- @Succeeded@, and @Failed@.
newActionExecutionDetail ::
  ActionExecutionDetail
newActionExecutionDetail :: ActionExecutionDetail
newActionExecutionDetail =
  ActionExecutionDetail'
    { $sel:actionExecutionId:ActionExecutionDetail' :: Maybe Text
actionExecutionId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:actionName:ActionExecutionDetail' :: Maybe Text
actionName = forall a. Maybe a
Prelude.Nothing,
      $sel:input:ActionExecutionDetail' :: Maybe ActionExecutionInput
input = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdateTime:ActionExecutionDetail' :: Maybe POSIX
lastUpdateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:output:ActionExecutionDetail' :: Maybe ActionExecutionOutput
output = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionId:ActionExecutionDetail' :: Maybe Text
pipelineExecutionId = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineVersion:ActionExecutionDetail' :: Maybe Natural
pipelineVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:stageName:ActionExecutionDetail' :: Maybe Text
stageName = forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:ActionExecutionDetail' :: Maybe POSIX
startTime = forall a. Maybe a
Prelude.Nothing,
      $sel:status:ActionExecutionDetail' :: Maybe ActionExecutionStatus
status = forall a. Maybe a
Prelude.Nothing
    }

-- | The action execution ID.
actionExecutionDetail_actionExecutionId :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe Prelude.Text)
actionExecutionDetail_actionExecutionId :: Lens' ActionExecutionDetail (Maybe Text)
actionExecutionDetail_actionExecutionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe Text
actionExecutionId :: Maybe Text
$sel:actionExecutionId:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
actionExecutionId} -> Maybe Text
actionExecutionId) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe Text
a -> ActionExecutionDetail
s {$sel:actionExecutionId:ActionExecutionDetail' :: Maybe Text
actionExecutionId = Maybe Text
a} :: ActionExecutionDetail)

-- | The name of the action.
actionExecutionDetail_actionName :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe Prelude.Text)
actionExecutionDetail_actionName :: Lens' ActionExecutionDetail (Maybe Text)
actionExecutionDetail_actionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe Text
actionName :: Maybe Text
$sel:actionName:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
actionName} -> Maybe Text
actionName) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe Text
a -> ActionExecutionDetail
s {$sel:actionName:ActionExecutionDetail' :: Maybe Text
actionName = Maybe Text
a} :: ActionExecutionDetail)

-- | Input details for the action execution, such as role ARN, Region, and
-- input artifacts.
actionExecutionDetail_input :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe ActionExecutionInput)
actionExecutionDetail_input :: Lens' ActionExecutionDetail (Maybe ActionExecutionInput)
actionExecutionDetail_input = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe ActionExecutionInput
input :: Maybe ActionExecutionInput
$sel:input:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionInput
input} -> Maybe ActionExecutionInput
input) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe ActionExecutionInput
a -> ActionExecutionDetail
s {$sel:input:ActionExecutionDetail' :: Maybe ActionExecutionInput
input = Maybe ActionExecutionInput
a} :: ActionExecutionDetail)

-- | The last update time of the action execution.
actionExecutionDetail_lastUpdateTime :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe Prelude.UTCTime)
actionExecutionDetail_lastUpdateTime :: Lens' ActionExecutionDetail (Maybe UTCTime)
actionExecutionDetail_lastUpdateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe POSIX
lastUpdateTime :: Maybe POSIX
$sel:lastUpdateTime:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe POSIX
lastUpdateTime} -> Maybe POSIX
lastUpdateTime) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe POSIX
a -> ActionExecutionDetail
s {$sel:lastUpdateTime:ActionExecutionDetail' :: Maybe POSIX
lastUpdateTime = Maybe POSIX
a} :: ActionExecutionDetail) 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

-- | Output details for the action execution, such as the action execution
-- result.
actionExecutionDetail_output :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe ActionExecutionOutput)
actionExecutionDetail_output :: Lens' ActionExecutionDetail (Maybe ActionExecutionOutput)
actionExecutionDetail_output = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe ActionExecutionOutput
output :: Maybe ActionExecutionOutput
$sel:output:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionOutput
output} -> Maybe ActionExecutionOutput
output) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe ActionExecutionOutput
a -> ActionExecutionDetail
s {$sel:output:ActionExecutionDetail' :: Maybe ActionExecutionOutput
output = Maybe ActionExecutionOutput
a} :: ActionExecutionDetail)

-- | The pipeline execution ID for the action execution.
actionExecutionDetail_pipelineExecutionId :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe Prelude.Text)
actionExecutionDetail_pipelineExecutionId :: Lens' ActionExecutionDetail (Maybe Text)
actionExecutionDetail_pipelineExecutionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe Text
pipelineExecutionId :: Maybe Text
$sel:pipelineExecutionId:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
pipelineExecutionId} -> Maybe Text
pipelineExecutionId) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe Text
a -> ActionExecutionDetail
s {$sel:pipelineExecutionId:ActionExecutionDetail' :: Maybe Text
pipelineExecutionId = Maybe Text
a} :: ActionExecutionDetail)

-- | The version of the pipeline where the action was run.
actionExecutionDetail_pipelineVersion :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe Prelude.Natural)
actionExecutionDetail_pipelineVersion :: Lens' ActionExecutionDetail (Maybe Natural)
actionExecutionDetail_pipelineVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe Natural
pipelineVersion :: Maybe Natural
$sel:pipelineVersion:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Natural
pipelineVersion} -> Maybe Natural
pipelineVersion) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe Natural
a -> ActionExecutionDetail
s {$sel:pipelineVersion:ActionExecutionDetail' :: Maybe Natural
pipelineVersion = Maybe Natural
a} :: ActionExecutionDetail)

-- | The name of the stage that contains the action.
actionExecutionDetail_stageName :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe Prelude.Text)
actionExecutionDetail_stageName :: Lens' ActionExecutionDetail (Maybe Text)
actionExecutionDetail_stageName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe Text
stageName :: Maybe Text
$sel:stageName:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
stageName} -> Maybe Text
stageName) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe Text
a -> ActionExecutionDetail
s {$sel:stageName:ActionExecutionDetail' :: Maybe Text
stageName = Maybe Text
a} :: ActionExecutionDetail)

-- | The start time of the action execution.
actionExecutionDetail_startTime :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe Prelude.UTCTime)
actionExecutionDetail_startTime :: Lens' ActionExecutionDetail (Maybe UTCTime)
actionExecutionDetail_startTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe POSIX
a -> ActionExecutionDetail
s {$sel:startTime:ActionExecutionDetail' :: Maybe POSIX
startTime = Maybe POSIX
a} :: ActionExecutionDetail) 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 status of the action execution. Status categories are @InProgress@,
-- @Succeeded@, and @Failed@.
actionExecutionDetail_status :: Lens.Lens' ActionExecutionDetail (Prelude.Maybe ActionExecutionStatus)
actionExecutionDetail_status :: Lens' ActionExecutionDetail (Maybe ActionExecutionStatus)
actionExecutionDetail_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActionExecutionDetail' {Maybe ActionExecutionStatus
status :: Maybe ActionExecutionStatus
$sel:status:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionStatus
status} -> Maybe ActionExecutionStatus
status) (\s :: ActionExecutionDetail
s@ActionExecutionDetail' {} Maybe ActionExecutionStatus
a -> ActionExecutionDetail
s {$sel:status:ActionExecutionDetail' :: Maybe ActionExecutionStatus
status = Maybe ActionExecutionStatus
a} :: ActionExecutionDetail)

instance Data.FromJSON ActionExecutionDetail where
  parseJSON :: Value -> Parser ActionExecutionDetail
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ActionExecutionDetail"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe ActionExecutionInput
-> Maybe POSIX
-> Maybe ActionExecutionOutput
-> Maybe Text
-> Maybe Natural
-> Maybe Text
-> Maybe POSIX
-> Maybe ActionExecutionStatus
-> ActionExecutionDetail
ActionExecutionDetail'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"actionExecutionId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"actionName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"input")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastUpdateTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"output")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"pipelineExecutionId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"pipelineVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"stageName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"startTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"status")
      )

instance Prelude.Hashable ActionExecutionDetail where
  hashWithSalt :: Int -> ActionExecutionDetail -> Int
hashWithSalt Int
_salt ActionExecutionDetail' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe ActionExecutionStatus
Maybe ActionExecutionOutput
Maybe ActionExecutionInput
status :: Maybe ActionExecutionStatus
startTime :: Maybe POSIX
stageName :: Maybe Text
pipelineVersion :: Maybe Natural
pipelineExecutionId :: Maybe Text
output :: Maybe ActionExecutionOutput
lastUpdateTime :: Maybe POSIX
input :: Maybe ActionExecutionInput
actionName :: Maybe Text
actionExecutionId :: Maybe Text
$sel:status:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionStatus
$sel:startTime:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe POSIX
$sel:stageName:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
$sel:pipelineVersion:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Natural
$sel:pipelineExecutionId:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
$sel:output:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionOutput
$sel:lastUpdateTime:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe POSIX
$sel:input:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionInput
$sel:actionName:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
$sel:actionExecutionId:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
actionExecutionId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
actionName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ActionExecutionInput
input
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastUpdateTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ActionExecutionOutput
output
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pipelineExecutionId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
pipelineVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
stageName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
startTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ActionExecutionStatus
status

instance Prelude.NFData ActionExecutionDetail where
  rnf :: ActionExecutionDetail -> ()
rnf ActionExecutionDetail' {Maybe Natural
Maybe Text
Maybe POSIX
Maybe ActionExecutionStatus
Maybe ActionExecutionOutput
Maybe ActionExecutionInput
status :: Maybe ActionExecutionStatus
startTime :: Maybe POSIX
stageName :: Maybe Text
pipelineVersion :: Maybe Natural
pipelineExecutionId :: Maybe Text
output :: Maybe ActionExecutionOutput
lastUpdateTime :: Maybe POSIX
input :: Maybe ActionExecutionInput
actionName :: Maybe Text
actionExecutionId :: Maybe Text
$sel:status:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionStatus
$sel:startTime:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe POSIX
$sel:stageName:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
$sel:pipelineVersion:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Natural
$sel:pipelineExecutionId:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
$sel:output:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionOutput
$sel:lastUpdateTime:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe POSIX
$sel:input:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe ActionExecutionInput
$sel:actionName:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
$sel:actionExecutionId:ActionExecutionDetail' :: ActionExecutionDetail -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
actionExecutionId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
actionName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActionExecutionInput
input
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActionExecutionOutput
output
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineExecutionId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
pipelineVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stageName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
startTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActionExecutionStatus
status