{-# 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.DescribeNetworkInsightsAccessScopeAnalyses
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes the specified Network Access Scope analyses.
--
-- This operation returns paginated results.
module Amazonka.EC2.DescribeNetworkInsightsAccessScopeAnalyses
  ( -- * Creating a Request
    DescribeNetworkInsightsAccessScopeAnalyses (..),
    newDescribeNetworkInsightsAccessScopeAnalyses,

    -- * Request Lenses
    describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeBegin,
    describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeEnd,
    describeNetworkInsightsAccessScopeAnalyses_dryRun,
    describeNetworkInsightsAccessScopeAnalyses_filters,
    describeNetworkInsightsAccessScopeAnalyses_maxResults,
    describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeAnalysisIds,
    describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeId,
    describeNetworkInsightsAccessScopeAnalyses_nextToken,

    -- * Destructuring the Response
    DescribeNetworkInsightsAccessScopeAnalysesResponse (..),
    newDescribeNetworkInsightsAccessScopeAnalysesResponse,

    -- * Response Lenses
    describeNetworkInsightsAccessScopeAnalysesResponse_networkInsightsAccessScopeAnalyses,
    describeNetworkInsightsAccessScopeAnalysesResponse_nextToken,
    describeNetworkInsightsAccessScopeAnalysesResponse_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:/ 'newDescribeNetworkInsightsAccessScopeAnalyses' smart constructor.
data DescribeNetworkInsightsAccessScopeAnalyses = DescribeNetworkInsightsAccessScopeAnalyses'
  { -- | Filters the results based on the start time. The analysis must have
    -- started on or after this time.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
analysisStartTimeBegin :: Prelude.Maybe Data.ISO8601,
    -- | Filters the results based on the start time. The analysis must have
    -- started on or before this time.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
analysisStartTimeEnd :: Prelude.Maybe Data.ISO8601,
    -- | 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@.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | There are no supported filters.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Filter]
filters :: Prelude.Maybe [Filter],
    -- | The maximum number of results to return with a single call. To retrieve
    -- the remaining results, make another call with the returned @nextToken@
    -- value.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The IDs of the Network Access Scope analyses.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Text]
networkInsightsAccessScopeAnalysisIds :: Prelude.Maybe [Prelude.Text],
    -- | The ID of the Network Access Scope.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
networkInsightsAccessScopeId :: Prelude.Maybe Prelude.Text,
    -- | The token for the next page of results.
    DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
  }
  deriving (DescribeNetworkInsightsAccessScopeAnalyses
-> DescribeNetworkInsightsAccessScopeAnalyses -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeNetworkInsightsAccessScopeAnalyses
-> DescribeNetworkInsightsAccessScopeAnalyses -> Bool
$c/= :: DescribeNetworkInsightsAccessScopeAnalyses
-> DescribeNetworkInsightsAccessScopeAnalyses -> Bool
== :: DescribeNetworkInsightsAccessScopeAnalyses
-> DescribeNetworkInsightsAccessScopeAnalyses -> Bool
$c== :: DescribeNetworkInsightsAccessScopeAnalyses
-> DescribeNetworkInsightsAccessScopeAnalyses -> Bool
Prelude.Eq, ReadPrec [DescribeNetworkInsightsAccessScopeAnalyses]
ReadPrec DescribeNetworkInsightsAccessScopeAnalyses
Int -> ReadS DescribeNetworkInsightsAccessScopeAnalyses
ReadS [DescribeNetworkInsightsAccessScopeAnalyses]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeNetworkInsightsAccessScopeAnalyses]
$creadListPrec :: ReadPrec [DescribeNetworkInsightsAccessScopeAnalyses]
readPrec :: ReadPrec DescribeNetworkInsightsAccessScopeAnalyses
$creadPrec :: ReadPrec DescribeNetworkInsightsAccessScopeAnalyses
readList :: ReadS [DescribeNetworkInsightsAccessScopeAnalyses]
$creadList :: ReadS [DescribeNetworkInsightsAccessScopeAnalyses]
readsPrec :: Int -> ReadS DescribeNetworkInsightsAccessScopeAnalyses
$creadsPrec :: Int -> ReadS DescribeNetworkInsightsAccessScopeAnalyses
Prelude.Read, Int -> DescribeNetworkInsightsAccessScopeAnalyses -> ShowS
[DescribeNetworkInsightsAccessScopeAnalyses] -> ShowS
DescribeNetworkInsightsAccessScopeAnalyses -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeNetworkInsightsAccessScopeAnalyses] -> ShowS
$cshowList :: [DescribeNetworkInsightsAccessScopeAnalyses] -> ShowS
show :: DescribeNetworkInsightsAccessScopeAnalyses -> String
$cshow :: DescribeNetworkInsightsAccessScopeAnalyses -> String
showsPrec :: Int -> DescribeNetworkInsightsAccessScopeAnalyses -> ShowS
$cshowsPrec :: Int -> DescribeNetworkInsightsAccessScopeAnalyses -> ShowS
Prelude.Show, forall x.
Rep DescribeNetworkInsightsAccessScopeAnalyses x
-> DescribeNetworkInsightsAccessScopeAnalyses
forall x.
DescribeNetworkInsightsAccessScopeAnalyses
-> Rep DescribeNetworkInsightsAccessScopeAnalyses x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeNetworkInsightsAccessScopeAnalyses x
-> DescribeNetworkInsightsAccessScopeAnalyses
$cfrom :: forall x.
DescribeNetworkInsightsAccessScopeAnalyses
-> Rep DescribeNetworkInsightsAccessScopeAnalyses x
Prelude.Generic)

-- |
-- Create a value of 'DescribeNetworkInsightsAccessScopeAnalyses' 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:
--
-- 'analysisStartTimeBegin', 'describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeBegin' - Filters the results based on the start time. The analysis must have
-- started on or after this time.
--
-- 'analysisStartTimeEnd', 'describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeEnd' - Filters the results based on the start time. The analysis must have
-- started on or before this time.
--
-- 'dryRun', 'describeNetworkInsightsAccessScopeAnalyses_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@.
--
-- 'filters', 'describeNetworkInsightsAccessScopeAnalyses_filters' - There are no supported filters.
--
-- 'maxResults', 'describeNetworkInsightsAccessScopeAnalyses_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.
--
-- 'networkInsightsAccessScopeAnalysisIds', 'describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeAnalysisIds' - The IDs of the Network Access Scope analyses.
--
-- 'networkInsightsAccessScopeId', 'describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeId' - The ID of the Network Access Scope.
--
-- 'nextToken', 'describeNetworkInsightsAccessScopeAnalyses_nextToken' - The token for the next page of results.
newDescribeNetworkInsightsAccessScopeAnalyses ::
  DescribeNetworkInsightsAccessScopeAnalyses
newDescribeNetworkInsightsAccessScopeAnalyses :: DescribeNetworkInsightsAccessScopeAnalyses
newDescribeNetworkInsightsAccessScopeAnalyses =
  DescribeNetworkInsightsAccessScopeAnalyses'
    { $sel:analysisStartTimeBegin:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe ISO8601
analysisStartTimeBegin =
        forall a. Maybe a
Prelude.Nothing,
      $sel:analysisStartTimeEnd:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe ISO8601
analysisStartTimeEnd =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dryRun:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
      $sel:filters:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe [Filter]
filters = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsAccessScopeAnalysisIds:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe [Text]
networkInsightsAccessScopeAnalysisIds =
        forall a. Maybe a
Prelude.Nothing,
      $sel:networkInsightsAccessScopeId:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe Text
networkInsightsAccessScopeId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
    }

-- | Filters the results based on the start time. The analysis must have
-- started on or after this time.
describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeBegin :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalyses (Prelude.Maybe Prelude.UTCTime)
describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeBegin :: Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe UTCTime)
describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeBegin = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalyses' {Maybe ISO8601
analysisStartTimeBegin :: Maybe ISO8601
$sel:analysisStartTimeBegin:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
analysisStartTimeBegin} -> Maybe ISO8601
analysisStartTimeBegin) (\s :: DescribeNetworkInsightsAccessScopeAnalyses
s@DescribeNetworkInsightsAccessScopeAnalyses' {} Maybe ISO8601
a -> DescribeNetworkInsightsAccessScopeAnalyses
s {$sel:analysisStartTimeBegin:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe ISO8601
analysisStartTimeBegin = Maybe ISO8601
a} :: DescribeNetworkInsightsAccessScopeAnalyses) 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

-- | Filters the results based on the start time. The analysis must have
-- started on or before this time.
describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeEnd :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalyses (Prelude.Maybe Prelude.UTCTime)
describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeEnd :: Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe UTCTime)
describeNetworkInsightsAccessScopeAnalyses_analysisStartTimeEnd = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalyses' {Maybe ISO8601
analysisStartTimeEnd :: Maybe ISO8601
$sel:analysisStartTimeEnd:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
analysisStartTimeEnd} -> Maybe ISO8601
analysisStartTimeEnd) (\s :: DescribeNetworkInsightsAccessScopeAnalyses
s@DescribeNetworkInsightsAccessScopeAnalyses' {} Maybe ISO8601
a -> DescribeNetworkInsightsAccessScopeAnalyses
s {$sel:analysisStartTimeEnd:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe ISO8601
analysisStartTimeEnd = Maybe ISO8601
a} :: DescribeNetworkInsightsAccessScopeAnalyses) 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

-- | 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@.
describeNetworkInsightsAccessScopeAnalyses_dryRun :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalyses (Prelude.Maybe Prelude.Bool)
describeNetworkInsightsAccessScopeAnalyses_dryRun :: Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe Bool)
describeNetworkInsightsAccessScopeAnalyses_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalyses' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: DescribeNetworkInsightsAccessScopeAnalyses
s@DescribeNetworkInsightsAccessScopeAnalyses' {} Maybe Bool
a -> DescribeNetworkInsightsAccessScopeAnalyses
s {$sel:dryRun:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe Bool
dryRun = Maybe Bool
a} :: DescribeNetworkInsightsAccessScopeAnalyses)

-- | There are no supported filters.
describeNetworkInsightsAccessScopeAnalyses_filters :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalyses (Prelude.Maybe [Filter])
describeNetworkInsightsAccessScopeAnalyses_filters :: Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe [Filter])
describeNetworkInsightsAccessScopeAnalyses_filters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalyses' {Maybe [Filter]
filters :: Maybe [Filter]
$sel:filters:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Filter]
filters} -> Maybe [Filter]
filters) (\s :: DescribeNetworkInsightsAccessScopeAnalyses
s@DescribeNetworkInsightsAccessScopeAnalyses' {} Maybe [Filter]
a -> DescribeNetworkInsightsAccessScopeAnalyses
s {$sel:filters:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe [Filter]
filters = Maybe [Filter]
a} :: DescribeNetworkInsightsAccessScopeAnalyses) 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 maximum number of results to return with a single call. To retrieve
-- the remaining results, make another call with the returned @nextToken@
-- value.
describeNetworkInsightsAccessScopeAnalyses_maxResults :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalyses (Prelude.Maybe Prelude.Natural)
describeNetworkInsightsAccessScopeAnalyses_maxResults :: Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe Natural)
describeNetworkInsightsAccessScopeAnalyses_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalyses' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeNetworkInsightsAccessScopeAnalyses
s@DescribeNetworkInsightsAccessScopeAnalyses' {} Maybe Natural
a -> DescribeNetworkInsightsAccessScopeAnalyses
s {$sel:maxResults:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeNetworkInsightsAccessScopeAnalyses)

-- | The IDs of the Network Access Scope analyses.
describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeAnalysisIds :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalyses (Prelude.Maybe [Prelude.Text])
describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeAnalysisIds :: Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe [Text])
describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeAnalysisIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalyses' {Maybe [Text]
networkInsightsAccessScopeAnalysisIds :: Maybe [Text]
$sel:networkInsightsAccessScopeAnalysisIds:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Text]
networkInsightsAccessScopeAnalysisIds} -> Maybe [Text]
networkInsightsAccessScopeAnalysisIds) (\s :: DescribeNetworkInsightsAccessScopeAnalyses
s@DescribeNetworkInsightsAccessScopeAnalyses' {} Maybe [Text]
a -> DescribeNetworkInsightsAccessScopeAnalyses
s {$sel:networkInsightsAccessScopeAnalysisIds:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe [Text]
networkInsightsAccessScopeAnalysisIds = Maybe [Text]
a} :: DescribeNetworkInsightsAccessScopeAnalyses) 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 ID of the Network Access Scope.
describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeId :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalyses (Prelude.Maybe Prelude.Text)
describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeId :: Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe Text)
describeNetworkInsightsAccessScopeAnalyses_networkInsightsAccessScopeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalyses' {Maybe Text
networkInsightsAccessScopeId :: Maybe Text
$sel:networkInsightsAccessScopeId:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
networkInsightsAccessScopeId} -> Maybe Text
networkInsightsAccessScopeId) (\s :: DescribeNetworkInsightsAccessScopeAnalyses
s@DescribeNetworkInsightsAccessScopeAnalyses' {} Maybe Text
a -> DescribeNetworkInsightsAccessScopeAnalyses
s {$sel:networkInsightsAccessScopeId:DescribeNetworkInsightsAccessScopeAnalyses' :: Maybe Text
networkInsightsAccessScopeId = Maybe Text
a} :: DescribeNetworkInsightsAccessScopeAnalyses)

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

instance
  Core.AWSPager
    DescribeNetworkInsightsAccessScopeAnalyses
  where
  page :: DescribeNetworkInsightsAccessScopeAnalyses
-> AWSResponse DescribeNetworkInsightsAccessScopeAnalyses
-> Maybe DescribeNetworkInsightsAccessScopeAnalyses
page DescribeNetworkInsightsAccessScopeAnalyses
rq AWSResponse DescribeNetworkInsightsAccessScopeAnalyses
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse DescribeNetworkInsightsAccessScopeAnalyses
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  DescribeNetworkInsightsAccessScopeAnalysesResponse (Maybe Text)
describeNetworkInsightsAccessScopeAnalysesResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse DescribeNetworkInsightsAccessScopeAnalyses
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  DescribeNetworkInsightsAccessScopeAnalysesResponse
  (Maybe [NetworkInsightsAccessScopeAnalysis])
describeNetworkInsightsAccessScopeAnalysesResponse_networkInsightsAccessScopeAnalyses
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ DescribeNetworkInsightsAccessScopeAnalyses
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeNetworkInsightsAccessScopeAnalyses (Maybe Text)
describeNetworkInsightsAccessScopeAnalyses_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeNetworkInsightsAccessScopeAnalyses
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  DescribeNetworkInsightsAccessScopeAnalysesResponse (Maybe Text)
describeNetworkInsightsAccessScopeAnalysesResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance
  Core.AWSRequest
    DescribeNetworkInsightsAccessScopeAnalyses
  where
  type
    AWSResponse
      DescribeNetworkInsightsAccessScopeAnalyses =
      DescribeNetworkInsightsAccessScopeAnalysesResponse
  request :: (Service -> Service)
-> DescribeNetworkInsightsAccessScopeAnalyses
-> Request DescribeNetworkInsightsAccessScopeAnalyses
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 DescribeNetworkInsightsAccessScopeAnalyses
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DescribeNetworkInsightsAccessScopeAnalyses)))
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 [NetworkInsightsAccessScopeAnalysis]
-> Maybe Text
-> Int
-> DescribeNetworkInsightsAccessScopeAnalysesResponse
DescribeNetworkInsightsAccessScopeAnalysesResponse'
            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
"networkInsightsAccessScopeAnalysisSet"
                            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
"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
    DescribeNetworkInsightsAccessScopeAnalyses
  where
  hashWithSalt :: Int -> DescribeNetworkInsightsAccessScopeAnalyses -> Int
hashWithSalt
    Int
_salt
    DescribeNetworkInsightsAccessScopeAnalyses' {Maybe Bool
Maybe Natural
Maybe [Text]
Maybe [Filter]
Maybe Text
Maybe ISO8601
nextToken :: Maybe Text
networkInsightsAccessScopeId :: Maybe Text
networkInsightsAccessScopeAnalysisIds :: Maybe [Text]
maxResults :: Maybe Natural
filters :: Maybe [Filter]
dryRun :: Maybe Bool
analysisStartTimeEnd :: Maybe ISO8601
analysisStartTimeBegin :: Maybe ISO8601
$sel:nextToken:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
$sel:networkInsightsAccessScopeId:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisIds:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Text]
$sel:maxResults:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Natural
$sel:filters:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Filter]
$sel:dryRun:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Bool
$sel:analysisStartTimeEnd:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
$sel:analysisStartTimeBegin:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
analysisStartTimeBegin
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
analysisStartTimeEnd
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Filter]
filters
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
networkInsightsAccessScopeAnalysisIds
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkInsightsAccessScopeId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken

instance
  Prelude.NFData
    DescribeNetworkInsightsAccessScopeAnalyses
  where
  rnf :: DescribeNetworkInsightsAccessScopeAnalyses -> ()
rnf DescribeNetworkInsightsAccessScopeAnalyses' {Maybe Bool
Maybe Natural
Maybe [Text]
Maybe [Filter]
Maybe Text
Maybe ISO8601
nextToken :: Maybe Text
networkInsightsAccessScopeId :: Maybe Text
networkInsightsAccessScopeAnalysisIds :: Maybe [Text]
maxResults :: Maybe Natural
filters :: Maybe [Filter]
dryRun :: Maybe Bool
analysisStartTimeEnd :: Maybe ISO8601
analysisStartTimeBegin :: Maybe ISO8601
$sel:nextToken:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
$sel:networkInsightsAccessScopeId:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisIds:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Text]
$sel:maxResults:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Natural
$sel:filters:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Filter]
$sel:dryRun:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Bool
$sel:analysisStartTimeEnd:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
$sel:analysisStartTimeBegin:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
analysisStartTimeBegin
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
analysisStartTimeEnd
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 [Filter]
filters
      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]
networkInsightsAccessScopeAnalysisIds
      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 Text
nextToken

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

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

instance
  Data.ToQuery
    DescribeNetworkInsightsAccessScopeAnalyses
  where
  toQuery :: DescribeNetworkInsightsAccessScopeAnalyses -> QueryString
toQuery
    DescribeNetworkInsightsAccessScopeAnalyses' {Maybe Bool
Maybe Natural
Maybe [Text]
Maybe [Filter]
Maybe Text
Maybe ISO8601
nextToken :: Maybe Text
networkInsightsAccessScopeId :: Maybe Text
networkInsightsAccessScopeAnalysisIds :: Maybe [Text]
maxResults :: Maybe Natural
filters :: Maybe [Filter]
dryRun :: Maybe Bool
analysisStartTimeEnd :: Maybe ISO8601
analysisStartTimeBegin :: Maybe ISO8601
$sel:nextToken:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
$sel:networkInsightsAccessScopeId:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Text
$sel:networkInsightsAccessScopeAnalysisIds:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Text]
$sel:maxResults:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Natural
$sel:filters:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe [Filter]
$sel:dryRun:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe Bool
$sel:analysisStartTimeEnd:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
$sel:analysisStartTimeBegin:DescribeNetworkInsightsAccessScopeAnalyses' :: DescribeNetworkInsightsAccessScopeAnalyses -> Maybe ISO8601
..} =
      forall a. Monoid a => [a] -> a
Prelude.mconcat
        [ ByteString
"Action"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DescribeNetworkInsightsAccessScopeAnalyses" ::
                        Prelude.ByteString
                    ),
          ByteString
"Version"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
          ByteString
"AnalysisStartTimeBegin"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ISO8601
analysisStartTimeBegin,
          ByteString
"AnalysisStartTimeEnd" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ISO8601
analysisStartTimeEnd,
          ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
          forall a. ToQuery a => a -> QueryString
Data.toQuery
            (forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"Filter" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Filter]
filters),
          ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
          forall a. ToQuery a => a -> QueryString
Data.toQuery
            ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList
                ByteString
"NetworkInsightsAccessScopeAnalysisId"
                forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
networkInsightsAccessScopeAnalysisIds
            ),
          ByteString
"NetworkInsightsAccessScopeId"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
networkInsightsAccessScopeId,
          ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken
        ]

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

-- |
-- Create a value of 'DescribeNetworkInsightsAccessScopeAnalysesResponse' 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:
--
-- 'networkInsightsAccessScopeAnalyses', 'describeNetworkInsightsAccessScopeAnalysesResponse_networkInsightsAccessScopeAnalyses' - The Network Access Scope analyses.
--
-- 'nextToken', 'describeNetworkInsightsAccessScopeAnalysesResponse_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', 'describeNetworkInsightsAccessScopeAnalysesResponse_httpStatus' - The response's http status code.
newDescribeNetworkInsightsAccessScopeAnalysesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeNetworkInsightsAccessScopeAnalysesResponse
newDescribeNetworkInsightsAccessScopeAnalysesResponse :: Int -> DescribeNetworkInsightsAccessScopeAnalysesResponse
newDescribeNetworkInsightsAccessScopeAnalysesResponse
  Int
pHttpStatus_ =
    DescribeNetworkInsightsAccessScopeAnalysesResponse'
      { $sel:networkInsightsAccessScopeAnalyses:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: Maybe [NetworkInsightsAccessScopeAnalysis]
networkInsightsAccessScopeAnalyses =
          forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: Maybe Text
nextToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | The Network Access Scope analyses.
describeNetworkInsightsAccessScopeAnalysesResponse_networkInsightsAccessScopeAnalyses :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalysesResponse (Prelude.Maybe [NetworkInsightsAccessScopeAnalysis])
describeNetworkInsightsAccessScopeAnalysesResponse_networkInsightsAccessScopeAnalyses :: Lens'
  DescribeNetworkInsightsAccessScopeAnalysesResponse
  (Maybe [NetworkInsightsAccessScopeAnalysis])
describeNetworkInsightsAccessScopeAnalysesResponse_networkInsightsAccessScopeAnalyses = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalysesResponse' {Maybe [NetworkInsightsAccessScopeAnalysis]
networkInsightsAccessScopeAnalyses :: Maybe [NetworkInsightsAccessScopeAnalysis]
$sel:networkInsightsAccessScopeAnalyses:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: DescribeNetworkInsightsAccessScopeAnalysesResponse
-> Maybe [NetworkInsightsAccessScopeAnalysis]
networkInsightsAccessScopeAnalyses} -> Maybe [NetworkInsightsAccessScopeAnalysis]
networkInsightsAccessScopeAnalyses) (\s :: DescribeNetworkInsightsAccessScopeAnalysesResponse
s@DescribeNetworkInsightsAccessScopeAnalysesResponse' {} Maybe [NetworkInsightsAccessScopeAnalysis]
a -> DescribeNetworkInsightsAccessScopeAnalysesResponse
s {$sel:networkInsightsAccessScopeAnalyses:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: Maybe [NetworkInsightsAccessScopeAnalysis]
networkInsightsAccessScopeAnalyses = Maybe [NetworkInsightsAccessScopeAnalysis]
a} :: DescribeNetworkInsightsAccessScopeAnalysesResponse) 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 token to use to retrieve the next page of results. This value is
-- @null@ when there are no more results to return.
describeNetworkInsightsAccessScopeAnalysesResponse_nextToken :: Lens.Lens' DescribeNetworkInsightsAccessScopeAnalysesResponse (Prelude.Maybe Prelude.Text)
describeNetworkInsightsAccessScopeAnalysesResponse_nextToken :: Lens'
  DescribeNetworkInsightsAccessScopeAnalysesResponse (Maybe Text)
describeNetworkInsightsAccessScopeAnalysesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeNetworkInsightsAccessScopeAnalysesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: DescribeNetworkInsightsAccessScopeAnalysesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeNetworkInsightsAccessScopeAnalysesResponse
s@DescribeNetworkInsightsAccessScopeAnalysesResponse' {} Maybe Text
a -> DescribeNetworkInsightsAccessScopeAnalysesResponse
s {$sel:nextToken:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeNetworkInsightsAccessScopeAnalysesResponse)

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

instance
  Prelude.NFData
    DescribeNetworkInsightsAccessScopeAnalysesResponse
  where
  rnf :: DescribeNetworkInsightsAccessScopeAnalysesResponse -> ()
rnf
    DescribeNetworkInsightsAccessScopeAnalysesResponse' {Int
Maybe [NetworkInsightsAccessScopeAnalysis]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
networkInsightsAccessScopeAnalyses :: Maybe [NetworkInsightsAccessScopeAnalysis]
$sel:httpStatus:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: DescribeNetworkInsightsAccessScopeAnalysesResponse -> Int
$sel:nextToken:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: DescribeNetworkInsightsAccessScopeAnalysesResponse -> Maybe Text
$sel:networkInsightsAccessScopeAnalyses:DescribeNetworkInsightsAccessScopeAnalysesResponse' :: DescribeNetworkInsightsAccessScopeAnalysesResponse
-> Maybe [NetworkInsightsAccessScopeAnalysis]
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Maybe [NetworkInsightsAccessScopeAnalysis]
networkInsightsAccessScopeAnalyses
        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