{-# 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.EC2.Types.NetworkInsightsAnalysis
-- 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.EC2.Types.NetworkInsightsAnalysis where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Internal
import Amazonka.EC2.Types.AlternatePathHint
import Amazonka.EC2.Types.AnalysisStatus
import Amazonka.EC2.Types.Explanation
import Amazonka.EC2.Types.PathComponent
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude

-- | Describes a network insights analysis.
--
-- /See:/ 'newNetworkInsightsAnalysis' smart constructor.
data NetworkInsightsAnalysis = NetworkInsightsAnalysis'
  { -- | The member accounts that contain resources that the path can traverse.
    NetworkInsightsAnalysis -> Maybe [Text]
additionalAccounts :: Prelude.Maybe [Prelude.Text],
    -- | Potential intermediate components.
    NetworkInsightsAnalysis -> Maybe [AlternatePathHint]
alternatePathHints :: Prelude.Maybe [AlternatePathHint],
    -- | The explanations. For more information, see
    -- <https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html Reachability Analyzer explanation codes>.
    NetworkInsightsAnalysis -> Maybe [Explanation]
explanations :: Prelude.Maybe [Explanation],
    -- | The Amazon Resource Names (ARN) of the Amazon Web Services resources
    -- that the path must traverse.
    NetworkInsightsAnalysis -> Maybe [Text]
filterInArns :: Prelude.Maybe [Prelude.Text],
    -- | The components in the path from source to destination.
    NetworkInsightsAnalysis -> Maybe [PathComponent]
forwardPathComponents :: Prelude.Maybe [PathComponent],
    -- | The Amazon Resource Name (ARN) of the network insights analysis.
    NetworkInsightsAnalysis -> Maybe Text
networkInsightsAnalysisArn :: Prelude.Maybe Prelude.Text,
    -- | The ID of the network insights analysis.
    NetworkInsightsAnalysis -> Maybe Text
networkInsightsAnalysisId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the path.
    NetworkInsightsAnalysis -> Maybe Text
networkInsightsPathId :: Prelude.Maybe Prelude.Text,
    -- | Indicates whether the destination is reachable from the source.
    NetworkInsightsAnalysis -> Maybe Bool
networkPathFound :: Prelude.Maybe Prelude.Bool,
    -- | The components in the path from destination to source.
    NetworkInsightsAnalysis -> Maybe [PathComponent]
returnPathComponents :: Prelude.Maybe [PathComponent],
    -- | The time the analysis started.
    NetworkInsightsAnalysis -> Maybe ISO8601
startDate :: Prelude.Maybe Data.ISO8601,
    -- | The status of the network insights analysis.
    NetworkInsightsAnalysis -> Maybe AnalysisStatus
status :: Prelude.Maybe AnalysisStatus,
    -- | The status message, if the status is @failed@.
    NetworkInsightsAnalysis -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
    -- | Potential intermediate accounts.
    NetworkInsightsAnalysis -> Maybe [Text]
suggestedAccounts :: Prelude.Maybe [Prelude.Text],
    -- | The tags.
    NetworkInsightsAnalysis -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    -- | The warning message.
    NetworkInsightsAnalysis -> Maybe Text
warningMessage :: Prelude.Maybe Prelude.Text
  }
  deriving (NetworkInsightsAnalysis -> NetworkInsightsAnalysis -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NetworkInsightsAnalysis -> NetworkInsightsAnalysis -> Bool
$c/= :: NetworkInsightsAnalysis -> NetworkInsightsAnalysis -> Bool
== :: NetworkInsightsAnalysis -> NetworkInsightsAnalysis -> Bool
$c== :: NetworkInsightsAnalysis -> NetworkInsightsAnalysis -> Bool
Prelude.Eq, ReadPrec [NetworkInsightsAnalysis]
ReadPrec NetworkInsightsAnalysis
Int -> ReadS NetworkInsightsAnalysis
ReadS [NetworkInsightsAnalysis]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [NetworkInsightsAnalysis]
$creadListPrec :: ReadPrec [NetworkInsightsAnalysis]
readPrec :: ReadPrec NetworkInsightsAnalysis
$creadPrec :: ReadPrec NetworkInsightsAnalysis
readList :: ReadS [NetworkInsightsAnalysis]
$creadList :: ReadS [NetworkInsightsAnalysis]
readsPrec :: Int -> ReadS NetworkInsightsAnalysis
$creadsPrec :: Int -> ReadS NetworkInsightsAnalysis
Prelude.Read, Int -> NetworkInsightsAnalysis -> ShowS
[NetworkInsightsAnalysis] -> ShowS
NetworkInsightsAnalysis -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NetworkInsightsAnalysis] -> ShowS
$cshowList :: [NetworkInsightsAnalysis] -> ShowS
show :: NetworkInsightsAnalysis -> String
$cshow :: NetworkInsightsAnalysis -> String
showsPrec :: Int -> NetworkInsightsAnalysis -> ShowS
$cshowsPrec :: Int -> NetworkInsightsAnalysis -> ShowS
Prelude.Show, forall x. Rep NetworkInsightsAnalysis x -> NetworkInsightsAnalysis
forall x. NetworkInsightsAnalysis -> Rep NetworkInsightsAnalysis x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep NetworkInsightsAnalysis x -> NetworkInsightsAnalysis
$cfrom :: forall x. NetworkInsightsAnalysis -> Rep NetworkInsightsAnalysis x
Prelude.Generic)

-- |
-- Create a value of 'NetworkInsightsAnalysis' 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:
--
-- 'additionalAccounts', 'networkInsightsAnalysis_additionalAccounts' - The member accounts that contain resources that the path can traverse.
--
-- 'alternatePathHints', 'networkInsightsAnalysis_alternatePathHints' - Potential intermediate components.
--
-- 'explanations', 'networkInsightsAnalysis_explanations' - The explanations. For more information, see
-- <https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html Reachability Analyzer explanation codes>.
--
-- 'filterInArns', 'networkInsightsAnalysis_filterInArns' - The Amazon Resource Names (ARN) of the Amazon Web Services resources
-- that the path must traverse.
--
-- 'forwardPathComponents', 'networkInsightsAnalysis_forwardPathComponents' - The components in the path from source to destination.
--
-- 'networkInsightsAnalysisArn', 'networkInsightsAnalysis_networkInsightsAnalysisArn' - The Amazon Resource Name (ARN) of the network insights analysis.
--
-- 'networkInsightsAnalysisId', 'networkInsightsAnalysis_networkInsightsAnalysisId' - The ID of the network insights analysis.
--
-- 'networkInsightsPathId', 'networkInsightsAnalysis_networkInsightsPathId' - The ID of the path.
--
-- 'networkPathFound', 'networkInsightsAnalysis_networkPathFound' - Indicates whether the destination is reachable from the source.
--
-- 'returnPathComponents', 'networkInsightsAnalysis_returnPathComponents' - The components in the path from destination to source.
--
-- 'startDate', 'networkInsightsAnalysis_startDate' - The time the analysis started.
--
-- 'status', 'networkInsightsAnalysis_status' - The status of the network insights analysis.
--
-- 'statusMessage', 'networkInsightsAnalysis_statusMessage' - The status message, if the status is @failed@.
--
-- 'suggestedAccounts', 'networkInsightsAnalysis_suggestedAccounts' - Potential intermediate accounts.
--
-- 'tags', 'networkInsightsAnalysis_tags' - The tags.
--
-- 'warningMessage', 'networkInsightsAnalysis_warningMessage' - The warning message.
newNetworkInsightsAnalysis ::
  NetworkInsightsAnalysis
newNetworkInsightsAnalysis :: NetworkInsightsAnalysis
newNetworkInsightsAnalysis =
  NetworkInsightsAnalysis'
    { $sel:additionalAccounts:NetworkInsightsAnalysis' :: Maybe [Text]
additionalAccounts =
        forall a. Maybe a
Prelude.Nothing,
      $sel:alternatePathHints:NetworkInsightsAnalysis' :: Maybe [AlternatePathHint]
alternatePathHints = forall a. Maybe a
Prelude.Nothing,
      $sel:explanations:NetworkInsightsAnalysis' :: Maybe [Explanation]
explanations = forall a. Maybe a
Prelude.Nothing,
      $sel:filterInArns:NetworkInsightsAnalysis' :: Maybe [Text]
filterInArns = forall a. Maybe a
Prelude.Nothing,
      $sel:forwardPathComponents:NetworkInsightsAnalysis' :: Maybe [PathComponent]
forwardPathComponents = forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsAnalysisArn:NetworkInsightsAnalysis' :: Maybe Text
networkInsightsAnalysisArn = forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsAnalysisId:NetworkInsightsAnalysis' :: Maybe Text
networkInsightsAnalysisId = forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsPathId:NetworkInsightsAnalysis' :: Maybe Text
networkInsightsPathId = forall a. Maybe a
Prelude.Nothing,
      $sel:networkPathFound:NetworkInsightsAnalysis' :: Maybe Bool
networkPathFound = forall a. Maybe a
Prelude.Nothing,
      $sel:returnPathComponents:NetworkInsightsAnalysis' :: Maybe [PathComponent]
returnPathComponents = forall a. Maybe a
Prelude.Nothing,
      $sel:startDate:NetworkInsightsAnalysis' :: Maybe ISO8601
startDate = forall a. Maybe a
Prelude.Nothing,
      $sel:status:NetworkInsightsAnalysis' :: Maybe AnalysisStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:statusMessage:NetworkInsightsAnalysis' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
      $sel:suggestedAccounts:NetworkInsightsAnalysis' :: Maybe [Text]
suggestedAccounts = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:NetworkInsightsAnalysis' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:warningMessage:NetworkInsightsAnalysis' :: Maybe Text
warningMessage = forall a. Maybe a
Prelude.Nothing
    }

-- | The member accounts that contain resources that the path can traverse.
networkInsightsAnalysis_additionalAccounts :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [Prelude.Text])
networkInsightsAnalysis_additionalAccounts :: Lens' NetworkInsightsAnalysis (Maybe [Text])
networkInsightsAnalysis_additionalAccounts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [Text]
additionalAccounts :: Maybe [Text]
$sel:additionalAccounts:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
additionalAccounts} -> Maybe [Text]
additionalAccounts) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [Text]
a -> NetworkInsightsAnalysis
s {$sel:additionalAccounts:NetworkInsightsAnalysis' :: Maybe [Text]
additionalAccounts = Maybe [Text]
a} :: NetworkInsightsAnalysis) 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

-- | Potential intermediate components.
networkInsightsAnalysis_alternatePathHints :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [AlternatePathHint])
networkInsightsAnalysis_alternatePathHints :: Lens' NetworkInsightsAnalysis (Maybe [AlternatePathHint])
networkInsightsAnalysis_alternatePathHints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [AlternatePathHint]
alternatePathHints :: Maybe [AlternatePathHint]
$sel:alternatePathHints:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [AlternatePathHint]
alternatePathHints} -> Maybe [AlternatePathHint]
alternatePathHints) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [AlternatePathHint]
a -> NetworkInsightsAnalysis
s {$sel:alternatePathHints:NetworkInsightsAnalysis' :: Maybe [AlternatePathHint]
alternatePathHints = Maybe [AlternatePathHint]
a} :: NetworkInsightsAnalysis) 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 explanations. For more information, see
-- <https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html Reachability Analyzer explanation codes>.
networkInsightsAnalysis_explanations :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [Explanation])
networkInsightsAnalysis_explanations :: Lens' NetworkInsightsAnalysis (Maybe [Explanation])
networkInsightsAnalysis_explanations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [Explanation]
explanations :: Maybe [Explanation]
$sel:explanations:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Explanation]
explanations} -> Maybe [Explanation]
explanations) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [Explanation]
a -> NetworkInsightsAnalysis
s {$sel:explanations:NetworkInsightsAnalysis' :: Maybe [Explanation]
explanations = Maybe [Explanation]
a} :: NetworkInsightsAnalysis) 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 Amazon Resource Names (ARN) of the Amazon Web Services resources
-- that the path must traverse.
networkInsightsAnalysis_filterInArns :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [Prelude.Text])
networkInsightsAnalysis_filterInArns :: Lens' NetworkInsightsAnalysis (Maybe [Text])
networkInsightsAnalysis_filterInArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [Text]
filterInArns :: Maybe [Text]
$sel:filterInArns:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
filterInArns} -> Maybe [Text]
filterInArns) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [Text]
a -> NetworkInsightsAnalysis
s {$sel:filterInArns:NetworkInsightsAnalysis' :: Maybe [Text]
filterInArns = Maybe [Text]
a} :: NetworkInsightsAnalysis) 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 components in the path from source to destination.
networkInsightsAnalysis_forwardPathComponents :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [PathComponent])
networkInsightsAnalysis_forwardPathComponents :: Lens' NetworkInsightsAnalysis (Maybe [PathComponent])
networkInsightsAnalysis_forwardPathComponents = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [PathComponent]
forwardPathComponents :: Maybe [PathComponent]
$sel:forwardPathComponents:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [PathComponent]
forwardPathComponents} -> Maybe [PathComponent]
forwardPathComponents) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [PathComponent]
a -> NetworkInsightsAnalysis
s {$sel:forwardPathComponents:NetworkInsightsAnalysis' :: Maybe [PathComponent]
forwardPathComponents = Maybe [PathComponent]
a} :: NetworkInsightsAnalysis) 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 Amazon Resource Name (ARN) of the network insights analysis.
networkInsightsAnalysis_networkInsightsAnalysisArn :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAnalysis_networkInsightsAnalysisArn :: Lens' NetworkInsightsAnalysis (Maybe Text)
networkInsightsAnalysis_networkInsightsAnalysisArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe Text
networkInsightsAnalysisArn :: Maybe Text
$sel:networkInsightsAnalysisArn:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
networkInsightsAnalysisArn} -> Maybe Text
networkInsightsAnalysisArn) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe Text
a -> NetworkInsightsAnalysis
s {$sel:networkInsightsAnalysisArn:NetworkInsightsAnalysis' :: Maybe Text
networkInsightsAnalysisArn = Maybe Text
a} :: NetworkInsightsAnalysis)

-- | The ID of the network insights analysis.
networkInsightsAnalysis_networkInsightsAnalysisId :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAnalysis_networkInsightsAnalysisId :: Lens' NetworkInsightsAnalysis (Maybe Text)
networkInsightsAnalysis_networkInsightsAnalysisId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe Text
networkInsightsAnalysisId :: Maybe Text
$sel:networkInsightsAnalysisId:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
networkInsightsAnalysisId} -> Maybe Text
networkInsightsAnalysisId) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe Text
a -> NetworkInsightsAnalysis
s {$sel:networkInsightsAnalysisId:NetworkInsightsAnalysis' :: Maybe Text
networkInsightsAnalysisId = Maybe Text
a} :: NetworkInsightsAnalysis)

-- | The ID of the path.
networkInsightsAnalysis_networkInsightsPathId :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAnalysis_networkInsightsPathId :: Lens' NetworkInsightsAnalysis (Maybe Text)
networkInsightsAnalysis_networkInsightsPathId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe Text
networkInsightsPathId :: Maybe Text
$sel:networkInsightsPathId:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
networkInsightsPathId} -> Maybe Text
networkInsightsPathId) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe Text
a -> NetworkInsightsAnalysis
s {$sel:networkInsightsPathId:NetworkInsightsAnalysis' :: Maybe Text
networkInsightsPathId = Maybe Text
a} :: NetworkInsightsAnalysis)

-- | Indicates whether the destination is reachable from the source.
networkInsightsAnalysis_networkPathFound :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe Prelude.Bool)
networkInsightsAnalysis_networkPathFound :: Lens' NetworkInsightsAnalysis (Maybe Bool)
networkInsightsAnalysis_networkPathFound = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe Bool
networkPathFound :: Maybe Bool
$sel:networkPathFound:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Bool
networkPathFound} -> Maybe Bool
networkPathFound) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe Bool
a -> NetworkInsightsAnalysis
s {$sel:networkPathFound:NetworkInsightsAnalysis' :: Maybe Bool
networkPathFound = Maybe Bool
a} :: NetworkInsightsAnalysis)

-- | The components in the path from destination to source.
networkInsightsAnalysis_returnPathComponents :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [PathComponent])
networkInsightsAnalysis_returnPathComponents :: Lens' NetworkInsightsAnalysis (Maybe [PathComponent])
networkInsightsAnalysis_returnPathComponents = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [PathComponent]
returnPathComponents :: Maybe [PathComponent]
$sel:returnPathComponents:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [PathComponent]
returnPathComponents} -> Maybe [PathComponent]
returnPathComponents) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [PathComponent]
a -> NetworkInsightsAnalysis
s {$sel:returnPathComponents:NetworkInsightsAnalysis' :: Maybe [PathComponent]
returnPathComponents = Maybe [PathComponent]
a} :: NetworkInsightsAnalysis) 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 time the analysis started.
networkInsightsAnalysis_startDate :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe Prelude.UTCTime)
networkInsightsAnalysis_startDate :: Lens' NetworkInsightsAnalysis (Maybe UTCTime)
networkInsightsAnalysis_startDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe ISO8601
startDate :: Maybe ISO8601
$sel:startDate:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe ISO8601
startDate} -> Maybe ISO8601
startDate) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe ISO8601
a -> NetworkInsightsAnalysis
s {$sel:startDate:NetworkInsightsAnalysis' :: Maybe ISO8601
startDate = Maybe ISO8601
a} :: NetworkInsightsAnalysis) 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 network insights analysis.
networkInsightsAnalysis_status :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe AnalysisStatus)
networkInsightsAnalysis_status :: Lens' NetworkInsightsAnalysis (Maybe AnalysisStatus)
networkInsightsAnalysis_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe AnalysisStatus
status :: Maybe AnalysisStatus
$sel:status:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe AnalysisStatus
status} -> Maybe AnalysisStatus
status) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe AnalysisStatus
a -> NetworkInsightsAnalysis
s {$sel:status:NetworkInsightsAnalysis' :: Maybe AnalysisStatus
status = Maybe AnalysisStatus
a} :: NetworkInsightsAnalysis)

-- | The status message, if the status is @failed@.
networkInsightsAnalysis_statusMessage :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAnalysis_statusMessage :: Lens' NetworkInsightsAnalysis (Maybe Text)
networkInsightsAnalysis_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe Text
a -> NetworkInsightsAnalysis
s {$sel:statusMessage:NetworkInsightsAnalysis' :: Maybe Text
statusMessage = Maybe Text
a} :: NetworkInsightsAnalysis)

-- | Potential intermediate accounts.
networkInsightsAnalysis_suggestedAccounts :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [Prelude.Text])
networkInsightsAnalysis_suggestedAccounts :: Lens' NetworkInsightsAnalysis (Maybe [Text])
networkInsightsAnalysis_suggestedAccounts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [Text]
suggestedAccounts :: Maybe [Text]
$sel:suggestedAccounts:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
suggestedAccounts} -> Maybe [Text]
suggestedAccounts) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [Text]
a -> NetworkInsightsAnalysis
s {$sel:suggestedAccounts:NetworkInsightsAnalysis' :: Maybe [Text]
suggestedAccounts = Maybe [Text]
a} :: NetworkInsightsAnalysis) 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 tags.
networkInsightsAnalysis_tags :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe [Tag])
networkInsightsAnalysis_tags :: Lens' NetworkInsightsAnalysis (Maybe [Tag])
networkInsightsAnalysis_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe [Tag]
a -> NetworkInsightsAnalysis
s {$sel:tags:NetworkInsightsAnalysis' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: NetworkInsightsAnalysis) 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 warning message.
networkInsightsAnalysis_warningMessage :: Lens.Lens' NetworkInsightsAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAnalysis_warningMessage :: Lens' NetworkInsightsAnalysis (Maybe Text)
networkInsightsAnalysis_warningMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAnalysis' {Maybe Text
warningMessage :: Maybe Text
$sel:warningMessage:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
warningMessage} -> Maybe Text
warningMessage) (\s :: NetworkInsightsAnalysis
s@NetworkInsightsAnalysis' {} Maybe Text
a -> NetworkInsightsAnalysis
s {$sel:warningMessage:NetworkInsightsAnalysis' :: Maybe Text
warningMessage = Maybe Text
a} :: NetworkInsightsAnalysis)

instance Data.FromXML NetworkInsightsAnalysis where
  parseXML :: [Node] -> Either String NetworkInsightsAnalysis
parseXML [Node]
x =
    Maybe [Text]
-> Maybe [AlternatePathHint]
-> Maybe [Explanation]
-> Maybe [Text]
-> Maybe [PathComponent]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe [PathComponent]
-> Maybe ISO8601
-> Maybe AnalysisStatus
-> Maybe Text
-> Maybe [Text]
-> Maybe [Tag]
-> Maybe Text
-> NetworkInsightsAnalysis
NetworkInsightsAnalysis'
      forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"additionalAccountSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"alternatePathHintSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"explanationSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"filterInArnSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"forwardPathComponentSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"networkInsightsAnalysisArn")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"networkInsightsAnalysisId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"networkInsightsPathId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"networkPathFound")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"returnPathComponentSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"startDate")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"status")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"statusMessage")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"suggestedAccountSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"tagSet"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"item")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"warningMessage")

instance Prelude.Hashable NetworkInsightsAnalysis where
  hashWithSalt :: Int -> NetworkInsightsAnalysis -> Int
hashWithSalt Int
_salt NetworkInsightsAnalysis' {Maybe Bool
Maybe [Text]
Maybe [AlternatePathHint]
Maybe [Tag]
Maybe [Explanation]
Maybe [PathComponent]
Maybe Text
Maybe ISO8601
Maybe AnalysisStatus
warningMessage :: Maybe Text
tags :: Maybe [Tag]
suggestedAccounts :: Maybe [Text]
statusMessage :: Maybe Text
status :: Maybe AnalysisStatus
startDate :: Maybe ISO8601
returnPathComponents :: Maybe [PathComponent]
networkPathFound :: Maybe Bool
networkInsightsPathId :: Maybe Text
networkInsightsAnalysisId :: Maybe Text
networkInsightsAnalysisArn :: Maybe Text
forwardPathComponents :: Maybe [PathComponent]
filterInArns :: Maybe [Text]
explanations :: Maybe [Explanation]
alternatePathHints :: Maybe [AlternatePathHint]
additionalAccounts :: Maybe [Text]
$sel:warningMessage:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:tags:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Tag]
$sel:suggestedAccounts:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
$sel:statusMessage:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:status:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe AnalysisStatus
$sel:startDate:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe ISO8601
$sel:returnPathComponents:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [PathComponent]
$sel:networkPathFound:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Bool
$sel:networkInsightsPathId:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:networkInsightsAnalysisId:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:networkInsightsAnalysisArn:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:forwardPathComponents:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [PathComponent]
$sel:filterInArns:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
$sel:explanations:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Explanation]
$sel:alternatePathHints:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [AlternatePathHint]
$sel:additionalAccounts:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
additionalAccounts
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [AlternatePathHint]
alternatePathHints
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Explanation]
explanations
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
filterInArns
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PathComponent]
forwardPathComponents
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkInsightsAnalysisArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkInsightsAnalysisId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkInsightsPathId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
networkPathFound
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PathComponent]
returnPathComponents
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
startDate
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AnalysisStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
statusMessage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
suggestedAccounts
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
warningMessage

instance Prelude.NFData NetworkInsightsAnalysis where
  rnf :: NetworkInsightsAnalysis -> ()
rnf NetworkInsightsAnalysis' {Maybe Bool
Maybe [Text]
Maybe [AlternatePathHint]
Maybe [Tag]
Maybe [Explanation]
Maybe [PathComponent]
Maybe Text
Maybe ISO8601
Maybe AnalysisStatus
warningMessage :: Maybe Text
tags :: Maybe [Tag]
suggestedAccounts :: Maybe [Text]
statusMessage :: Maybe Text
status :: Maybe AnalysisStatus
startDate :: Maybe ISO8601
returnPathComponents :: Maybe [PathComponent]
networkPathFound :: Maybe Bool
networkInsightsPathId :: Maybe Text
networkInsightsAnalysisId :: Maybe Text
networkInsightsAnalysisArn :: Maybe Text
forwardPathComponents :: Maybe [PathComponent]
filterInArns :: Maybe [Text]
explanations :: Maybe [Explanation]
alternatePathHints :: Maybe [AlternatePathHint]
additionalAccounts :: Maybe [Text]
$sel:warningMessage:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:tags:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Tag]
$sel:suggestedAccounts:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
$sel:statusMessage:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:status:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe AnalysisStatus
$sel:startDate:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe ISO8601
$sel:returnPathComponents:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [PathComponent]
$sel:networkPathFound:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Bool
$sel:networkInsightsPathId:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:networkInsightsAnalysisId:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:networkInsightsAnalysisArn:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe Text
$sel:forwardPathComponents:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [PathComponent]
$sel:filterInArns:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
$sel:explanations:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Explanation]
$sel:alternatePathHints:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [AlternatePathHint]
$sel:additionalAccounts:NetworkInsightsAnalysis' :: NetworkInsightsAnalysis -> Maybe [Text]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
additionalAccounts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [AlternatePathHint]
alternatePathHints
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Explanation]
explanations
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
filterInArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PathComponent]
forwardPathComponents
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
networkInsightsAnalysisArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
networkInsightsAnalysisId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
networkInsightsPathId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
networkPathFound
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PathComponent]
returnPathComponents
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
startDate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusMessage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
suggestedAccounts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
warningMessage