{-# 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.ModifyTransitGatewayPrefixListReference
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Modifies a reference (route) to a prefix list in a specified transit
-- gateway route table.
module Amazonka.EC2.ModifyTransitGatewayPrefixListReference
  ( -- * Creating a Request
    ModifyTransitGatewayPrefixListReference (..),
    newModifyTransitGatewayPrefixListReference,

    -- * Request Lenses
    modifyTransitGatewayPrefixListReference_blackhole,
    modifyTransitGatewayPrefixListReference_dryRun,
    modifyTransitGatewayPrefixListReference_transitGatewayAttachmentId,
    modifyTransitGatewayPrefixListReference_transitGatewayRouteTableId,
    modifyTransitGatewayPrefixListReference_prefixListId,

    -- * Destructuring the Response
    ModifyTransitGatewayPrefixListReferenceResponse (..),
    newModifyTransitGatewayPrefixListReferenceResponse,

    -- * Response Lenses
    modifyTransitGatewayPrefixListReferenceResponse_transitGatewayPrefixListReference,
    modifyTransitGatewayPrefixListReferenceResponse_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:/ 'newModifyTransitGatewayPrefixListReference' smart constructor.
data ModifyTransitGatewayPrefixListReference = ModifyTransitGatewayPrefixListReference'
  { -- | Indicates whether to drop traffic that matches this route.
    ModifyTransitGatewayPrefixListReference -> Maybe Bool
blackhole :: Prelude.Maybe Prelude.Bool,
    -- | 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@.
    ModifyTransitGatewayPrefixListReference -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The ID of the attachment to which traffic is routed.
    ModifyTransitGatewayPrefixListReference -> Maybe Text
transitGatewayAttachmentId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the transit gateway route table.
    ModifyTransitGatewayPrefixListReference -> Text
transitGatewayRouteTableId :: Prelude.Text,
    -- | The ID of the prefix list.
    ModifyTransitGatewayPrefixListReference -> Text
prefixListId :: Prelude.Text
  }
  deriving (ModifyTransitGatewayPrefixListReference
-> ModifyTransitGatewayPrefixListReference -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyTransitGatewayPrefixListReference
-> ModifyTransitGatewayPrefixListReference -> Bool
$c/= :: ModifyTransitGatewayPrefixListReference
-> ModifyTransitGatewayPrefixListReference -> Bool
== :: ModifyTransitGatewayPrefixListReference
-> ModifyTransitGatewayPrefixListReference -> Bool
$c== :: ModifyTransitGatewayPrefixListReference
-> ModifyTransitGatewayPrefixListReference -> Bool
Prelude.Eq, ReadPrec [ModifyTransitGatewayPrefixListReference]
ReadPrec ModifyTransitGatewayPrefixListReference
Int -> ReadS ModifyTransitGatewayPrefixListReference
ReadS [ModifyTransitGatewayPrefixListReference]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyTransitGatewayPrefixListReference]
$creadListPrec :: ReadPrec [ModifyTransitGatewayPrefixListReference]
readPrec :: ReadPrec ModifyTransitGatewayPrefixListReference
$creadPrec :: ReadPrec ModifyTransitGatewayPrefixListReference
readList :: ReadS [ModifyTransitGatewayPrefixListReference]
$creadList :: ReadS [ModifyTransitGatewayPrefixListReference]
readsPrec :: Int -> ReadS ModifyTransitGatewayPrefixListReference
$creadsPrec :: Int -> ReadS ModifyTransitGatewayPrefixListReference
Prelude.Read, Int -> ModifyTransitGatewayPrefixListReference -> ShowS
[ModifyTransitGatewayPrefixListReference] -> ShowS
ModifyTransitGatewayPrefixListReference -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyTransitGatewayPrefixListReference] -> ShowS
$cshowList :: [ModifyTransitGatewayPrefixListReference] -> ShowS
show :: ModifyTransitGatewayPrefixListReference -> String
$cshow :: ModifyTransitGatewayPrefixListReference -> String
showsPrec :: Int -> ModifyTransitGatewayPrefixListReference -> ShowS
$cshowsPrec :: Int -> ModifyTransitGatewayPrefixListReference -> ShowS
Prelude.Show, forall x.
Rep ModifyTransitGatewayPrefixListReference x
-> ModifyTransitGatewayPrefixListReference
forall x.
ModifyTransitGatewayPrefixListReference
-> Rep ModifyTransitGatewayPrefixListReference x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyTransitGatewayPrefixListReference x
-> ModifyTransitGatewayPrefixListReference
$cfrom :: forall x.
ModifyTransitGatewayPrefixListReference
-> Rep ModifyTransitGatewayPrefixListReference x
Prelude.Generic)

-- |
-- Create a value of 'ModifyTransitGatewayPrefixListReference' 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:
--
-- 'blackhole', 'modifyTransitGatewayPrefixListReference_blackhole' - Indicates whether to drop traffic that matches this route.
--
-- 'dryRun', 'modifyTransitGatewayPrefixListReference_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@.
--
-- 'transitGatewayAttachmentId', 'modifyTransitGatewayPrefixListReference_transitGatewayAttachmentId' - The ID of the attachment to which traffic is routed.
--
-- 'transitGatewayRouteTableId', 'modifyTransitGatewayPrefixListReference_transitGatewayRouteTableId' - The ID of the transit gateway route table.
--
-- 'prefixListId', 'modifyTransitGatewayPrefixListReference_prefixListId' - The ID of the prefix list.
newModifyTransitGatewayPrefixListReference ::
  -- | 'transitGatewayRouteTableId'
  Prelude.Text ->
  -- | 'prefixListId'
  Prelude.Text ->
  ModifyTransitGatewayPrefixListReference
newModifyTransitGatewayPrefixListReference :: Text -> Text -> ModifyTransitGatewayPrefixListReference
newModifyTransitGatewayPrefixListReference
  Text
pTransitGatewayRouteTableId_
  Text
pPrefixListId_ =
    ModifyTransitGatewayPrefixListReference'
      { $sel:blackhole:ModifyTransitGatewayPrefixListReference' :: Maybe Bool
blackhole =
          forall a. Maybe a
Prelude.Nothing,
        $sel:dryRun:ModifyTransitGatewayPrefixListReference' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
        $sel:transitGatewayAttachmentId:ModifyTransitGatewayPrefixListReference' :: Maybe Text
transitGatewayAttachmentId =
          forall a. Maybe a
Prelude.Nothing,
        $sel:transitGatewayRouteTableId:ModifyTransitGatewayPrefixListReference' :: Text
transitGatewayRouteTableId =
          Text
pTransitGatewayRouteTableId_,
        $sel:prefixListId:ModifyTransitGatewayPrefixListReference' :: Text
prefixListId = Text
pPrefixListId_
      }

-- | Indicates whether to drop traffic that matches this route.
modifyTransitGatewayPrefixListReference_blackhole :: Lens.Lens' ModifyTransitGatewayPrefixListReference (Prelude.Maybe Prelude.Bool)
modifyTransitGatewayPrefixListReference_blackhole :: Lens' ModifyTransitGatewayPrefixListReference (Maybe Bool)
modifyTransitGatewayPrefixListReference_blackhole = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyTransitGatewayPrefixListReference' {Maybe Bool
blackhole :: Maybe Bool
$sel:blackhole:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Bool
blackhole} -> Maybe Bool
blackhole) (\s :: ModifyTransitGatewayPrefixListReference
s@ModifyTransitGatewayPrefixListReference' {} Maybe Bool
a -> ModifyTransitGatewayPrefixListReference
s {$sel:blackhole:ModifyTransitGatewayPrefixListReference' :: Maybe Bool
blackhole = Maybe Bool
a} :: ModifyTransitGatewayPrefixListReference)

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

-- | The ID of the attachment to which traffic is routed.
modifyTransitGatewayPrefixListReference_transitGatewayAttachmentId :: Lens.Lens' ModifyTransitGatewayPrefixListReference (Prelude.Maybe Prelude.Text)
modifyTransitGatewayPrefixListReference_transitGatewayAttachmentId :: Lens' ModifyTransitGatewayPrefixListReference (Maybe Text)
modifyTransitGatewayPrefixListReference_transitGatewayAttachmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyTransitGatewayPrefixListReference' {Maybe Text
transitGatewayAttachmentId :: Maybe Text
$sel:transitGatewayAttachmentId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Text
transitGatewayAttachmentId} -> Maybe Text
transitGatewayAttachmentId) (\s :: ModifyTransitGatewayPrefixListReference
s@ModifyTransitGatewayPrefixListReference' {} Maybe Text
a -> ModifyTransitGatewayPrefixListReference
s {$sel:transitGatewayAttachmentId:ModifyTransitGatewayPrefixListReference' :: Maybe Text
transitGatewayAttachmentId = Maybe Text
a} :: ModifyTransitGatewayPrefixListReference)

-- | The ID of the transit gateway route table.
modifyTransitGatewayPrefixListReference_transitGatewayRouteTableId :: Lens.Lens' ModifyTransitGatewayPrefixListReference Prelude.Text
modifyTransitGatewayPrefixListReference_transitGatewayRouteTableId :: Lens' ModifyTransitGatewayPrefixListReference Text
modifyTransitGatewayPrefixListReference_transitGatewayRouteTableId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyTransitGatewayPrefixListReference' {Text
transitGatewayRouteTableId :: Text
$sel:transitGatewayRouteTableId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
transitGatewayRouteTableId} -> Text
transitGatewayRouteTableId) (\s :: ModifyTransitGatewayPrefixListReference
s@ModifyTransitGatewayPrefixListReference' {} Text
a -> ModifyTransitGatewayPrefixListReference
s {$sel:transitGatewayRouteTableId:ModifyTransitGatewayPrefixListReference' :: Text
transitGatewayRouteTableId = Text
a} :: ModifyTransitGatewayPrefixListReference)

-- | The ID of the prefix list.
modifyTransitGatewayPrefixListReference_prefixListId :: Lens.Lens' ModifyTransitGatewayPrefixListReference Prelude.Text
modifyTransitGatewayPrefixListReference_prefixListId :: Lens' ModifyTransitGatewayPrefixListReference Text
modifyTransitGatewayPrefixListReference_prefixListId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyTransitGatewayPrefixListReference' {Text
prefixListId :: Text
$sel:prefixListId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
prefixListId} -> Text
prefixListId) (\s :: ModifyTransitGatewayPrefixListReference
s@ModifyTransitGatewayPrefixListReference' {} Text
a -> ModifyTransitGatewayPrefixListReference
s {$sel:prefixListId:ModifyTransitGatewayPrefixListReference' :: Text
prefixListId = Text
a} :: ModifyTransitGatewayPrefixListReference)

instance
  Core.AWSRequest
    ModifyTransitGatewayPrefixListReference
  where
  type
    AWSResponse
      ModifyTransitGatewayPrefixListReference =
      ModifyTransitGatewayPrefixListReferenceResponse
  request :: (Service -> Service)
-> ModifyTransitGatewayPrefixListReference
-> Request ModifyTransitGatewayPrefixListReference
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 ModifyTransitGatewayPrefixListReference
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ModifyTransitGatewayPrefixListReference)))
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 TransitGatewayPrefixListReference
-> Int -> ModifyTransitGatewayPrefixListReferenceResponse
ModifyTransitGatewayPrefixListReferenceResponse'
            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
"transitGatewayPrefixListReference")
            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
    ModifyTransitGatewayPrefixListReference
  where
  hashWithSalt :: Int -> ModifyTransitGatewayPrefixListReference -> Int
hashWithSalt
    Int
_salt
    ModifyTransitGatewayPrefixListReference' {Maybe Bool
Maybe Text
Text
prefixListId :: Text
transitGatewayRouteTableId :: Text
transitGatewayAttachmentId :: Maybe Text
dryRun :: Maybe Bool
blackhole :: Maybe Bool
$sel:prefixListId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
$sel:transitGatewayRouteTableId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
$sel:transitGatewayAttachmentId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Text
$sel:dryRun:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Bool
$sel:blackhole:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Bool
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
blackhole
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
transitGatewayAttachmentId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
transitGatewayRouteTableId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
prefixListId

instance
  Prelude.NFData
    ModifyTransitGatewayPrefixListReference
  where
  rnf :: ModifyTransitGatewayPrefixListReference -> ()
rnf ModifyTransitGatewayPrefixListReference' {Maybe Bool
Maybe Text
Text
prefixListId :: Text
transitGatewayRouteTableId :: Text
transitGatewayAttachmentId :: Maybe Text
dryRun :: Maybe Bool
blackhole :: Maybe Bool
$sel:prefixListId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
$sel:transitGatewayRouteTableId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
$sel:transitGatewayAttachmentId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Text
$sel:dryRun:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Bool
$sel:blackhole:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
blackhole
      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 Text
transitGatewayAttachmentId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
transitGatewayRouteTableId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
prefixListId

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

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

instance
  Data.ToQuery
    ModifyTransitGatewayPrefixListReference
  where
  toQuery :: ModifyTransitGatewayPrefixListReference -> QueryString
toQuery ModifyTransitGatewayPrefixListReference' {Maybe Bool
Maybe Text
Text
prefixListId :: Text
transitGatewayRouteTableId :: Text
transitGatewayAttachmentId :: Maybe Text
dryRun :: Maybe Bool
blackhole :: Maybe Bool
$sel:prefixListId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
$sel:transitGatewayRouteTableId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Text
$sel:transitGatewayAttachmentId:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Text
$sel:dryRun:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Bool
$sel:blackhole:ModifyTransitGatewayPrefixListReference' :: ModifyTransitGatewayPrefixListReference -> Maybe Bool
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"ModifyTransitGatewayPrefixListReference" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
        ByteString
"Blackhole" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
blackhole,
        ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
        ByteString
"TransitGatewayAttachmentId"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
transitGatewayAttachmentId,
        ByteString
"TransitGatewayRouteTableId"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
transitGatewayRouteTableId,
        ByteString
"PrefixListId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
prefixListId
      ]

-- | /See:/ 'newModifyTransitGatewayPrefixListReferenceResponse' smart constructor.
data ModifyTransitGatewayPrefixListReferenceResponse = ModifyTransitGatewayPrefixListReferenceResponse'
  { -- | Information about the prefix list reference.
    ModifyTransitGatewayPrefixListReferenceResponse
-> Maybe TransitGatewayPrefixListReference
transitGatewayPrefixListReference :: Prelude.Maybe TransitGatewayPrefixListReference,
    -- | The response's http status code.
    ModifyTransitGatewayPrefixListReferenceResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ModifyTransitGatewayPrefixListReferenceResponse
-> ModifyTransitGatewayPrefixListReferenceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyTransitGatewayPrefixListReferenceResponse
-> ModifyTransitGatewayPrefixListReferenceResponse -> Bool
$c/= :: ModifyTransitGatewayPrefixListReferenceResponse
-> ModifyTransitGatewayPrefixListReferenceResponse -> Bool
== :: ModifyTransitGatewayPrefixListReferenceResponse
-> ModifyTransitGatewayPrefixListReferenceResponse -> Bool
$c== :: ModifyTransitGatewayPrefixListReferenceResponse
-> ModifyTransitGatewayPrefixListReferenceResponse -> Bool
Prelude.Eq, ReadPrec [ModifyTransitGatewayPrefixListReferenceResponse]
ReadPrec ModifyTransitGatewayPrefixListReferenceResponse
Int -> ReadS ModifyTransitGatewayPrefixListReferenceResponse
ReadS [ModifyTransitGatewayPrefixListReferenceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyTransitGatewayPrefixListReferenceResponse]
$creadListPrec :: ReadPrec [ModifyTransitGatewayPrefixListReferenceResponse]
readPrec :: ReadPrec ModifyTransitGatewayPrefixListReferenceResponse
$creadPrec :: ReadPrec ModifyTransitGatewayPrefixListReferenceResponse
readList :: ReadS [ModifyTransitGatewayPrefixListReferenceResponse]
$creadList :: ReadS [ModifyTransitGatewayPrefixListReferenceResponse]
readsPrec :: Int -> ReadS ModifyTransitGatewayPrefixListReferenceResponse
$creadsPrec :: Int -> ReadS ModifyTransitGatewayPrefixListReferenceResponse
Prelude.Read, Int -> ModifyTransitGatewayPrefixListReferenceResponse -> ShowS
[ModifyTransitGatewayPrefixListReferenceResponse] -> ShowS
ModifyTransitGatewayPrefixListReferenceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyTransitGatewayPrefixListReferenceResponse] -> ShowS
$cshowList :: [ModifyTransitGatewayPrefixListReferenceResponse] -> ShowS
show :: ModifyTransitGatewayPrefixListReferenceResponse -> String
$cshow :: ModifyTransitGatewayPrefixListReferenceResponse -> String
showsPrec :: Int -> ModifyTransitGatewayPrefixListReferenceResponse -> ShowS
$cshowsPrec :: Int -> ModifyTransitGatewayPrefixListReferenceResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyTransitGatewayPrefixListReferenceResponse x
-> ModifyTransitGatewayPrefixListReferenceResponse
forall x.
ModifyTransitGatewayPrefixListReferenceResponse
-> Rep ModifyTransitGatewayPrefixListReferenceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyTransitGatewayPrefixListReferenceResponse x
-> ModifyTransitGatewayPrefixListReferenceResponse
$cfrom :: forall x.
ModifyTransitGatewayPrefixListReferenceResponse
-> Rep ModifyTransitGatewayPrefixListReferenceResponse x
Prelude.Generic)

-- |
-- Create a value of 'ModifyTransitGatewayPrefixListReferenceResponse' 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:
--
-- 'transitGatewayPrefixListReference', 'modifyTransitGatewayPrefixListReferenceResponse_transitGatewayPrefixListReference' - Information about the prefix list reference.
--
-- 'httpStatus', 'modifyTransitGatewayPrefixListReferenceResponse_httpStatus' - The response's http status code.
newModifyTransitGatewayPrefixListReferenceResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ModifyTransitGatewayPrefixListReferenceResponse
newModifyTransitGatewayPrefixListReferenceResponse :: Int -> ModifyTransitGatewayPrefixListReferenceResponse
newModifyTransitGatewayPrefixListReferenceResponse
  Int
pHttpStatus_ =
    ModifyTransitGatewayPrefixListReferenceResponse'
      { $sel:transitGatewayPrefixListReference:ModifyTransitGatewayPrefixListReferenceResponse' :: Maybe TransitGatewayPrefixListReference
transitGatewayPrefixListReference =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ModifyTransitGatewayPrefixListReferenceResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Information about the prefix list reference.
modifyTransitGatewayPrefixListReferenceResponse_transitGatewayPrefixListReference :: Lens.Lens' ModifyTransitGatewayPrefixListReferenceResponse (Prelude.Maybe TransitGatewayPrefixListReference)
modifyTransitGatewayPrefixListReferenceResponse_transitGatewayPrefixListReference :: Lens'
  ModifyTransitGatewayPrefixListReferenceResponse
  (Maybe TransitGatewayPrefixListReference)
modifyTransitGatewayPrefixListReferenceResponse_transitGatewayPrefixListReference = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyTransitGatewayPrefixListReferenceResponse' {Maybe TransitGatewayPrefixListReference
transitGatewayPrefixListReference :: Maybe TransitGatewayPrefixListReference
$sel:transitGatewayPrefixListReference:ModifyTransitGatewayPrefixListReferenceResponse' :: ModifyTransitGatewayPrefixListReferenceResponse
-> Maybe TransitGatewayPrefixListReference
transitGatewayPrefixListReference} -> Maybe TransitGatewayPrefixListReference
transitGatewayPrefixListReference) (\s :: ModifyTransitGatewayPrefixListReferenceResponse
s@ModifyTransitGatewayPrefixListReferenceResponse' {} Maybe TransitGatewayPrefixListReference
a -> ModifyTransitGatewayPrefixListReferenceResponse
s {$sel:transitGatewayPrefixListReference:ModifyTransitGatewayPrefixListReferenceResponse' :: Maybe TransitGatewayPrefixListReference
transitGatewayPrefixListReference = Maybe TransitGatewayPrefixListReference
a} :: ModifyTransitGatewayPrefixListReferenceResponse)

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

instance
  Prelude.NFData
    ModifyTransitGatewayPrefixListReferenceResponse
  where
  rnf :: ModifyTransitGatewayPrefixListReferenceResponse -> ()
rnf
    ModifyTransitGatewayPrefixListReferenceResponse' {Int
Maybe TransitGatewayPrefixListReference
httpStatus :: Int
transitGatewayPrefixListReference :: Maybe TransitGatewayPrefixListReference
$sel:httpStatus:ModifyTransitGatewayPrefixListReferenceResponse' :: ModifyTransitGatewayPrefixListReferenceResponse -> Int
$sel:transitGatewayPrefixListReference:ModifyTransitGatewayPrefixListReferenceResponse' :: ModifyTransitGatewayPrefixListReferenceResponse
-> Maybe TransitGatewayPrefixListReference
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Maybe TransitGatewayPrefixListReference
transitGatewayPrefixListReference
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus