{-# 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.DisableTransitGatewayRouteTablePropagation
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Disables the specified resource attachment from propagating routes to
-- the specified propagation route table.
module Amazonka.EC2.DisableTransitGatewayRouteTablePropagation
  ( -- * Creating a Request
    DisableTransitGatewayRouteTablePropagation (..),
    newDisableTransitGatewayRouteTablePropagation,

    -- * Request Lenses
    disableTransitGatewayRouteTablePropagation_dryRun,
    disableTransitGatewayRouteTablePropagation_transitGatewayAttachmentId,
    disableTransitGatewayRouteTablePropagation_transitGatewayRouteTableAnnouncementId,
    disableTransitGatewayRouteTablePropagation_transitGatewayRouteTableId,

    -- * Destructuring the Response
    DisableTransitGatewayRouteTablePropagationResponse (..),
    newDisableTransitGatewayRouteTablePropagationResponse,

    -- * Response Lenses
    disableTransitGatewayRouteTablePropagationResponse_propagation,
    disableTransitGatewayRouteTablePropagationResponse_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:/ 'newDisableTransitGatewayRouteTablePropagation' smart constructor.
data DisableTransitGatewayRouteTablePropagation = DisableTransitGatewayRouteTablePropagation'
  { -- | 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@.
    DisableTransitGatewayRouteTablePropagation -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The ID of the attachment.
    DisableTransitGatewayRouteTablePropagation -> Maybe Text
transitGatewayAttachmentId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the route table announcement.
    DisableTransitGatewayRouteTablePropagation -> Maybe Text
transitGatewayRouteTableAnnouncementId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the propagation route table.
    DisableTransitGatewayRouteTablePropagation -> Text
transitGatewayRouteTableId :: Prelude.Text
  }
  deriving (DisableTransitGatewayRouteTablePropagation
-> DisableTransitGatewayRouteTablePropagation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisableTransitGatewayRouteTablePropagation
-> DisableTransitGatewayRouteTablePropagation -> Bool
$c/= :: DisableTransitGatewayRouteTablePropagation
-> DisableTransitGatewayRouteTablePropagation -> Bool
== :: DisableTransitGatewayRouteTablePropagation
-> DisableTransitGatewayRouteTablePropagation -> Bool
$c== :: DisableTransitGatewayRouteTablePropagation
-> DisableTransitGatewayRouteTablePropagation -> Bool
Prelude.Eq, ReadPrec [DisableTransitGatewayRouteTablePropagation]
ReadPrec DisableTransitGatewayRouteTablePropagation
Int -> ReadS DisableTransitGatewayRouteTablePropagation
ReadS [DisableTransitGatewayRouteTablePropagation]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisableTransitGatewayRouteTablePropagation]
$creadListPrec :: ReadPrec [DisableTransitGatewayRouteTablePropagation]
readPrec :: ReadPrec DisableTransitGatewayRouteTablePropagation
$creadPrec :: ReadPrec DisableTransitGatewayRouteTablePropagation
readList :: ReadS [DisableTransitGatewayRouteTablePropagation]
$creadList :: ReadS [DisableTransitGatewayRouteTablePropagation]
readsPrec :: Int -> ReadS DisableTransitGatewayRouteTablePropagation
$creadsPrec :: Int -> ReadS DisableTransitGatewayRouteTablePropagation
Prelude.Read, Int -> DisableTransitGatewayRouteTablePropagation -> ShowS
[DisableTransitGatewayRouteTablePropagation] -> ShowS
DisableTransitGatewayRouteTablePropagation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisableTransitGatewayRouteTablePropagation] -> ShowS
$cshowList :: [DisableTransitGatewayRouteTablePropagation] -> ShowS
show :: DisableTransitGatewayRouteTablePropagation -> String
$cshow :: DisableTransitGatewayRouteTablePropagation -> String
showsPrec :: Int -> DisableTransitGatewayRouteTablePropagation -> ShowS
$cshowsPrec :: Int -> DisableTransitGatewayRouteTablePropagation -> ShowS
Prelude.Show, forall x.
Rep DisableTransitGatewayRouteTablePropagation x
-> DisableTransitGatewayRouteTablePropagation
forall x.
DisableTransitGatewayRouteTablePropagation
-> Rep DisableTransitGatewayRouteTablePropagation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisableTransitGatewayRouteTablePropagation x
-> DisableTransitGatewayRouteTablePropagation
$cfrom :: forall x.
DisableTransitGatewayRouteTablePropagation
-> Rep DisableTransitGatewayRouteTablePropagation x
Prelude.Generic)

-- |
-- Create a value of 'DisableTransitGatewayRouteTablePropagation' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'dryRun', 'disableTransitGatewayRouteTablePropagation_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', 'disableTransitGatewayRouteTablePropagation_transitGatewayAttachmentId' - The ID of the attachment.
--
-- 'transitGatewayRouteTableAnnouncementId', 'disableTransitGatewayRouteTablePropagation_transitGatewayRouteTableAnnouncementId' - The ID of the route table announcement.
--
-- 'transitGatewayRouteTableId', 'disableTransitGatewayRouteTablePropagation_transitGatewayRouteTableId' - The ID of the propagation route table.
newDisableTransitGatewayRouteTablePropagation ::
  -- | 'transitGatewayRouteTableId'
  Prelude.Text ->
  DisableTransitGatewayRouteTablePropagation
newDisableTransitGatewayRouteTablePropagation :: Text -> DisableTransitGatewayRouteTablePropagation
newDisableTransitGatewayRouteTablePropagation
  Text
pTransitGatewayRouteTableId_ =
    DisableTransitGatewayRouteTablePropagation'
      { $sel:dryRun:DisableTransitGatewayRouteTablePropagation' :: Maybe Bool
dryRun =
          forall a. Maybe a
Prelude.Nothing,
        $sel:transitGatewayAttachmentId:DisableTransitGatewayRouteTablePropagation' :: Maybe Text
transitGatewayAttachmentId =
          forall a. Maybe a
Prelude.Nothing,
        $sel:transitGatewayRouteTableAnnouncementId:DisableTransitGatewayRouteTablePropagation' :: Maybe Text
transitGatewayRouteTableAnnouncementId =
          forall a. Maybe a
Prelude.Nothing,
        $sel:transitGatewayRouteTableId:DisableTransitGatewayRouteTablePropagation' :: Text
transitGatewayRouteTableId =
          Text
pTransitGatewayRouteTableId_
      }

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

-- | The ID of the attachment.
disableTransitGatewayRouteTablePropagation_transitGatewayAttachmentId :: Lens.Lens' DisableTransitGatewayRouteTablePropagation (Prelude.Maybe Prelude.Text)
disableTransitGatewayRouteTablePropagation_transitGatewayAttachmentId :: Lens' DisableTransitGatewayRouteTablePropagation (Maybe Text)
disableTransitGatewayRouteTablePropagation_transitGatewayAttachmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisableTransitGatewayRouteTablePropagation' {Maybe Text
transitGatewayAttachmentId :: Maybe Text
$sel:transitGatewayAttachmentId:DisableTransitGatewayRouteTablePropagation' :: DisableTransitGatewayRouteTablePropagation -> Maybe Text
transitGatewayAttachmentId} -> Maybe Text
transitGatewayAttachmentId) (\s :: DisableTransitGatewayRouteTablePropagation
s@DisableTransitGatewayRouteTablePropagation' {} Maybe Text
a -> DisableTransitGatewayRouteTablePropagation
s {$sel:transitGatewayAttachmentId:DisableTransitGatewayRouteTablePropagation' :: Maybe Text
transitGatewayAttachmentId = Maybe Text
a} :: DisableTransitGatewayRouteTablePropagation)

-- | The ID of the route table announcement.
disableTransitGatewayRouteTablePropagation_transitGatewayRouteTableAnnouncementId :: Lens.Lens' DisableTransitGatewayRouteTablePropagation (Prelude.Maybe Prelude.Text)
disableTransitGatewayRouteTablePropagation_transitGatewayRouteTableAnnouncementId :: Lens' DisableTransitGatewayRouteTablePropagation (Maybe Text)
disableTransitGatewayRouteTablePropagation_transitGatewayRouteTableAnnouncementId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisableTransitGatewayRouteTablePropagation' {Maybe Text
transitGatewayRouteTableAnnouncementId :: Maybe Text
$sel:transitGatewayRouteTableAnnouncementId:DisableTransitGatewayRouteTablePropagation' :: DisableTransitGatewayRouteTablePropagation -> Maybe Text
transitGatewayRouteTableAnnouncementId} -> Maybe Text
transitGatewayRouteTableAnnouncementId) (\s :: DisableTransitGatewayRouteTablePropagation
s@DisableTransitGatewayRouteTablePropagation' {} Maybe Text
a -> DisableTransitGatewayRouteTablePropagation
s {$sel:transitGatewayRouteTableAnnouncementId:DisableTransitGatewayRouteTablePropagation' :: Maybe Text
transitGatewayRouteTableAnnouncementId = Maybe Text
a} :: DisableTransitGatewayRouteTablePropagation)

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

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

instance
  Prelude.NFData
    DisableTransitGatewayRouteTablePropagation
  where
  rnf :: DisableTransitGatewayRouteTablePropagation -> ()
rnf DisableTransitGatewayRouteTablePropagation' {Maybe Bool
Maybe Text
Text
transitGatewayRouteTableId :: Text
transitGatewayRouteTableAnnouncementId :: Maybe Text
transitGatewayAttachmentId :: Maybe Text
dryRun :: Maybe Bool
$sel:transitGatewayRouteTableId:DisableTransitGatewayRouteTablePropagation' :: DisableTransitGatewayRouteTablePropagation -> Text
$sel:transitGatewayRouteTableAnnouncementId:DisableTransitGatewayRouteTablePropagation' :: DisableTransitGatewayRouteTablePropagation -> Maybe Text
$sel:transitGatewayAttachmentId:DisableTransitGatewayRouteTablePropagation' :: DisableTransitGatewayRouteTablePropagation -> Maybe Text
$sel:dryRun:DisableTransitGatewayRouteTablePropagation' :: DisableTransitGatewayRouteTablePropagation -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
transitGatewayAttachmentId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
transitGatewayRouteTableAnnouncementId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
transitGatewayRouteTableId

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

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

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

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

-- |
-- Create a value of 'DisableTransitGatewayRouteTablePropagationResponse' 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:
--
-- 'propagation', 'disableTransitGatewayRouteTablePropagationResponse_propagation' - Information about route propagation.
--
-- 'httpStatus', 'disableTransitGatewayRouteTablePropagationResponse_httpStatus' - The response's http status code.
newDisableTransitGatewayRouteTablePropagationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DisableTransitGatewayRouteTablePropagationResponse
newDisableTransitGatewayRouteTablePropagationResponse :: Int -> DisableTransitGatewayRouteTablePropagationResponse
newDisableTransitGatewayRouteTablePropagationResponse
  Int
pHttpStatus_ =
    DisableTransitGatewayRouteTablePropagationResponse'
      { $sel:propagation:DisableTransitGatewayRouteTablePropagationResponse' :: Maybe TransitGatewayPropagation
propagation =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DisableTransitGatewayRouteTablePropagationResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | Information about route propagation.
disableTransitGatewayRouteTablePropagationResponse_propagation :: Lens.Lens' DisableTransitGatewayRouteTablePropagationResponse (Prelude.Maybe TransitGatewayPropagation)
disableTransitGatewayRouteTablePropagationResponse_propagation :: Lens'
  DisableTransitGatewayRouteTablePropagationResponse
  (Maybe TransitGatewayPropagation)
disableTransitGatewayRouteTablePropagationResponse_propagation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisableTransitGatewayRouteTablePropagationResponse' {Maybe TransitGatewayPropagation
propagation :: Maybe TransitGatewayPropagation
$sel:propagation:DisableTransitGatewayRouteTablePropagationResponse' :: DisableTransitGatewayRouteTablePropagationResponse
-> Maybe TransitGatewayPropagation
propagation} -> Maybe TransitGatewayPropagation
propagation) (\s :: DisableTransitGatewayRouteTablePropagationResponse
s@DisableTransitGatewayRouteTablePropagationResponse' {} Maybe TransitGatewayPropagation
a -> DisableTransitGatewayRouteTablePropagationResponse
s {$sel:propagation:DisableTransitGatewayRouteTablePropagationResponse' :: Maybe TransitGatewayPropagation
propagation = Maybe TransitGatewayPropagation
a} :: DisableTransitGatewayRouteTablePropagationResponse)

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

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