{-# 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.NetworkManager.GetCoreNetworkChangeEvents
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns information about a core network change event.
--
-- This operation returns paginated results.
module Amazonka.NetworkManager.GetCoreNetworkChangeEvents
  ( -- * Creating a Request
    GetCoreNetworkChangeEvents (..),
    newGetCoreNetworkChangeEvents,

    -- * Request Lenses
    getCoreNetworkChangeEvents_maxResults,
    getCoreNetworkChangeEvents_nextToken,
    getCoreNetworkChangeEvents_coreNetworkId,
    getCoreNetworkChangeEvents_policyVersionId,

    -- * Destructuring the Response
    GetCoreNetworkChangeEventsResponse (..),
    newGetCoreNetworkChangeEventsResponse,

    -- * Response Lenses
    getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents,
    getCoreNetworkChangeEventsResponse_nextToken,
    getCoreNetworkChangeEventsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newGetCoreNetworkChangeEvents' smart constructor.
data GetCoreNetworkChangeEvents = GetCoreNetworkChangeEvents'
  { -- | The maximum number of results to return.
    GetCoreNetworkChangeEvents -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The token for the next page of results.
    GetCoreNetworkChangeEvents -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The ID of a core network.
    GetCoreNetworkChangeEvents -> Text
coreNetworkId :: Prelude.Text,
    -- | The ID of the policy version.
    GetCoreNetworkChangeEvents -> Int
policyVersionId :: Prelude.Int
  }
  deriving (GetCoreNetworkChangeEvents -> GetCoreNetworkChangeEvents -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCoreNetworkChangeEvents -> GetCoreNetworkChangeEvents -> Bool
$c/= :: GetCoreNetworkChangeEvents -> GetCoreNetworkChangeEvents -> Bool
== :: GetCoreNetworkChangeEvents -> GetCoreNetworkChangeEvents -> Bool
$c== :: GetCoreNetworkChangeEvents -> GetCoreNetworkChangeEvents -> Bool
Prelude.Eq, ReadPrec [GetCoreNetworkChangeEvents]
ReadPrec GetCoreNetworkChangeEvents
Int -> ReadS GetCoreNetworkChangeEvents
ReadS [GetCoreNetworkChangeEvents]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCoreNetworkChangeEvents]
$creadListPrec :: ReadPrec [GetCoreNetworkChangeEvents]
readPrec :: ReadPrec GetCoreNetworkChangeEvents
$creadPrec :: ReadPrec GetCoreNetworkChangeEvents
readList :: ReadS [GetCoreNetworkChangeEvents]
$creadList :: ReadS [GetCoreNetworkChangeEvents]
readsPrec :: Int -> ReadS GetCoreNetworkChangeEvents
$creadsPrec :: Int -> ReadS GetCoreNetworkChangeEvents
Prelude.Read, Int -> GetCoreNetworkChangeEvents -> ShowS
[GetCoreNetworkChangeEvents] -> ShowS
GetCoreNetworkChangeEvents -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCoreNetworkChangeEvents] -> ShowS
$cshowList :: [GetCoreNetworkChangeEvents] -> ShowS
show :: GetCoreNetworkChangeEvents -> String
$cshow :: GetCoreNetworkChangeEvents -> String
showsPrec :: Int -> GetCoreNetworkChangeEvents -> ShowS
$cshowsPrec :: Int -> GetCoreNetworkChangeEvents -> ShowS
Prelude.Show, forall x.
Rep GetCoreNetworkChangeEvents x -> GetCoreNetworkChangeEvents
forall x.
GetCoreNetworkChangeEvents -> Rep GetCoreNetworkChangeEvents x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetCoreNetworkChangeEvents x -> GetCoreNetworkChangeEvents
$cfrom :: forall x.
GetCoreNetworkChangeEvents -> Rep GetCoreNetworkChangeEvents x
Prelude.Generic)

-- |
-- Create a value of 'GetCoreNetworkChangeEvents' 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:
--
-- 'maxResults', 'getCoreNetworkChangeEvents_maxResults' - The maximum number of results to return.
--
-- 'nextToken', 'getCoreNetworkChangeEvents_nextToken' - The token for the next page of results.
--
-- 'coreNetworkId', 'getCoreNetworkChangeEvents_coreNetworkId' - The ID of a core network.
--
-- 'policyVersionId', 'getCoreNetworkChangeEvents_policyVersionId' - The ID of the policy version.
newGetCoreNetworkChangeEvents ::
  -- | 'coreNetworkId'
  Prelude.Text ->
  -- | 'policyVersionId'
  Prelude.Int ->
  GetCoreNetworkChangeEvents
newGetCoreNetworkChangeEvents :: Text -> Int -> GetCoreNetworkChangeEvents
newGetCoreNetworkChangeEvents
  Text
pCoreNetworkId_
  Int
pPolicyVersionId_ =
    GetCoreNetworkChangeEvents'
      { $sel:maxResults:GetCoreNetworkChangeEvents' :: Maybe Natural
maxResults =
          forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:GetCoreNetworkChangeEvents' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
        $sel:coreNetworkId:GetCoreNetworkChangeEvents' :: Text
coreNetworkId = Text
pCoreNetworkId_,
        $sel:policyVersionId:GetCoreNetworkChangeEvents' :: Int
policyVersionId = Int
pPolicyVersionId_
      }

-- | The maximum number of results to return.
getCoreNetworkChangeEvents_maxResults :: Lens.Lens' GetCoreNetworkChangeEvents (Prelude.Maybe Prelude.Natural)
getCoreNetworkChangeEvents_maxResults :: Lens' GetCoreNetworkChangeEvents (Maybe Natural)
getCoreNetworkChangeEvents_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCoreNetworkChangeEvents' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetCoreNetworkChangeEvents
s@GetCoreNetworkChangeEvents' {} Maybe Natural
a -> GetCoreNetworkChangeEvents
s {$sel:maxResults:GetCoreNetworkChangeEvents' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetCoreNetworkChangeEvents)

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

-- | The ID of a core network.
getCoreNetworkChangeEvents_coreNetworkId :: Lens.Lens' GetCoreNetworkChangeEvents Prelude.Text
getCoreNetworkChangeEvents_coreNetworkId :: Lens' GetCoreNetworkChangeEvents Text
getCoreNetworkChangeEvents_coreNetworkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCoreNetworkChangeEvents' {Text
coreNetworkId :: Text
$sel:coreNetworkId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Text
coreNetworkId} -> Text
coreNetworkId) (\s :: GetCoreNetworkChangeEvents
s@GetCoreNetworkChangeEvents' {} Text
a -> GetCoreNetworkChangeEvents
s {$sel:coreNetworkId:GetCoreNetworkChangeEvents' :: Text
coreNetworkId = Text
a} :: GetCoreNetworkChangeEvents)

-- | The ID of the policy version.
getCoreNetworkChangeEvents_policyVersionId :: Lens.Lens' GetCoreNetworkChangeEvents Prelude.Int
getCoreNetworkChangeEvents_policyVersionId :: Lens' GetCoreNetworkChangeEvents Int
getCoreNetworkChangeEvents_policyVersionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCoreNetworkChangeEvents' {Int
policyVersionId :: Int
$sel:policyVersionId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Int
policyVersionId} -> Int
policyVersionId) (\s :: GetCoreNetworkChangeEvents
s@GetCoreNetworkChangeEvents' {} Int
a -> GetCoreNetworkChangeEvents
s {$sel:policyVersionId:GetCoreNetworkChangeEvents' :: Int
policyVersionId = Int
a} :: GetCoreNetworkChangeEvents)

instance Core.AWSPager GetCoreNetworkChangeEvents where
  page :: GetCoreNetworkChangeEvents
-> AWSResponse GetCoreNetworkChangeEvents
-> Maybe GetCoreNetworkChangeEvents
page GetCoreNetworkChangeEvents
rq AWSResponse GetCoreNetworkChangeEvents
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse GetCoreNetworkChangeEvents
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCoreNetworkChangeEventsResponse (Maybe Text)
getCoreNetworkChangeEventsResponse_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 GetCoreNetworkChangeEvents
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  GetCoreNetworkChangeEventsResponse (Maybe [CoreNetworkChangeEvent])
getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents
            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.$ GetCoreNetworkChangeEvents
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' GetCoreNetworkChangeEvents (Maybe Text)
getCoreNetworkChangeEvents_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse GetCoreNetworkChangeEvents
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCoreNetworkChangeEventsResponse (Maybe Text)
getCoreNetworkChangeEventsResponse_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 GetCoreNetworkChangeEvents where
  type
    AWSResponse GetCoreNetworkChangeEvents =
      GetCoreNetworkChangeEventsResponse
  request :: (Service -> Service)
-> GetCoreNetworkChangeEvents -> Request GetCoreNetworkChangeEvents
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetCoreNetworkChangeEvents
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetCoreNetworkChangeEvents)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe [CoreNetworkChangeEvent]
-> Maybe Text -> Int -> GetCoreNetworkChangeEventsResponse
GetCoreNetworkChangeEventsResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CoreNetworkChangeEvents"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"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 GetCoreNetworkChangeEvents where
  hashWithSalt :: Int -> GetCoreNetworkChangeEvents -> Int
hashWithSalt Int
_salt GetCoreNetworkChangeEvents' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Int
$sel:coreNetworkId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Text
$sel:nextToken:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Natural
..} =
    Int
_salt
      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
coreNetworkId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
policyVersionId

instance Prelude.NFData GetCoreNetworkChangeEvents where
  rnf :: GetCoreNetworkChangeEvents -> ()
rnf GetCoreNetworkChangeEvents' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Int
$sel:coreNetworkId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Text
$sel:nextToken:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Natural
..} =
    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
coreNetworkId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
policyVersionId

instance Data.ToHeaders GetCoreNetworkChangeEvents where
  toHeaders :: GetCoreNetworkChangeEvents -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToPath GetCoreNetworkChangeEvents where
  toPath :: GetCoreNetworkChangeEvents -> ByteString
toPath GetCoreNetworkChangeEvents' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Int
$sel:coreNetworkId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Text
$sel:nextToken:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/core-networks/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
coreNetworkId,
        ByteString
"/core-network-change-events/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Int
policyVersionId
      ]

instance Data.ToQuery GetCoreNetworkChangeEvents where
  toQuery :: GetCoreNetworkChangeEvents -> QueryString
toQuery GetCoreNetworkChangeEvents' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Int
$sel:coreNetworkId:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Text
$sel:nextToken:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeEvents' :: GetCoreNetworkChangeEvents -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ 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
      ]

-- | /See:/ 'newGetCoreNetworkChangeEventsResponse' smart constructor.
data GetCoreNetworkChangeEventsResponse = GetCoreNetworkChangeEventsResponse'
  { -- | The response to @GetCoreNetworkChangeEventsRequest@.
    GetCoreNetworkChangeEventsResponse
-> Maybe [CoreNetworkChangeEvent]
coreNetworkChangeEvents :: Prelude.Maybe [CoreNetworkChangeEvent],
    -- | The token for the next page of results.
    GetCoreNetworkChangeEventsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetCoreNetworkChangeEventsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetCoreNetworkChangeEventsResponse
-> GetCoreNetworkChangeEventsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCoreNetworkChangeEventsResponse
-> GetCoreNetworkChangeEventsResponse -> Bool
$c/= :: GetCoreNetworkChangeEventsResponse
-> GetCoreNetworkChangeEventsResponse -> Bool
== :: GetCoreNetworkChangeEventsResponse
-> GetCoreNetworkChangeEventsResponse -> Bool
$c== :: GetCoreNetworkChangeEventsResponse
-> GetCoreNetworkChangeEventsResponse -> Bool
Prelude.Eq, ReadPrec [GetCoreNetworkChangeEventsResponse]
ReadPrec GetCoreNetworkChangeEventsResponse
Int -> ReadS GetCoreNetworkChangeEventsResponse
ReadS [GetCoreNetworkChangeEventsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCoreNetworkChangeEventsResponse]
$creadListPrec :: ReadPrec [GetCoreNetworkChangeEventsResponse]
readPrec :: ReadPrec GetCoreNetworkChangeEventsResponse
$creadPrec :: ReadPrec GetCoreNetworkChangeEventsResponse
readList :: ReadS [GetCoreNetworkChangeEventsResponse]
$creadList :: ReadS [GetCoreNetworkChangeEventsResponse]
readsPrec :: Int -> ReadS GetCoreNetworkChangeEventsResponse
$creadsPrec :: Int -> ReadS GetCoreNetworkChangeEventsResponse
Prelude.Read, Int -> GetCoreNetworkChangeEventsResponse -> ShowS
[GetCoreNetworkChangeEventsResponse] -> ShowS
GetCoreNetworkChangeEventsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCoreNetworkChangeEventsResponse] -> ShowS
$cshowList :: [GetCoreNetworkChangeEventsResponse] -> ShowS
show :: GetCoreNetworkChangeEventsResponse -> String
$cshow :: GetCoreNetworkChangeEventsResponse -> String
showsPrec :: Int -> GetCoreNetworkChangeEventsResponse -> ShowS
$cshowsPrec :: Int -> GetCoreNetworkChangeEventsResponse -> ShowS
Prelude.Show, forall x.
Rep GetCoreNetworkChangeEventsResponse x
-> GetCoreNetworkChangeEventsResponse
forall x.
GetCoreNetworkChangeEventsResponse
-> Rep GetCoreNetworkChangeEventsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetCoreNetworkChangeEventsResponse x
-> GetCoreNetworkChangeEventsResponse
$cfrom :: forall x.
GetCoreNetworkChangeEventsResponse
-> Rep GetCoreNetworkChangeEventsResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetCoreNetworkChangeEventsResponse' 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:
--
-- 'coreNetworkChangeEvents', 'getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents' - The response to @GetCoreNetworkChangeEventsRequest@.
--
-- 'nextToken', 'getCoreNetworkChangeEventsResponse_nextToken' - The token for the next page of results.
--
-- 'httpStatus', 'getCoreNetworkChangeEventsResponse_httpStatus' - The response's http status code.
newGetCoreNetworkChangeEventsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetCoreNetworkChangeEventsResponse
newGetCoreNetworkChangeEventsResponse :: Int -> GetCoreNetworkChangeEventsResponse
newGetCoreNetworkChangeEventsResponse Int
pHttpStatus_ =
  GetCoreNetworkChangeEventsResponse'
    { $sel:coreNetworkChangeEvents:GetCoreNetworkChangeEventsResponse' :: Maybe [CoreNetworkChangeEvent]
coreNetworkChangeEvents =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:GetCoreNetworkChangeEventsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetCoreNetworkChangeEventsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The response to @GetCoreNetworkChangeEventsRequest@.
getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents :: Lens.Lens' GetCoreNetworkChangeEventsResponse (Prelude.Maybe [CoreNetworkChangeEvent])
getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents :: Lens'
  GetCoreNetworkChangeEventsResponse (Maybe [CoreNetworkChangeEvent])
getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCoreNetworkChangeEventsResponse' {Maybe [CoreNetworkChangeEvent]
coreNetworkChangeEvents :: Maybe [CoreNetworkChangeEvent]
$sel:coreNetworkChangeEvents:GetCoreNetworkChangeEventsResponse' :: GetCoreNetworkChangeEventsResponse
-> Maybe [CoreNetworkChangeEvent]
coreNetworkChangeEvents} -> Maybe [CoreNetworkChangeEvent]
coreNetworkChangeEvents) (\s :: GetCoreNetworkChangeEventsResponse
s@GetCoreNetworkChangeEventsResponse' {} Maybe [CoreNetworkChangeEvent]
a -> GetCoreNetworkChangeEventsResponse
s {$sel:coreNetworkChangeEvents:GetCoreNetworkChangeEventsResponse' :: Maybe [CoreNetworkChangeEvent]
coreNetworkChangeEvents = Maybe [CoreNetworkChangeEvent]
a} :: GetCoreNetworkChangeEventsResponse) 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 for the next page of results.
getCoreNetworkChangeEventsResponse_nextToken :: Lens.Lens' GetCoreNetworkChangeEventsResponse (Prelude.Maybe Prelude.Text)
getCoreNetworkChangeEventsResponse_nextToken :: Lens' GetCoreNetworkChangeEventsResponse (Maybe Text)
getCoreNetworkChangeEventsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCoreNetworkChangeEventsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetCoreNetworkChangeEventsResponse' :: GetCoreNetworkChangeEventsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetCoreNetworkChangeEventsResponse
s@GetCoreNetworkChangeEventsResponse' {} Maybe Text
a -> GetCoreNetworkChangeEventsResponse
s {$sel:nextToken:GetCoreNetworkChangeEventsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetCoreNetworkChangeEventsResponse)

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

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