{-# 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.GetCoreNetworkChangeSet
-- 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 a change set between the LIVE core network policy and a
-- submitted policy.
--
-- This operation returns paginated results.
module Amazonka.NetworkManager.GetCoreNetworkChangeSet
  ( -- * Creating a Request
    GetCoreNetworkChangeSet (..),
    newGetCoreNetworkChangeSet,

    -- * Request Lenses
    getCoreNetworkChangeSet_maxResults,
    getCoreNetworkChangeSet_nextToken,
    getCoreNetworkChangeSet_coreNetworkId,
    getCoreNetworkChangeSet_policyVersionId,

    -- * Destructuring the Response
    GetCoreNetworkChangeSetResponse (..),
    newGetCoreNetworkChangeSetResponse,

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

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

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

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

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

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

instance Core.AWSPager GetCoreNetworkChangeSet where
  page :: GetCoreNetworkChangeSet
-> AWSResponse GetCoreNetworkChangeSet
-> Maybe GetCoreNetworkChangeSet
page GetCoreNetworkChangeSet
rq AWSResponse GetCoreNetworkChangeSet
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse GetCoreNetworkChangeSet
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCoreNetworkChangeSetResponse (Maybe Text)
getCoreNetworkChangeSetResponse_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 GetCoreNetworkChangeSet
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCoreNetworkChangeSetResponse (Maybe [CoreNetworkChange])
getCoreNetworkChangeSetResponse_coreNetworkChanges
            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.$ GetCoreNetworkChangeSet
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' GetCoreNetworkChangeSet (Maybe Text)
getCoreNetworkChangeSet_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse GetCoreNetworkChangeSet
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCoreNetworkChangeSetResponse (Maybe Text)
getCoreNetworkChangeSetResponse_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 GetCoreNetworkChangeSet where
  type
    AWSResponse GetCoreNetworkChangeSet =
      GetCoreNetworkChangeSetResponse
  request :: (Service -> Service)
-> GetCoreNetworkChangeSet -> Request GetCoreNetworkChangeSet
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 GetCoreNetworkChangeSet
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetCoreNetworkChangeSet)))
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 [CoreNetworkChange]
-> Maybe Text -> Int -> GetCoreNetworkChangeSetResponse
GetCoreNetworkChangeSetResponse'
            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
"CoreNetworkChanges"
                            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 GetCoreNetworkChangeSet where
  hashWithSalt :: Int -> GetCoreNetworkChangeSet -> Int
hashWithSalt Int
_salt GetCoreNetworkChangeSet' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Int
$sel:coreNetworkId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Text
$sel:nextToken:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> 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 GetCoreNetworkChangeSet where
  rnf :: GetCoreNetworkChangeSet -> ()
rnf GetCoreNetworkChangeSet' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Int
$sel:coreNetworkId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Text
$sel:nextToken:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> 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 GetCoreNetworkChangeSet where
  toHeaders :: GetCoreNetworkChangeSet -> 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 GetCoreNetworkChangeSet where
  toPath :: GetCoreNetworkChangeSet -> ByteString
toPath GetCoreNetworkChangeSet' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Int
$sel:coreNetworkId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Text
$sel:nextToken:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> 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-sets/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Int
policyVersionId
      ]

instance Data.ToQuery GetCoreNetworkChangeSet where
  toQuery :: GetCoreNetworkChangeSet -> QueryString
toQuery GetCoreNetworkChangeSet' {Int
Maybe Natural
Maybe Text
Text
policyVersionId :: Int
coreNetworkId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:policyVersionId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Int
$sel:coreNetworkId:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Text
$sel:nextToken:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> Maybe Text
$sel:maxResults:GetCoreNetworkChangeSet' :: GetCoreNetworkChangeSet -> 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:/ 'newGetCoreNetworkChangeSetResponse' smart constructor.
data GetCoreNetworkChangeSetResponse = GetCoreNetworkChangeSetResponse'
  { -- | Describes a core network changes.
    GetCoreNetworkChangeSetResponse -> Maybe [CoreNetworkChange]
coreNetworkChanges :: Prelude.Maybe [CoreNetworkChange],
    -- | The token for the next page of results.
    GetCoreNetworkChangeSetResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetCoreNetworkChangeSetResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetCoreNetworkChangeSetResponse
-> GetCoreNetworkChangeSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCoreNetworkChangeSetResponse
-> GetCoreNetworkChangeSetResponse -> Bool
$c/= :: GetCoreNetworkChangeSetResponse
-> GetCoreNetworkChangeSetResponse -> Bool
== :: GetCoreNetworkChangeSetResponse
-> GetCoreNetworkChangeSetResponse -> Bool
$c== :: GetCoreNetworkChangeSetResponse
-> GetCoreNetworkChangeSetResponse -> Bool
Prelude.Eq, ReadPrec [GetCoreNetworkChangeSetResponse]
ReadPrec GetCoreNetworkChangeSetResponse
Int -> ReadS GetCoreNetworkChangeSetResponse
ReadS [GetCoreNetworkChangeSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCoreNetworkChangeSetResponse]
$creadListPrec :: ReadPrec [GetCoreNetworkChangeSetResponse]
readPrec :: ReadPrec GetCoreNetworkChangeSetResponse
$creadPrec :: ReadPrec GetCoreNetworkChangeSetResponse
readList :: ReadS [GetCoreNetworkChangeSetResponse]
$creadList :: ReadS [GetCoreNetworkChangeSetResponse]
readsPrec :: Int -> ReadS GetCoreNetworkChangeSetResponse
$creadsPrec :: Int -> ReadS GetCoreNetworkChangeSetResponse
Prelude.Read, Int -> GetCoreNetworkChangeSetResponse -> ShowS
[GetCoreNetworkChangeSetResponse] -> ShowS
GetCoreNetworkChangeSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCoreNetworkChangeSetResponse] -> ShowS
$cshowList :: [GetCoreNetworkChangeSetResponse] -> ShowS
show :: GetCoreNetworkChangeSetResponse -> String
$cshow :: GetCoreNetworkChangeSetResponse -> String
showsPrec :: Int -> GetCoreNetworkChangeSetResponse -> ShowS
$cshowsPrec :: Int -> GetCoreNetworkChangeSetResponse -> ShowS
Prelude.Show, forall x.
Rep GetCoreNetworkChangeSetResponse x
-> GetCoreNetworkChangeSetResponse
forall x.
GetCoreNetworkChangeSetResponse
-> Rep GetCoreNetworkChangeSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetCoreNetworkChangeSetResponse x
-> GetCoreNetworkChangeSetResponse
$cfrom :: forall x.
GetCoreNetworkChangeSetResponse
-> Rep GetCoreNetworkChangeSetResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetCoreNetworkChangeSetResponse' 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:
--
-- 'coreNetworkChanges', 'getCoreNetworkChangeSetResponse_coreNetworkChanges' - Describes a core network changes.
--
-- 'nextToken', 'getCoreNetworkChangeSetResponse_nextToken' - The token for the next page of results.
--
-- 'httpStatus', 'getCoreNetworkChangeSetResponse_httpStatus' - The response's http status code.
newGetCoreNetworkChangeSetResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetCoreNetworkChangeSetResponse
newGetCoreNetworkChangeSetResponse :: Int -> GetCoreNetworkChangeSetResponse
newGetCoreNetworkChangeSetResponse Int
pHttpStatus_ =
  GetCoreNetworkChangeSetResponse'
    { $sel:coreNetworkChanges:GetCoreNetworkChangeSetResponse' :: Maybe [CoreNetworkChange]
coreNetworkChanges =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:GetCoreNetworkChangeSetResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetCoreNetworkChangeSetResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Describes a core network changes.
getCoreNetworkChangeSetResponse_coreNetworkChanges :: Lens.Lens' GetCoreNetworkChangeSetResponse (Prelude.Maybe [CoreNetworkChange])
getCoreNetworkChangeSetResponse_coreNetworkChanges :: Lens' GetCoreNetworkChangeSetResponse (Maybe [CoreNetworkChange])
getCoreNetworkChangeSetResponse_coreNetworkChanges = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCoreNetworkChangeSetResponse' {Maybe [CoreNetworkChange]
coreNetworkChanges :: Maybe [CoreNetworkChange]
$sel:coreNetworkChanges:GetCoreNetworkChangeSetResponse' :: GetCoreNetworkChangeSetResponse -> Maybe [CoreNetworkChange]
coreNetworkChanges} -> Maybe [CoreNetworkChange]
coreNetworkChanges) (\s :: GetCoreNetworkChangeSetResponse
s@GetCoreNetworkChangeSetResponse' {} Maybe [CoreNetworkChange]
a -> GetCoreNetworkChangeSetResponse
s {$sel:coreNetworkChanges:GetCoreNetworkChangeSetResponse' :: Maybe [CoreNetworkChange]
coreNetworkChanges = Maybe [CoreNetworkChange]
a} :: GetCoreNetworkChangeSetResponse) 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.
getCoreNetworkChangeSetResponse_nextToken :: Lens.Lens' GetCoreNetworkChangeSetResponse (Prelude.Maybe Prelude.Text)
getCoreNetworkChangeSetResponse_nextToken :: Lens' GetCoreNetworkChangeSetResponse (Maybe Text)
getCoreNetworkChangeSetResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCoreNetworkChangeSetResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetCoreNetworkChangeSetResponse' :: GetCoreNetworkChangeSetResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetCoreNetworkChangeSetResponse
s@GetCoreNetworkChangeSetResponse' {} Maybe Text
a -> GetCoreNetworkChangeSetResponse
s {$sel:nextToken:GetCoreNetworkChangeSetResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetCoreNetworkChangeSetResponse)

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

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