{-# 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.CloudFormation.Types.ChangeSetSummary
-- 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)
module Amazonka.CloudFormation.Types.ChangeSetSummary where

import Amazonka.CloudFormation.Types.ChangeSetStatus
import Amazonka.CloudFormation.Types.ExecutionStatus
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | The @ChangeSetSummary@ structure describes a change set, its status, and
-- the stack with which it\'s associated.
--
-- /See:/ 'newChangeSetSummary' smart constructor.
data ChangeSetSummary = ChangeSetSummary'
  { -- | The start time when the change set was created, in UTC.
    ChangeSetSummary -> Maybe ISO8601
creationTime :: Prelude.Maybe Core.ISO8601,
    -- | The state of the change set, such as @CREATE_IN_PROGRESS@,
    -- @CREATE_COMPLETE@, or @FAILED@.
    ChangeSetSummary -> Maybe ChangeSetStatus
status :: Prelude.Maybe ChangeSetStatus,
    -- | The parent change set ID.
    ChangeSetSummary -> Maybe Text
parentChangeSetId :: Prelude.Maybe Prelude.Text,
    -- | The name of the change set.
    ChangeSetSummary -> Maybe Text
changeSetName :: Prelude.Maybe Prelude.Text,
    -- | If the change set execution status is @AVAILABLE@, you can execute the
    -- change set. If you can’t execute the change set, the status indicates
    -- why. For example, a change set might be in an @UNAVAILABLE@ state
    -- because CloudFormation is still creating it or in an @OBSOLETE@ state
    -- because the stack was already updated.
    ChangeSetSummary -> Maybe ExecutionStatus
executionStatus :: Prelude.Maybe ExecutionStatus,
    -- | The ID of the change set.
    ChangeSetSummary -> Maybe Text
changeSetId :: Prelude.Maybe Prelude.Text,
    -- | Specifies the current setting of @IncludeNestedStacks@ for the change
    -- set.
    ChangeSetSummary -> Maybe Bool
includeNestedStacks :: Prelude.Maybe Prelude.Bool,
    -- | The root change set ID.
    ChangeSetSummary -> Maybe Text
rootChangeSetId :: Prelude.Maybe Prelude.Text,
    -- | A description of the change set\'s status. For example, if your change
    -- set is in the @FAILED@ state, CloudFormation shows the error message.
    ChangeSetSummary -> Maybe Text
statusReason :: Prelude.Maybe Prelude.Text,
    -- | The ID of the stack with which the change set is associated.
    ChangeSetSummary -> Maybe Text
stackId :: Prelude.Maybe Prelude.Text,
    -- | Descriptive information about the change set.
    ChangeSetSummary -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The name of the stack with which the change set is associated.
    ChangeSetSummary -> Maybe Text
stackName :: Prelude.Maybe Prelude.Text
  }
  deriving (ChangeSetSummary -> ChangeSetSummary -> Bool
(ChangeSetSummary -> ChangeSetSummary -> Bool)
-> (ChangeSetSummary -> ChangeSetSummary -> Bool)
-> Eq ChangeSetSummary
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ChangeSetSummary -> ChangeSetSummary -> Bool
$c/= :: ChangeSetSummary -> ChangeSetSummary -> Bool
== :: ChangeSetSummary -> ChangeSetSummary -> Bool
$c== :: ChangeSetSummary -> ChangeSetSummary -> Bool
Prelude.Eq, ReadPrec [ChangeSetSummary]
ReadPrec ChangeSetSummary
Int -> ReadS ChangeSetSummary
ReadS [ChangeSetSummary]
(Int -> ReadS ChangeSetSummary)
-> ReadS [ChangeSetSummary]
-> ReadPrec ChangeSetSummary
-> ReadPrec [ChangeSetSummary]
-> Read ChangeSetSummary
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ChangeSetSummary]
$creadListPrec :: ReadPrec [ChangeSetSummary]
readPrec :: ReadPrec ChangeSetSummary
$creadPrec :: ReadPrec ChangeSetSummary
readList :: ReadS [ChangeSetSummary]
$creadList :: ReadS [ChangeSetSummary]
readsPrec :: Int -> ReadS ChangeSetSummary
$creadsPrec :: Int -> ReadS ChangeSetSummary
Prelude.Read, Int -> ChangeSetSummary -> ShowS
[ChangeSetSummary] -> ShowS
ChangeSetSummary -> String
(Int -> ChangeSetSummary -> ShowS)
-> (ChangeSetSummary -> String)
-> ([ChangeSetSummary] -> ShowS)
-> Show ChangeSetSummary
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ChangeSetSummary] -> ShowS
$cshowList :: [ChangeSetSummary] -> ShowS
show :: ChangeSetSummary -> String
$cshow :: ChangeSetSummary -> String
showsPrec :: Int -> ChangeSetSummary -> ShowS
$cshowsPrec :: Int -> ChangeSetSummary -> ShowS
Prelude.Show, (forall x. ChangeSetSummary -> Rep ChangeSetSummary x)
-> (forall x. Rep ChangeSetSummary x -> ChangeSetSummary)
-> Generic ChangeSetSummary
forall x. Rep ChangeSetSummary x -> ChangeSetSummary
forall x. ChangeSetSummary -> Rep ChangeSetSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ChangeSetSummary x -> ChangeSetSummary
$cfrom :: forall x. ChangeSetSummary -> Rep ChangeSetSummary x
Prelude.Generic)

-- |
-- Create a value of 'ChangeSetSummary' 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:
--
-- 'creationTime', 'changeSetSummary_creationTime' - The start time when the change set was created, in UTC.
--
-- 'status', 'changeSetSummary_status' - The state of the change set, such as @CREATE_IN_PROGRESS@,
-- @CREATE_COMPLETE@, or @FAILED@.
--
-- 'parentChangeSetId', 'changeSetSummary_parentChangeSetId' - The parent change set ID.
--
-- 'changeSetName', 'changeSetSummary_changeSetName' - The name of the change set.
--
-- 'executionStatus', 'changeSetSummary_executionStatus' - If the change set execution status is @AVAILABLE@, you can execute the
-- change set. If you can’t execute the change set, the status indicates
-- why. For example, a change set might be in an @UNAVAILABLE@ state
-- because CloudFormation is still creating it or in an @OBSOLETE@ state
-- because the stack was already updated.
--
-- 'changeSetId', 'changeSetSummary_changeSetId' - The ID of the change set.
--
-- 'includeNestedStacks', 'changeSetSummary_includeNestedStacks' - Specifies the current setting of @IncludeNestedStacks@ for the change
-- set.
--
-- 'rootChangeSetId', 'changeSetSummary_rootChangeSetId' - The root change set ID.
--
-- 'statusReason', 'changeSetSummary_statusReason' - A description of the change set\'s status. For example, if your change
-- set is in the @FAILED@ state, CloudFormation shows the error message.
--
-- 'stackId', 'changeSetSummary_stackId' - The ID of the stack with which the change set is associated.
--
-- 'description', 'changeSetSummary_description' - Descriptive information about the change set.
--
-- 'stackName', 'changeSetSummary_stackName' - The name of the stack with which the change set is associated.
newChangeSetSummary ::
  ChangeSetSummary
newChangeSetSummary :: ChangeSetSummary
newChangeSetSummary =
  ChangeSetSummary' :: Maybe ISO8601
-> Maybe ChangeSetStatus
-> Maybe Text
-> Maybe Text
-> Maybe ExecutionStatus
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ChangeSetSummary
ChangeSetSummary'
    { $sel:creationTime:ChangeSetSummary' :: Maybe ISO8601
creationTime = Maybe ISO8601
forall a. Maybe a
Prelude.Nothing,
      $sel:status:ChangeSetSummary' :: Maybe ChangeSetStatus
status = Maybe ChangeSetStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:parentChangeSetId:ChangeSetSummary' :: Maybe Text
parentChangeSetId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:changeSetName:ChangeSetSummary' :: Maybe Text
changeSetName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:executionStatus:ChangeSetSummary' :: Maybe ExecutionStatus
executionStatus = Maybe ExecutionStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:changeSetId:ChangeSetSummary' :: Maybe Text
changeSetId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:includeNestedStacks:ChangeSetSummary' :: Maybe Bool
includeNestedStacks = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:rootChangeSetId:ChangeSetSummary' :: Maybe Text
rootChangeSetId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:statusReason:ChangeSetSummary' :: Maybe Text
statusReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:stackId:ChangeSetSummary' :: Maybe Text
stackId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:description:ChangeSetSummary' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:stackName:ChangeSetSummary' :: Maybe Text
stackName = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The start time when the change set was created, in UTC.
changeSetSummary_creationTime :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.UTCTime)
changeSetSummary_creationTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_creationTime = (ChangeSetSummary -> Maybe ISO8601)
-> (ChangeSetSummary -> Maybe ISO8601 -> ChangeSetSummary)
-> Lens
     ChangeSetSummary ChangeSetSummary (Maybe ISO8601) (Maybe ISO8601)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe ISO8601
creationTime :: Maybe ISO8601
$sel:creationTime:ChangeSetSummary' :: ChangeSetSummary -> Maybe ISO8601
creationTime} -> Maybe ISO8601
creationTime) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe ISO8601
a -> ChangeSetSummary
s {$sel:creationTime:ChangeSetSummary' :: Maybe ISO8601
creationTime = Maybe ISO8601
a} :: ChangeSetSummary) ((Maybe ISO8601 -> f (Maybe ISO8601))
 -> ChangeSetSummary -> f ChangeSetSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe ISO8601 -> f (Maybe ISO8601))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> ChangeSetSummary
-> f ChangeSetSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso ISO8601 ISO8601 UTCTime UTCTime
-> Iso
     (Maybe ISO8601) (Maybe ISO8601) (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 ISO8601 ISO8601 UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The state of the change set, such as @CREATE_IN_PROGRESS@,
-- @CREATE_COMPLETE@, or @FAILED@.
changeSetSummary_status :: Lens.Lens' ChangeSetSummary (Prelude.Maybe ChangeSetStatus)
changeSetSummary_status :: (Maybe ChangeSetStatus -> f (Maybe ChangeSetStatus))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_status = (ChangeSetSummary -> Maybe ChangeSetStatus)
-> (ChangeSetSummary -> Maybe ChangeSetStatus -> ChangeSetSummary)
-> Lens
     ChangeSetSummary
     ChangeSetSummary
     (Maybe ChangeSetStatus)
     (Maybe ChangeSetStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe ChangeSetStatus
status :: Maybe ChangeSetStatus
$sel:status:ChangeSetSummary' :: ChangeSetSummary -> Maybe ChangeSetStatus
status} -> Maybe ChangeSetStatus
status) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe ChangeSetStatus
a -> ChangeSetSummary
s {$sel:status:ChangeSetSummary' :: Maybe ChangeSetStatus
status = Maybe ChangeSetStatus
a} :: ChangeSetSummary)

-- | The parent change set ID.
changeSetSummary_parentChangeSetId :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_parentChangeSetId :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_parentChangeSetId = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
parentChangeSetId :: Maybe Text
$sel:parentChangeSetId:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
parentChangeSetId} -> Maybe Text
parentChangeSetId) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:parentChangeSetId:ChangeSetSummary' :: Maybe Text
parentChangeSetId = Maybe Text
a} :: ChangeSetSummary)

-- | The name of the change set.
changeSetSummary_changeSetName :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_changeSetName :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_changeSetName = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
changeSetName :: Maybe Text
$sel:changeSetName:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
changeSetName} -> Maybe Text
changeSetName) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:changeSetName:ChangeSetSummary' :: Maybe Text
changeSetName = Maybe Text
a} :: ChangeSetSummary)

-- | If the change set execution status is @AVAILABLE@, you can execute the
-- change set. If you can’t execute the change set, the status indicates
-- why. For example, a change set might be in an @UNAVAILABLE@ state
-- because CloudFormation is still creating it or in an @OBSOLETE@ state
-- because the stack was already updated.
changeSetSummary_executionStatus :: Lens.Lens' ChangeSetSummary (Prelude.Maybe ExecutionStatus)
changeSetSummary_executionStatus :: (Maybe ExecutionStatus -> f (Maybe ExecutionStatus))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_executionStatus = (ChangeSetSummary -> Maybe ExecutionStatus)
-> (ChangeSetSummary -> Maybe ExecutionStatus -> ChangeSetSummary)
-> Lens
     ChangeSetSummary
     ChangeSetSummary
     (Maybe ExecutionStatus)
     (Maybe ExecutionStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe ExecutionStatus
executionStatus :: Maybe ExecutionStatus
$sel:executionStatus:ChangeSetSummary' :: ChangeSetSummary -> Maybe ExecutionStatus
executionStatus} -> Maybe ExecutionStatus
executionStatus) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe ExecutionStatus
a -> ChangeSetSummary
s {$sel:executionStatus:ChangeSetSummary' :: Maybe ExecutionStatus
executionStatus = Maybe ExecutionStatus
a} :: ChangeSetSummary)

-- | The ID of the change set.
changeSetSummary_changeSetId :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_changeSetId :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_changeSetId = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
changeSetId :: Maybe Text
$sel:changeSetId:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
changeSetId} -> Maybe Text
changeSetId) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:changeSetId:ChangeSetSummary' :: Maybe Text
changeSetId = Maybe Text
a} :: ChangeSetSummary)

-- | Specifies the current setting of @IncludeNestedStacks@ for the change
-- set.
changeSetSummary_includeNestedStacks :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Bool)
changeSetSummary_includeNestedStacks :: (Maybe Bool -> f (Maybe Bool))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_includeNestedStacks = (ChangeSetSummary -> Maybe Bool)
-> (ChangeSetSummary -> Maybe Bool -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Bool
includeNestedStacks :: Maybe Bool
$sel:includeNestedStacks:ChangeSetSummary' :: ChangeSetSummary -> Maybe Bool
includeNestedStacks} -> Maybe Bool
includeNestedStacks) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Bool
a -> ChangeSetSummary
s {$sel:includeNestedStacks:ChangeSetSummary' :: Maybe Bool
includeNestedStacks = Maybe Bool
a} :: ChangeSetSummary)

-- | The root change set ID.
changeSetSummary_rootChangeSetId :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_rootChangeSetId :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_rootChangeSetId = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
rootChangeSetId :: Maybe Text
$sel:rootChangeSetId:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
rootChangeSetId} -> Maybe Text
rootChangeSetId) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:rootChangeSetId:ChangeSetSummary' :: Maybe Text
rootChangeSetId = Maybe Text
a} :: ChangeSetSummary)

-- | A description of the change set\'s status. For example, if your change
-- set is in the @FAILED@ state, CloudFormation shows the error message.
changeSetSummary_statusReason :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_statusReason :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_statusReason = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
statusReason :: Maybe Text
$sel:statusReason:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
statusReason} -> Maybe Text
statusReason) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:statusReason:ChangeSetSummary' :: Maybe Text
statusReason = Maybe Text
a} :: ChangeSetSummary)

-- | The ID of the stack with which the change set is associated.
changeSetSummary_stackId :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_stackId :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_stackId = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
stackId :: Maybe Text
$sel:stackId:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
stackId} -> Maybe Text
stackId) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:stackId:ChangeSetSummary' :: Maybe Text
stackId = Maybe Text
a} :: ChangeSetSummary)

-- | Descriptive information about the change set.
changeSetSummary_description :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_description :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_description = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
description :: Maybe Text
$sel:description:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
description} -> Maybe Text
description) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:description:ChangeSetSummary' :: Maybe Text
description = Maybe Text
a} :: ChangeSetSummary)

-- | The name of the stack with which the change set is associated.
changeSetSummary_stackName :: Lens.Lens' ChangeSetSummary (Prelude.Maybe Prelude.Text)
changeSetSummary_stackName :: (Maybe Text -> f (Maybe Text))
-> ChangeSetSummary -> f ChangeSetSummary
changeSetSummary_stackName = (ChangeSetSummary -> Maybe Text)
-> (ChangeSetSummary -> Maybe Text -> ChangeSetSummary)
-> Lens ChangeSetSummary ChangeSetSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ChangeSetSummary' {Maybe Text
stackName :: Maybe Text
$sel:stackName:ChangeSetSummary' :: ChangeSetSummary -> Maybe Text
stackName} -> Maybe Text
stackName) (\s :: ChangeSetSummary
s@ChangeSetSummary' {} Maybe Text
a -> ChangeSetSummary
s {$sel:stackName:ChangeSetSummary' :: Maybe Text
stackName = Maybe Text
a} :: ChangeSetSummary)

instance Core.FromXML ChangeSetSummary where
  parseXML :: [Node] -> Either String ChangeSetSummary
parseXML [Node]
x =
    Maybe ISO8601
-> Maybe ChangeSetStatus
-> Maybe Text
-> Maybe Text
-> Maybe ExecutionStatus
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ChangeSetSummary
ChangeSetSummary'
      (Maybe ISO8601
 -> Maybe ChangeSetStatus
 -> Maybe Text
 -> Maybe Text
 -> Maybe ExecutionStatus
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> ChangeSetSummary)
-> Either String (Maybe ISO8601)
-> Either
     String
     (Maybe ChangeSetStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe ExecutionStatus
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ChangeSetSummary)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x [Node] -> Text -> Either String (Maybe ISO8601)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"CreationTime")
      Either
  String
  (Maybe ChangeSetStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe ExecutionStatus
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ChangeSetSummary)
-> Either String (Maybe ChangeSetStatus)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe ExecutionStatus
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe ChangeSetStatus)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Status")
      Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe ExecutionStatus
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ChangeSetSummary)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe ExecutionStatus
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"ParentChangeSetId")
      Either
  String
  (Maybe Text
   -> Maybe ExecutionStatus
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ChangeSetSummary)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe ExecutionStatus
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"ChangeSetName")
      Either
  String
  (Maybe ExecutionStatus
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ChangeSetSummary)
-> Either String (Maybe ExecutionStatus)
-> Either
     String
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe ExecutionStatus)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"ExecutionStatus")
      Either
  String
  (Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ChangeSetSummary)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"ChangeSetId")
      Either
  String
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ChangeSetSummary)
-> Either String (Maybe Bool)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Bool)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"IncludeNestedStacks")
      Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ChangeSetSummary)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text -> Maybe Text -> Maybe Text -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"RootChangeSetId")
      Either
  String
  (Maybe Text
   -> Maybe Text -> Maybe Text -> Maybe Text -> ChangeSetSummary)
-> Either String (Maybe Text)
-> Either
     String (Maybe Text -> Maybe Text -> Maybe Text -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"StatusReason")
      Either
  String (Maybe Text -> Maybe Text -> Maybe Text -> ChangeSetSummary)
-> Either String (Maybe Text)
-> Either String (Maybe Text -> Maybe Text -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"StackId")
      Either String (Maybe Text -> Maybe Text -> ChangeSetSummary)
-> Either String (Maybe Text)
-> Either String (Maybe Text -> ChangeSetSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Description")
      Either String (Maybe Text -> ChangeSetSummary)
-> Either String (Maybe Text) -> Either String ChangeSetSummary
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"StackName")

instance Prelude.Hashable ChangeSetSummary

instance Prelude.NFData ChangeSetSummary