{-# 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.NetworkInsightsAccessScopeAnalysis
-- 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.NetworkInsightsAccessScopeAnalysis 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.AnalysisStatus
import Amazonka.EC2.Types.FindingsFound
import Amazonka.EC2.Types.Tag
import qualified Amazonka.Prelude as Prelude

-- | Describes a Network Access Scope analysis.
--
-- /See:/ 'newNetworkInsightsAccessScopeAnalysis' smart constructor.
data NetworkInsightsAccessScopeAnalysis = NetworkInsightsAccessScopeAnalysis'
  { -- | The number of network interfaces analyzed.
    NetworkInsightsAccessScopeAnalysis -> Maybe Int
analyzedEniCount :: Prelude.Maybe Prelude.Int,
    -- | The analysis end date.
    NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
endDate :: Prelude.Maybe Data.ISO8601,
    -- | Indicates whether there are findings.
    NetworkInsightsAccessScopeAnalysis -> Maybe FindingsFound
findingsFound :: Prelude.Maybe FindingsFound,
    -- | The Amazon Resource Name (ARN) of the Network Access Scope analysis.
    NetworkInsightsAccessScopeAnalysis -> Maybe Text
networkInsightsAccessScopeAnalysisArn :: Prelude.Maybe Prelude.Text,
    -- | The ID of the Network Access Scope analysis.
    NetworkInsightsAccessScopeAnalysis -> Maybe Text
networkInsightsAccessScopeAnalysisId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the Network Access Scope.
    NetworkInsightsAccessScopeAnalysis -> Maybe Text
networkInsightsAccessScopeId :: Prelude.Maybe Prelude.Text,
    -- | The analysis start date.
    NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
startDate :: Prelude.Maybe Data.ISO8601,
    -- | The status.
    NetworkInsightsAccessScopeAnalysis -> Maybe AnalysisStatus
status :: Prelude.Maybe AnalysisStatus,
    -- | The status message.
    NetworkInsightsAccessScopeAnalysis -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
    -- | The tags.
    NetworkInsightsAccessScopeAnalysis -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    -- | The warning message.
    NetworkInsightsAccessScopeAnalysis -> Maybe Text
warningMessage :: Prelude.Maybe Prelude.Text
  }
  deriving (NetworkInsightsAccessScopeAnalysis
-> NetworkInsightsAccessScopeAnalysis -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NetworkInsightsAccessScopeAnalysis
-> NetworkInsightsAccessScopeAnalysis -> Bool
$c/= :: NetworkInsightsAccessScopeAnalysis
-> NetworkInsightsAccessScopeAnalysis -> Bool
== :: NetworkInsightsAccessScopeAnalysis
-> NetworkInsightsAccessScopeAnalysis -> Bool
$c== :: NetworkInsightsAccessScopeAnalysis
-> NetworkInsightsAccessScopeAnalysis -> Bool
Prelude.Eq, ReadPrec [NetworkInsightsAccessScopeAnalysis]
ReadPrec NetworkInsightsAccessScopeAnalysis
Int -> ReadS NetworkInsightsAccessScopeAnalysis
ReadS [NetworkInsightsAccessScopeAnalysis]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [NetworkInsightsAccessScopeAnalysis]
$creadListPrec :: ReadPrec [NetworkInsightsAccessScopeAnalysis]
readPrec :: ReadPrec NetworkInsightsAccessScopeAnalysis
$creadPrec :: ReadPrec NetworkInsightsAccessScopeAnalysis
readList :: ReadS [NetworkInsightsAccessScopeAnalysis]
$creadList :: ReadS [NetworkInsightsAccessScopeAnalysis]
readsPrec :: Int -> ReadS NetworkInsightsAccessScopeAnalysis
$creadsPrec :: Int -> ReadS NetworkInsightsAccessScopeAnalysis
Prelude.Read, Int -> NetworkInsightsAccessScopeAnalysis -> ShowS
[NetworkInsightsAccessScopeAnalysis] -> ShowS
NetworkInsightsAccessScopeAnalysis -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NetworkInsightsAccessScopeAnalysis] -> ShowS
$cshowList :: [NetworkInsightsAccessScopeAnalysis] -> ShowS
show :: NetworkInsightsAccessScopeAnalysis -> String
$cshow :: NetworkInsightsAccessScopeAnalysis -> String
showsPrec :: Int -> NetworkInsightsAccessScopeAnalysis -> ShowS
$cshowsPrec :: Int -> NetworkInsightsAccessScopeAnalysis -> ShowS
Prelude.Show, forall x.
Rep NetworkInsightsAccessScopeAnalysis x
-> NetworkInsightsAccessScopeAnalysis
forall x.
NetworkInsightsAccessScopeAnalysis
-> Rep NetworkInsightsAccessScopeAnalysis x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep NetworkInsightsAccessScopeAnalysis x
-> NetworkInsightsAccessScopeAnalysis
$cfrom :: forall x.
NetworkInsightsAccessScopeAnalysis
-> Rep NetworkInsightsAccessScopeAnalysis x
Prelude.Generic)

-- |
-- Create a value of 'NetworkInsightsAccessScopeAnalysis' 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:
--
-- 'analyzedEniCount', 'networkInsightsAccessScopeAnalysis_analyzedEniCount' - The number of network interfaces analyzed.
--
-- 'endDate', 'networkInsightsAccessScopeAnalysis_endDate' - The analysis end date.
--
-- 'findingsFound', 'networkInsightsAccessScopeAnalysis_findingsFound' - Indicates whether there are findings.
--
-- 'networkInsightsAccessScopeAnalysisArn', 'networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisArn' - The Amazon Resource Name (ARN) of the Network Access Scope analysis.
--
-- 'networkInsightsAccessScopeAnalysisId', 'networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisId' - The ID of the Network Access Scope analysis.
--
-- 'networkInsightsAccessScopeId', 'networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeId' - The ID of the Network Access Scope.
--
-- 'startDate', 'networkInsightsAccessScopeAnalysis_startDate' - The analysis start date.
--
-- 'status', 'networkInsightsAccessScopeAnalysis_status' - The status.
--
-- 'statusMessage', 'networkInsightsAccessScopeAnalysis_statusMessage' - The status message.
--
-- 'tags', 'networkInsightsAccessScopeAnalysis_tags' - The tags.
--
-- 'warningMessage', 'networkInsightsAccessScopeAnalysis_warningMessage' - The warning message.
newNetworkInsightsAccessScopeAnalysis ::
  NetworkInsightsAccessScopeAnalysis
newNetworkInsightsAccessScopeAnalysis :: NetworkInsightsAccessScopeAnalysis
newNetworkInsightsAccessScopeAnalysis =
  NetworkInsightsAccessScopeAnalysis'
    { $sel:analyzedEniCount:NetworkInsightsAccessScopeAnalysis' :: Maybe Int
analyzedEniCount =
        forall a. Maybe a
Prelude.Nothing,
      $sel:endDate:NetworkInsightsAccessScopeAnalysis' :: Maybe ISO8601
endDate = forall a. Maybe a
Prelude.Nothing,
      $sel:findingsFound:NetworkInsightsAccessScopeAnalysis' :: Maybe FindingsFound
findingsFound = forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsAccessScopeAnalysisArn:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
networkInsightsAccessScopeAnalysisArn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsAccessScopeAnalysisId:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
networkInsightsAccessScopeAnalysisId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsAccessScopeId:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
networkInsightsAccessScopeId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:startDate:NetworkInsightsAccessScopeAnalysis' :: Maybe ISO8601
startDate = forall a. Maybe a
Prelude.Nothing,
      $sel:status:NetworkInsightsAccessScopeAnalysis' :: Maybe AnalysisStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:statusMessage:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:NetworkInsightsAccessScopeAnalysis' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:warningMessage:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
warningMessage = forall a. Maybe a
Prelude.Nothing
    }

-- | The number of network interfaces analyzed.
networkInsightsAccessScopeAnalysis_analyzedEniCount :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.Int)
networkInsightsAccessScopeAnalysis_analyzedEniCount :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe Int)
networkInsightsAccessScopeAnalysis_analyzedEniCount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe Int
analyzedEniCount :: Maybe Int
$sel:analyzedEniCount:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Int
analyzedEniCount} -> Maybe Int
analyzedEniCount) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe Int
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:analyzedEniCount:NetworkInsightsAccessScopeAnalysis' :: Maybe Int
analyzedEniCount = Maybe Int
a} :: NetworkInsightsAccessScopeAnalysis)

-- | The analysis end date.
networkInsightsAccessScopeAnalysis_endDate :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.UTCTime)
networkInsightsAccessScopeAnalysis_endDate :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe UTCTime)
networkInsightsAccessScopeAnalysis_endDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe ISO8601
endDate :: Maybe ISO8601
$sel:endDate:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
endDate} -> Maybe ISO8601
endDate) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe ISO8601
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:endDate:NetworkInsightsAccessScopeAnalysis' :: Maybe ISO8601
endDate = Maybe ISO8601
a} :: NetworkInsightsAccessScopeAnalysis) 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

-- | Indicates whether there are findings.
networkInsightsAccessScopeAnalysis_findingsFound :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe FindingsFound)
networkInsightsAccessScopeAnalysis_findingsFound :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe FindingsFound)
networkInsightsAccessScopeAnalysis_findingsFound = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe FindingsFound
findingsFound :: Maybe FindingsFound
$sel:findingsFound:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe FindingsFound
findingsFound} -> Maybe FindingsFound
findingsFound) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe FindingsFound
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:findingsFound:NetworkInsightsAccessScopeAnalysis' :: Maybe FindingsFound
findingsFound = Maybe FindingsFound
a} :: NetworkInsightsAccessScopeAnalysis)

-- | The Amazon Resource Name (ARN) of the Network Access Scope analysis.
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisArn :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisArn :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe Text)
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe Text
networkInsightsAccessScopeAnalysisArn :: Maybe Text
$sel:networkInsightsAccessScopeAnalysisArn:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
networkInsightsAccessScopeAnalysisArn} -> Maybe Text
networkInsightsAccessScopeAnalysisArn) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe Text
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:networkInsightsAccessScopeAnalysisArn:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
networkInsightsAccessScopeAnalysisArn = Maybe Text
a} :: NetworkInsightsAccessScopeAnalysis)

-- | The ID of the Network Access Scope analysis.
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisId :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisId :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe Text)
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeAnalysisId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe Text
networkInsightsAccessScopeAnalysisId :: Maybe Text
$sel:networkInsightsAccessScopeAnalysisId:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
networkInsightsAccessScopeAnalysisId} -> Maybe Text
networkInsightsAccessScopeAnalysisId) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe Text
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:networkInsightsAccessScopeAnalysisId:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
networkInsightsAccessScopeAnalysisId = Maybe Text
a} :: NetworkInsightsAccessScopeAnalysis)

-- | The ID of the Network Access Scope.
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeId :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeId :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe Text)
networkInsightsAccessScopeAnalysis_networkInsightsAccessScopeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe Text
networkInsightsAccessScopeId :: Maybe Text
$sel:networkInsightsAccessScopeId:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
networkInsightsAccessScopeId} -> Maybe Text
networkInsightsAccessScopeId) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe Text
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:networkInsightsAccessScopeId:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
networkInsightsAccessScopeId = Maybe Text
a} :: NetworkInsightsAccessScopeAnalysis)

-- | The analysis start date.
networkInsightsAccessScopeAnalysis_startDate :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.UTCTime)
networkInsightsAccessScopeAnalysis_startDate :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe UTCTime)
networkInsightsAccessScopeAnalysis_startDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe ISO8601
startDate :: Maybe ISO8601
$sel:startDate:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
startDate} -> Maybe ISO8601
startDate) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe ISO8601
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:startDate:NetworkInsightsAccessScopeAnalysis' :: Maybe ISO8601
startDate = Maybe ISO8601
a} :: NetworkInsightsAccessScopeAnalysis) 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.
networkInsightsAccessScopeAnalysis_status :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe AnalysisStatus)
networkInsightsAccessScopeAnalysis_status :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe AnalysisStatus)
networkInsightsAccessScopeAnalysis_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe AnalysisStatus
status :: Maybe AnalysisStatus
$sel:status:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe AnalysisStatus
status} -> Maybe AnalysisStatus
status) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe AnalysisStatus
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:status:NetworkInsightsAccessScopeAnalysis' :: Maybe AnalysisStatus
status = Maybe AnalysisStatus
a} :: NetworkInsightsAccessScopeAnalysis)

-- | The status message.
networkInsightsAccessScopeAnalysis_statusMessage :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAccessScopeAnalysis_statusMessage :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe Text)
networkInsightsAccessScopeAnalysis_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe Text
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:statusMessage:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
statusMessage = Maybe Text
a} :: NetworkInsightsAccessScopeAnalysis)

-- | The tags.
networkInsightsAccessScopeAnalysis_tags :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe [Tag])
networkInsightsAccessScopeAnalysis_tags :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe [Tag])
networkInsightsAccessScopeAnalysis_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe [Tag]
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:tags:NetworkInsightsAccessScopeAnalysis' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: NetworkInsightsAccessScopeAnalysis) 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.
networkInsightsAccessScopeAnalysis_warningMessage :: Lens.Lens' NetworkInsightsAccessScopeAnalysis (Prelude.Maybe Prelude.Text)
networkInsightsAccessScopeAnalysis_warningMessage :: Lens' NetworkInsightsAccessScopeAnalysis (Maybe Text)
networkInsightsAccessScopeAnalysis_warningMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NetworkInsightsAccessScopeAnalysis' {Maybe Text
warningMessage :: Maybe Text
$sel:warningMessage:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
warningMessage} -> Maybe Text
warningMessage) (\s :: NetworkInsightsAccessScopeAnalysis
s@NetworkInsightsAccessScopeAnalysis' {} Maybe Text
a -> NetworkInsightsAccessScopeAnalysis
s {$sel:warningMessage:NetworkInsightsAccessScopeAnalysis' :: Maybe Text
warningMessage = Maybe Text
a} :: NetworkInsightsAccessScopeAnalysis)

instance
  Data.FromXML
    NetworkInsightsAccessScopeAnalysis
  where
  parseXML :: [Node] -> Either String NetworkInsightsAccessScopeAnalysis
parseXML [Node]
x =
    Maybe Int
-> Maybe ISO8601
-> Maybe FindingsFound
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ISO8601
-> Maybe AnalysisStatus
-> Maybe Text
-> Maybe [Tag]
-> Maybe Text
-> NetworkInsightsAccessScopeAnalysis
NetworkInsightsAccessScopeAnalysis'
      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
"analyzedEniCount")
      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
"endDate")
      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
"findingsFound")
      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
"networkInsightsAccessScopeAnalysisArn")
      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
"networkInsightsAccessScopeAnalysisId")
      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
"networkInsightsAccessScopeId")
      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
"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
    NetworkInsightsAccessScopeAnalysis
  where
  hashWithSalt :: Int -> NetworkInsightsAccessScopeAnalysis -> Int
hashWithSalt
    Int
_salt
    NetworkInsightsAccessScopeAnalysis' {Maybe Int
Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe AnalysisStatus
Maybe FindingsFound
warningMessage :: Maybe Text
tags :: Maybe [Tag]
statusMessage :: Maybe Text
status :: Maybe AnalysisStatus
startDate :: Maybe ISO8601
networkInsightsAccessScopeId :: Maybe Text
networkInsightsAccessScopeAnalysisId :: Maybe Text
networkInsightsAccessScopeAnalysisArn :: Maybe Text
findingsFound :: Maybe FindingsFound
endDate :: Maybe ISO8601
analyzedEniCount :: Maybe Int
$sel:warningMessage:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:tags:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe [Tag]
$sel:statusMessage:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:status:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe AnalysisStatus
$sel:startDate:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
$sel:networkInsightsAccessScopeId:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisId:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisArn:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:findingsFound:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe FindingsFound
$sel:endDate:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
$sel:analyzedEniCount:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Int
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
analyzedEniCount
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
endDate
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FindingsFound
findingsFound
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkInsightsAccessScopeAnalysisArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkInsightsAccessScopeAnalysisId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkInsightsAccessScopeId
        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 [Tag]
tags
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
warningMessage

instance
  Prelude.NFData
    NetworkInsightsAccessScopeAnalysis
  where
  rnf :: NetworkInsightsAccessScopeAnalysis -> ()
rnf NetworkInsightsAccessScopeAnalysis' {Maybe Int
Maybe [Tag]
Maybe Text
Maybe ISO8601
Maybe AnalysisStatus
Maybe FindingsFound
warningMessage :: Maybe Text
tags :: Maybe [Tag]
statusMessage :: Maybe Text
status :: Maybe AnalysisStatus
startDate :: Maybe ISO8601
networkInsightsAccessScopeId :: Maybe Text
networkInsightsAccessScopeAnalysisId :: Maybe Text
networkInsightsAccessScopeAnalysisArn :: Maybe Text
findingsFound :: Maybe FindingsFound
endDate :: Maybe ISO8601
analyzedEniCount :: Maybe Int
$sel:warningMessage:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:tags:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe [Tag]
$sel:statusMessage:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:status:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe AnalysisStatus
$sel:startDate:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
$sel:networkInsightsAccessScopeId:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisId:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisArn:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Text
$sel:findingsFound:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe FindingsFound
$sel:endDate:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe ISO8601
$sel:analyzedEniCount:NetworkInsightsAccessScopeAnalysis' :: NetworkInsightsAccessScopeAnalysis -> Maybe Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
analyzedEniCount
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
endDate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FindingsFound
findingsFound
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
networkInsightsAccessScopeAnalysisArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
networkInsightsAccessScopeAnalysisId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
networkInsightsAccessScopeId
      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 [Tag]
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
warningMessage