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

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

-- |
-- Module      : Amazonka.EC2.GetNetworkInsightsAccessScopeAnalysisFindings
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the findings for the specified Network Access Scope analysis.
module Amazonka.EC2.GetNetworkInsightsAccessScopeAnalysisFindings
  ( -- * Creating a Request
    GetNetworkInsightsAccessScopeAnalysisFindings (..),
    newGetNetworkInsightsAccessScopeAnalysisFindings,

    -- * Request Lenses
    getNetworkInsightsAccessScopeAnalysisFindings_dryRun,
    getNetworkInsightsAccessScopeAnalysisFindings_maxResults,
    getNetworkInsightsAccessScopeAnalysisFindings_nextToken,
    getNetworkInsightsAccessScopeAnalysisFindings_networkInsightsAccessScopeAnalysisId,

    -- * Destructuring the Response
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse (..),
    newGetNetworkInsightsAccessScopeAnalysisFindingsResponse,

    -- * Response Lenses
    getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisFindings,
    getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisStatus,
    getNetworkInsightsAccessScopeAnalysisFindingsResponse_networkInsightsAccessScopeAnalysisId,
    getNetworkInsightsAccessScopeAnalysisFindingsResponse_nextToken,
    getNetworkInsightsAccessScopeAnalysisFindingsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newGetNetworkInsightsAccessScopeAnalysisFindings' smart constructor.
data GetNetworkInsightsAccessScopeAnalysisFindings = GetNetworkInsightsAccessScopeAnalysisFindings'
  { -- | Checks whether you have the required permissions for the action, without
    -- actually making the request, and provides an error response. If you have
    -- the required permissions, the error response is @DryRunOperation@.
    -- Otherwise, it is @UnauthorizedOperation@.
    GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The maximum number of results to return with a single call. To retrieve
    -- the remaining results, make another call with the returned @nextToken@
    -- value.
    GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The token for the next page of results.
    GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The ID of the Network Access Scope analysis.
    GetNetworkInsightsAccessScopeAnalysisFindings -> Text
networkInsightsAccessScopeAnalysisId :: Prelude.Text
  }
  deriving (GetNetworkInsightsAccessScopeAnalysisFindings
-> GetNetworkInsightsAccessScopeAnalysisFindings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetNetworkInsightsAccessScopeAnalysisFindings
-> GetNetworkInsightsAccessScopeAnalysisFindings -> Bool
$c/= :: GetNetworkInsightsAccessScopeAnalysisFindings
-> GetNetworkInsightsAccessScopeAnalysisFindings -> Bool
== :: GetNetworkInsightsAccessScopeAnalysisFindings
-> GetNetworkInsightsAccessScopeAnalysisFindings -> Bool
$c== :: GetNetworkInsightsAccessScopeAnalysisFindings
-> GetNetworkInsightsAccessScopeAnalysisFindings -> Bool
Prelude.Eq, ReadPrec [GetNetworkInsightsAccessScopeAnalysisFindings]
ReadPrec GetNetworkInsightsAccessScopeAnalysisFindings
Int -> ReadS GetNetworkInsightsAccessScopeAnalysisFindings
ReadS [GetNetworkInsightsAccessScopeAnalysisFindings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetNetworkInsightsAccessScopeAnalysisFindings]
$creadListPrec :: ReadPrec [GetNetworkInsightsAccessScopeAnalysisFindings]
readPrec :: ReadPrec GetNetworkInsightsAccessScopeAnalysisFindings
$creadPrec :: ReadPrec GetNetworkInsightsAccessScopeAnalysisFindings
readList :: ReadS [GetNetworkInsightsAccessScopeAnalysisFindings]
$creadList :: ReadS [GetNetworkInsightsAccessScopeAnalysisFindings]
readsPrec :: Int -> ReadS GetNetworkInsightsAccessScopeAnalysisFindings
$creadsPrec :: Int -> ReadS GetNetworkInsightsAccessScopeAnalysisFindings
Prelude.Read, Int -> GetNetworkInsightsAccessScopeAnalysisFindings -> ShowS
[GetNetworkInsightsAccessScopeAnalysisFindings] -> ShowS
GetNetworkInsightsAccessScopeAnalysisFindings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetNetworkInsightsAccessScopeAnalysisFindings] -> ShowS
$cshowList :: [GetNetworkInsightsAccessScopeAnalysisFindings] -> ShowS
show :: GetNetworkInsightsAccessScopeAnalysisFindings -> String
$cshow :: GetNetworkInsightsAccessScopeAnalysisFindings -> String
showsPrec :: Int -> GetNetworkInsightsAccessScopeAnalysisFindings -> ShowS
$cshowsPrec :: Int -> GetNetworkInsightsAccessScopeAnalysisFindings -> ShowS
Prelude.Show, forall x.
Rep GetNetworkInsightsAccessScopeAnalysisFindings x
-> GetNetworkInsightsAccessScopeAnalysisFindings
forall x.
GetNetworkInsightsAccessScopeAnalysisFindings
-> Rep GetNetworkInsightsAccessScopeAnalysisFindings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetNetworkInsightsAccessScopeAnalysisFindings x
-> GetNetworkInsightsAccessScopeAnalysisFindings
$cfrom :: forall x.
GetNetworkInsightsAccessScopeAnalysisFindings
-> Rep GetNetworkInsightsAccessScopeAnalysisFindings x
Prelude.Generic)

-- |
-- Create a value of 'GetNetworkInsightsAccessScopeAnalysisFindings' 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:
--
-- 'dryRun', 'getNetworkInsightsAccessScopeAnalysisFindings_dryRun' - Checks whether you have the required permissions for the action, without
-- actually making the request, and provides an error response. If you have
-- the required permissions, the error response is @DryRunOperation@.
-- Otherwise, it is @UnauthorizedOperation@.
--
-- 'maxResults', 'getNetworkInsightsAccessScopeAnalysisFindings_maxResults' - The maximum number of results to return with a single call. To retrieve
-- the remaining results, make another call with the returned @nextToken@
-- value.
--
-- 'nextToken', 'getNetworkInsightsAccessScopeAnalysisFindings_nextToken' - The token for the next page of results.
--
-- 'networkInsightsAccessScopeAnalysisId', 'getNetworkInsightsAccessScopeAnalysisFindings_networkInsightsAccessScopeAnalysisId' - The ID of the Network Access Scope analysis.
newGetNetworkInsightsAccessScopeAnalysisFindings ::
  -- | 'networkInsightsAccessScopeAnalysisId'
  Prelude.Text ->
  GetNetworkInsightsAccessScopeAnalysisFindings
newGetNetworkInsightsAccessScopeAnalysisFindings :: Text -> GetNetworkInsightsAccessScopeAnalysisFindings
newGetNetworkInsightsAccessScopeAnalysisFindings
  Text
pNetworkInsightsAccessScopeAnalysisId_ =
    GetNetworkInsightsAccessScopeAnalysisFindings'
      { $sel:dryRun:GetNetworkInsightsAccessScopeAnalysisFindings' :: Maybe Bool
dryRun =
          forall a. Maybe a
Prelude.Nothing,
        $sel:maxResults:GetNetworkInsightsAccessScopeAnalysisFindings' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindings' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
        $sel:networkInsightsAccessScopeAnalysisId:GetNetworkInsightsAccessScopeAnalysisFindings' :: Text
networkInsightsAccessScopeAnalysisId =
          Text
pNetworkInsightsAccessScopeAnalysisId_
      }

-- | Checks whether you have the required permissions for the action, without
-- actually making the request, and provides an error response. If you have
-- the required permissions, the error response is @DryRunOperation@.
-- Otherwise, it is @UnauthorizedOperation@.
getNetworkInsightsAccessScopeAnalysisFindings_dryRun :: Lens.Lens' GetNetworkInsightsAccessScopeAnalysisFindings (Prelude.Maybe Prelude.Bool)
getNetworkInsightsAccessScopeAnalysisFindings_dryRun :: Lens' GetNetworkInsightsAccessScopeAnalysisFindings (Maybe Bool)
getNetworkInsightsAccessScopeAnalysisFindings_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetNetworkInsightsAccessScopeAnalysisFindings' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: GetNetworkInsightsAccessScopeAnalysisFindings
s@GetNetworkInsightsAccessScopeAnalysisFindings' {} Maybe Bool
a -> GetNetworkInsightsAccessScopeAnalysisFindings
s {$sel:dryRun:GetNetworkInsightsAccessScopeAnalysisFindings' :: Maybe Bool
dryRun = Maybe Bool
a} :: GetNetworkInsightsAccessScopeAnalysisFindings)

-- | The maximum number of results to return with a single call. To retrieve
-- the remaining results, make another call with the returned @nextToken@
-- value.
getNetworkInsightsAccessScopeAnalysisFindings_maxResults :: Lens.Lens' GetNetworkInsightsAccessScopeAnalysisFindings (Prelude.Maybe Prelude.Natural)
getNetworkInsightsAccessScopeAnalysisFindings_maxResults :: Lens' GetNetworkInsightsAccessScopeAnalysisFindings (Maybe Natural)
getNetworkInsightsAccessScopeAnalysisFindings_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetNetworkInsightsAccessScopeAnalysisFindings' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetNetworkInsightsAccessScopeAnalysisFindings
s@GetNetworkInsightsAccessScopeAnalysisFindings' {} Maybe Natural
a -> GetNetworkInsightsAccessScopeAnalysisFindings
s {$sel:maxResults:GetNetworkInsightsAccessScopeAnalysisFindings' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetNetworkInsightsAccessScopeAnalysisFindings)

-- | The token for the next page of results.
getNetworkInsightsAccessScopeAnalysisFindings_nextToken :: Lens.Lens' GetNetworkInsightsAccessScopeAnalysisFindings (Prelude.Maybe Prelude.Text)
getNetworkInsightsAccessScopeAnalysisFindings_nextToken :: Lens' GetNetworkInsightsAccessScopeAnalysisFindings (Maybe Text)
getNetworkInsightsAccessScopeAnalysisFindings_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetNetworkInsightsAccessScopeAnalysisFindings' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetNetworkInsightsAccessScopeAnalysisFindings
s@GetNetworkInsightsAccessScopeAnalysisFindings' {} Maybe Text
a -> GetNetworkInsightsAccessScopeAnalysisFindings
s {$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindings' :: Maybe Text
nextToken = Maybe Text
a} :: GetNetworkInsightsAccessScopeAnalysisFindings)

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

instance
  Core.AWSRequest
    GetNetworkInsightsAccessScopeAnalysisFindings
  where
  type
    AWSResponse
      GetNetworkInsightsAccessScopeAnalysisFindings =
      GetNetworkInsightsAccessScopeAnalysisFindingsResponse
  request :: (Service -> Service)
-> GetNetworkInsightsAccessScopeAnalysisFindings
-> Request GetNetworkInsightsAccessScopeAnalysisFindings
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetNetworkInsightsAccessScopeAnalysisFindings
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse GetNetworkInsightsAccessScopeAnalysisFindings)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe [AccessScopeAnalysisFinding]
-> Maybe AnalysisStatus
-> Maybe Text
-> Maybe Text
-> Int
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse
GetNetworkInsightsAccessScopeAnalysisFindingsResponse'
            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
"analysisFindingSet"
                            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
"analysisStatus")
            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
"nextToken")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance
  Prelude.Hashable
    GetNetworkInsightsAccessScopeAnalysisFindings
  where
  hashWithSalt :: Int -> GetNetworkInsightsAccessScopeAnalysisFindings -> Int
hashWithSalt
    Int
_salt
    GetNetworkInsightsAccessScopeAnalysisFindings' {Maybe Bool
Maybe Natural
Maybe Text
Text
networkInsightsAccessScopeAnalysisId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
dryRun :: Maybe Bool
$sel:networkInsightsAccessScopeAnalysisId:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Text
$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Text
$sel:maxResults:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Natural
$sel:dryRun:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Bool
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
networkInsightsAccessScopeAnalysisId

instance
  Prelude.NFData
    GetNetworkInsightsAccessScopeAnalysisFindings
  where
  rnf :: GetNetworkInsightsAccessScopeAnalysisFindings -> ()
rnf
    GetNetworkInsightsAccessScopeAnalysisFindings' {Maybe Bool
Maybe Natural
Maybe Text
Text
networkInsightsAccessScopeAnalysisId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
dryRun :: Maybe Bool
$sel:networkInsightsAccessScopeAnalysisId:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Text
$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Text
$sel:maxResults:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Natural
$sel:dryRun:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Bool
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
networkInsightsAccessScopeAnalysisId

instance
  Data.ToHeaders
    GetNetworkInsightsAccessScopeAnalysisFindings
  where
  toHeaders :: GetNetworkInsightsAccessScopeAnalysisFindings -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

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

instance
  Data.ToQuery
    GetNetworkInsightsAccessScopeAnalysisFindings
  where
  toQuery :: GetNetworkInsightsAccessScopeAnalysisFindings -> QueryString
toQuery
    GetNetworkInsightsAccessScopeAnalysisFindings' {Maybe Bool
Maybe Natural
Maybe Text
Text
networkInsightsAccessScopeAnalysisId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
dryRun :: Maybe Bool
$sel:networkInsightsAccessScopeAnalysisId:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Text
$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Text
$sel:maxResults:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Natural
$sel:dryRun:GetNetworkInsightsAccessScopeAnalysisFindings' :: GetNetworkInsightsAccessScopeAnalysisFindings -> Maybe Bool
..} =
      forall a. Monoid a => [a] -> a
Prelude.mconcat
        [ ByteString
"Action"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"GetNetworkInsightsAccessScopeAnalysisFindings" ::
                        Prelude.ByteString
                    ),
          ByteString
"Version"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
          ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
          ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
          ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
          ByteString
"NetworkInsightsAccessScopeAnalysisId"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
networkInsightsAccessScopeAnalysisId
        ]

-- | /See:/ 'newGetNetworkInsightsAccessScopeAnalysisFindingsResponse' smart constructor.
data GetNetworkInsightsAccessScopeAnalysisFindingsResponse = GetNetworkInsightsAccessScopeAnalysisFindingsResponse'
  { -- | The findings associated with Network Access Scope Analysis.
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Maybe [AccessScopeAnalysisFinding]
analysisFindings :: Prelude.Maybe [AccessScopeAnalysisFinding],
    -- | The status of Network Access Scope Analysis.
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Maybe AnalysisStatus
analysisStatus :: Prelude.Maybe AnalysisStatus,
    -- | The ID of the Network Access Scope analysis.
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Maybe Text
networkInsightsAccessScopeAnalysisId :: Prelude.Maybe Prelude.Text,
    -- | The token to use to retrieve the next page of results. This value is
    -- @null@ when there are no more results to return.
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Bool
$c/= :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Bool
== :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Bool
$c== :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Bool
Prelude.Eq, ReadPrec [GetNetworkInsightsAccessScopeAnalysisFindingsResponse]
ReadPrec GetNetworkInsightsAccessScopeAnalysisFindingsResponse
Int -> ReadS GetNetworkInsightsAccessScopeAnalysisFindingsResponse
ReadS [GetNetworkInsightsAccessScopeAnalysisFindingsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetNetworkInsightsAccessScopeAnalysisFindingsResponse]
$creadListPrec :: ReadPrec [GetNetworkInsightsAccessScopeAnalysisFindingsResponse]
readPrec :: ReadPrec GetNetworkInsightsAccessScopeAnalysisFindingsResponse
$creadPrec :: ReadPrec GetNetworkInsightsAccessScopeAnalysisFindingsResponse
readList :: ReadS [GetNetworkInsightsAccessScopeAnalysisFindingsResponse]
$creadList :: ReadS [GetNetworkInsightsAccessScopeAnalysisFindingsResponse]
readsPrec :: Int -> ReadS GetNetworkInsightsAccessScopeAnalysisFindingsResponse
$creadsPrec :: Int -> ReadS GetNetworkInsightsAccessScopeAnalysisFindingsResponse
Prelude.Read, Int
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> ShowS
[GetNetworkInsightsAccessScopeAnalysisFindingsResponse] -> ShowS
GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetNetworkInsightsAccessScopeAnalysisFindingsResponse] -> ShowS
$cshowList :: [GetNetworkInsightsAccessScopeAnalysisFindingsResponse] -> ShowS
show :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> String
$cshow :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> String
showsPrec :: Int
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> ShowS
$cshowsPrec :: Int
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> ShowS
Prelude.Show, forall x.
Rep GetNetworkInsightsAccessScopeAnalysisFindingsResponse x
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse
forall x.
GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Rep GetNetworkInsightsAccessScopeAnalysisFindingsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetNetworkInsightsAccessScopeAnalysisFindingsResponse x
-> GetNetworkInsightsAccessScopeAnalysisFindingsResponse
$cfrom :: forall x.
GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Rep GetNetworkInsightsAccessScopeAnalysisFindingsResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetNetworkInsightsAccessScopeAnalysisFindingsResponse' 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:
--
-- 'analysisFindings', 'getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisFindings' - The findings associated with Network Access Scope Analysis.
--
-- 'analysisStatus', 'getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisStatus' - The status of Network Access Scope Analysis.
--
-- 'networkInsightsAccessScopeAnalysisId', 'getNetworkInsightsAccessScopeAnalysisFindingsResponse_networkInsightsAccessScopeAnalysisId' - The ID of the Network Access Scope analysis.
--
-- 'nextToken', 'getNetworkInsightsAccessScopeAnalysisFindingsResponse_nextToken' - The token to use to retrieve the next page of results. This value is
-- @null@ when there are no more results to return.
--
-- 'httpStatus', 'getNetworkInsightsAccessScopeAnalysisFindingsResponse_httpStatus' - The response's http status code.
newGetNetworkInsightsAccessScopeAnalysisFindingsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetNetworkInsightsAccessScopeAnalysisFindingsResponse
newGetNetworkInsightsAccessScopeAnalysisFindingsResponse :: Int -> GetNetworkInsightsAccessScopeAnalysisFindingsResponse
newGetNetworkInsightsAccessScopeAnalysisFindingsResponse
  Int
pHttpStatus_ =
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse'
      { $sel:analysisFindings:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Maybe [AccessScopeAnalysisFinding]
analysisFindings =
          forall a. Maybe a
Prelude.Nothing,
        $sel:analysisStatus:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Maybe AnalysisStatus
analysisStatus =
          forall a. Maybe a
Prelude.Nothing,
        $sel:networkInsightsAccessScopeAnalysisId:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Maybe Text
networkInsightsAccessScopeAnalysisId =
          forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Maybe Text
nextToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | The findings associated with Network Access Scope Analysis.
getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisFindings :: Lens.Lens' GetNetworkInsightsAccessScopeAnalysisFindingsResponse (Prelude.Maybe [AccessScopeAnalysisFinding])
getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisFindings :: Lens'
  GetNetworkInsightsAccessScopeAnalysisFindingsResponse
  (Maybe [AccessScopeAnalysisFinding])
getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisFindings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetNetworkInsightsAccessScopeAnalysisFindingsResponse' {Maybe [AccessScopeAnalysisFinding]
analysisFindings :: Maybe [AccessScopeAnalysisFinding]
$sel:analysisFindings:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Maybe [AccessScopeAnalysisFinding]
analysisFindings} -> Maybe [AccessScopeAnalysisFinding]
analysisFindings) (\s :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
s@GetNetworkInsightsAccessScopeAnalysisFindingsResponse' {} Maybe [AccessScopeAnalysisFinding]
a -> GetNetworkInsightsAccessScopeAnalysisFindingsResponse
s {$sel:analysisFindings:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Maybe [AccessScopeAnalysisFinding]
analysisFindings = Maybe [AccessScopeAnalysisFinding]
a} :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The status of Network Access Scope Analysis.
getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisStatus :: Lens.Lens' GetNetworkInsightsAccessScopeAnalysisFindingsResponse (Prelude.Maybe AnalysisStatus)
getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisStatus :: Lens'
  GetNetworkInsightsAccessScopeAnalysisFindingsResponse
  (Maybe AnalysisStatus)
getNetworkInsightsAccessScopeAnalysisFindingsResponse_analysisStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetNetworkInsightsAccessScopeAnalysisFindingsResponse' {Maybe AnalysisStatus
analysisStatus :: Maybe AnalysisStatus
$sel:analysisStatus:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Maybe AnalysisStatus
analysisStatus} -> Maybe AnalysisStatus
analysisStatus) (\s :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
s@GetNetworkInsightsAccessScopeAnalysisFindingsResponse' {} Maybe AnalysisStatus
a -> GetNetworkInsightsAccessScopeAnalysisFindingsResponse
s {$sel:analysisStatus:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Maybe AnalysisStatus
analysisStatus = Maybe AnalysisStatus
a} :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse)

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

-- | The token to use to retrieve the next page of results. This value is
-- @null@ when there are no more results to return.
getNetworkInsightsAccessScopeAnalysisFindingsResponse_nextToken :: Lens.Lens' GetNetworkInsightsAccessScopeAnalysisFindingsResponse (Prelude.Maybe Prelude.Text)
getNetworkInsightsAccessScopeAnalysisFindingsResponse_nextToken :: Lens'
  GetNetworkInsightsAccessScopeAnalysisFindingsResponse (Maybe Text)
getNetworkInsightsAccessScopeAnalysisFindingsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetNetworkInsightsAccessScopeAnalysisFindingsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
s@GetNetworkInsightsAccessScopeAnalysisFindingsResponse' {} Maybe Text
a -> GetNetworkInsightsAccessScopeAnalysisFindingsResponse
s {$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse)

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

instance
  Prelude.NFData
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse
  where
  rnf :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> ()
rnf
    GetNetworkInsightsAccessScopeAnalysisFindingsResponse' {Int
Maybe [AccessScopeAnalysisFinding]
Maybe Text
Maybe AnalysisStatus
httpStatus :: Int
nextToken :: Maybe Text
networkInsightsAccessScopeAnalysisId :: Maybe Text
analysisStatus :: Maybe AnalysisStatus
analysisFindings :: Maybe [AccessScopeAnalysisFinding]
$sel:httpStatus:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Int
$sel:nextToken:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisId:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse -> Maybe Text
$sel:analysisStatus:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Maybe AnalysisStatus
$sel:analysisFindings:GetNetworkInsightsAccessScopeAnalysisFindingsResponse' :: GetNetworkInsightsAccessScopeAnalysisFindingsResponse
-> Maybe [AccessScopeAnalysisFinding]
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Maybe [AccessScopeAnalysisFinding]
analysisFindings
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AnalysisStatus
analysisStatus
        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
nextToken
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus