{-# 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.DeleteTransitGatewayRouteTableAnnouncement
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Advertises to the transit gateway that a transit gateway route table is
-- deleted.
module Amazonka.EC2.DeleteTransitGatewayRouteTableAnnouncement
  ( -- * Creating a Request
    DeleteTransitGatewayRouteTableAnnouncement (..),
    newDeleteTransitGatewayRouteTableAnnouncement,

    -- * Request Lenses
    deleteTransitGatewayRouteTableAnnouncement_dryRun,
    deleteTransitGatewayRouteTableAnnouncement_transitGatewayRouteTableAnnouncementId,

    -- * Destructuring the Response
    DeleteTransitGatewayRouteTableAnnouncementResponse (..),
    newDeleteTransitGatewayRouteTableAnnouncementResponse,

    -- * Response Lenses
    deleteTransitGatewayRouteTableAnnouncementResponse_transitGatewayRouteTableAnnouncement,
    deleteTransitGatewayRouteTableAnnouncementResponse_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:/ 'newDeleteTransitGatewayRouteTableAnnouncement' smart constructor.
data DeleteTransitGatewayRouteTableAnnouncement = DeleteTransitGatewayRouteTableAnnouncement'
  { -- | 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@.
    DeleteTransitGatewayRouteTableAnnouncement -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The transit gateway route table ID that\'s being deleted.
    DeleteTransitGatewayRouteTableAnnouncement -> Text
transitGatewayRouteTableAnnouncementId :: Prelude.Text
  }
  deriving (DeleteTransitGatewayRouteTableAnnouncement
-> DeleteTransitGatewayRouteTableAnnouncement -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTransitGatewayRouteTableAnnouncement
-> DeleteTransitGatewayRouteTableAnnouncement -> Bool
$c/= :: DeleteTransitGatewayRouteTableAnnouncement
-> DeleteTransitGatewayRouteTableAnnouncement -> Bool
== :: DeleteTransitGatewayRouteTableAnnouncement
-> DeleteTransitGatewayRouteTableAnnouncement -> Bool
$c== :: DeleteTransitGatewayRouteTableAnnouncement
-> DeleteTransitGatewayRouteTableAnnouncement -> Bool
Prelude.Eq, ReadPrec [DeleteTransitGatewayRouteTableAnnouncement]
ReadPrec DeleteTransitGatewayRouteTableAnnouncement
Int -> ReadS DeleteTransitGatewayRouteTableAnnouncement
ReadS [DeleteTransitGatewayRouteTableAnnouncement]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteTransitGatewayRouteTableAnnouncement]
$creadListPrec :: ReadPrec [DeleteTransitGatewayRouteTableAnnouncement]
readPrec :: ReadPrec DeleteTransitGatewayRouteTableAnnouncement
$creadPrec :: ReadPrec DeleteTransitGatewayRouteTableAnnouncement
readList :: ReadS [DeleteTransitGatewayRouteTableAnnouncement]
$creadList :: ReadS [DeleteTransitGatewayRouteTableAnnouncement]
readsPrec :: Int -> ReadS DeleteTransitGatewayRouteTableAnnouncement
$creadsPrec :: Int -> ReadS DeleteTransitGatewayRouteTableAnnouncement
Prelude.Read, Int -> DeleteTransitGatewayRouteTableAnnouncement -> ShowS
[DeleteTransitGatewayRouteTableAnnouncement] -> ShowS
DeleteTransitGatewayRouteTableAnnouncement -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTransitGatewayRouteTableAnnouncement] -> ShowS
$cshowList :: [DeleteTransitGatewayRouteTableAnnouncement] -> ShowS
show :: DeleteTransitGatewayRouteTableAnnouncement -> String
$cshow :: DeleteTransitGatewayRouteTableAnnouncement -> String
showsPrec :: Int -> DeleteTransitGatewayRouteTableAnnouncement -> ShowS
$cshowsPrec :: Int -> DeleteTransitGatewayRouteTableAnnouncement -> ShowS
Prelude.Show, forall x.
Rep DeleteTransitGatewayRouteTableAnnouncement x
-> DeleteTransitGatewayRouteTableAnnouncement
forall x.
DeleteTransitGatewayRouteTableAnnouncement
-> Rep DeleteTransitGatewayRouteTableAnnouncement x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteTransitGatewayRouteTableAnnouncement x
-> DeleteTransitGatewayRouteTableAnnouncement
$cfrom :: forall x.
DeleteTransitGatewayRouteTableAnnouncement
-> Rep DeleteTransitGatewayRouteTableAnnouncement x
Prelude.Generic)

-- |
-- Create a value of 'DeleteTransitGatewayRouteTableAnnouncement' 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', 'deleteTransitGatewayRouteTableAnnouncement_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@.
--
-- 'transitGatewayRouteTableAnnouncementId', 'deleteTransitGatewayRouteTableAnnouncement_transitGatewayRouteTableAnnouncementId' - The transit gateway route table ID that\'s being deleted.
newDeleteTransitGatewayRouteTableAnnouncement ::
  -- | 'transitGatewayRouteTableAnnouncementId'
  Prelude.Text ->
  DeleteTransitGatewayRouteTableAnnouncement
newDeleteTransitGatewayRouteTableAnnouncement :: Text -> DeleteTransitGatewayRouteTableAnnouncement
newDeleteTransitGatewayRouteTableAnnouncement
  Text
pTransitGatewayRouteTableAnnouncementId_ =
    DeleteTransitGatewayRouteTableAnnouncement'
      { $sel:dryRun:DeleteTransitGatewayRouteTableAnnouncement' :: Maybe Bool
dryRun =
          forall a. Maybe a
Prelude.Nothing,
        $sel:transitGatewayRouteTableAnnouncementId:DeleteTransitGatewayRouteTableAnnouncement' :: Text
transitGatewayRouteTableAnnouncementId =
          Text
pTransitGatewayRouteTableAnnouncementId_
      }

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

-- | The transit gateway route table ID that\'s being deleted.
deleteTransitGatewayRouteTableAnnouncement_transitGatewayRouteTableAnnouncementId :: Lens.Lens' DeleteTransitGatewayRouteTableAnnouncement Prelude.Text
deleteTransitGatewayRouteTableAnnouncement_transitGatewayRouteTableAnnouncementId :: Lens' DeleteTransitGatewayRouteTableAnnouncement Text
deleteTransitGatewayRouteTableAnnouncement_transitGatewayRouteTableAnnouncementId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTransitGatewayRouteTableAnnouncement' {Text
transitGatewayRouteTableAnnouncementId :: Text
$sel:transitGatewayRouteTableAnnouncementId:DeleteTransitGatewayRouteTableAnnouncement' :: DeleteTransitGatewayRouteTableAnnouncement -> Text
transitGatewayRouteTableAnnouncementId} -> Text
transitGatewayRouteTableAnnouncementId) (\s :: DeleteTransitGatewayRouteTableAnnouncement
s@DeleteTransitGatewayRouteTableAnnouncement' {} Text
a -> DeleteTransitGatewayRouteTableAnnouncement
s {$sel:transitGatewayRouteTableAnnouncementId:DeleteTransitGatewayRouteTableAnnouncement' :: Text
transitGatewayRouteTableAnnouncementId = Text
a} :: DeleteTransitGatewayRouteTableAnnouncement)

instance
  Core.AWSRequest
    DeleteTransitGatewayRouteTableAnnouncement
  where
  type
    AWSResponse
      DeleteTransitGatewayRouteTableAnnouncement =
      DeleteTransitGatewayRouteTableAnnouncementResponse
  request :: (Service -> Service)
-> DeleteTransitGatewayRouteTableAnnouncement
-> Request DeleteTransitGatewayRouteTableAnnouncement
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 DeleteTransitGatewayRouteTableAnnouncement
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse DeleteTransitGatewayRouteTableAnnouncement)))
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 TransitGatewayRouteTableAnnouncement
-> Int -> DeleteTransitGatewayRouteTableAnnouncementResponse
DeleteTransitGatewayRouteTableAnnouncementResponse'
            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
"transitGatewayRouteTableAnnouncement")
            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
    DeleteTransitGatewayRouteTableAnnouncement
  where
  hashWithSalt :: Int -> DeleteTransitGatewayRouteTableAnnouncement -> Int
hashWithSalt
    Int
_salt
    DeleteTransitGatewayRouteTableAnnouncement' {Maybe Bool
Text
transitGatewayRouteTableAnnouncementId :: Text
dryRun :: Maybe Bool
$sel:transitGatewayRouteTableAnnouncementId:DeleteTransitGatewayRouteTableAnnouncement' :: DeleteTransitGatewayRouteTableAnnouncement -> Text
$sel:dryRun:DeleteTransitGatewayRouteTableAnnouncement' :: DeleteTransitGatewayRouteTableAnnouncement -> 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` Text
transitGatewayRouteTableAnnouncementId

instance
  Prelude.NFData
    DeleteTransitGatewayRouteTableAnnouncement
  where
  rnf :: DeleteTransitGatewayRouteTableAnnouncement -> ()
rnf DeleteTransitGatewayRouteTableAnnouncement' {Maybe Bool
Text
transitGatewayRouteTableAnnouncementId :: Text
dryRun :: Maybe Bool
$sel:transitGatewayRouteTableAnnouncementId:DeleteTransitGatewayRouteTableAnnouncement' :: DeleteTransitGatewayRouteTableAnnouncement -> Text
$sel:dryRun:DeleteTransitGatewayRouteTableAnnouncement' :: DeleteTransitGatewayRouteTableAnnouncement -> 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 Text
transitGatewayRouteTableAnnouncementId

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

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

instance
  Data.ToQuery
    DeleteTransitGatewayRouteTableAnnouncement
  where
  toQuery :: DeleteTransitGatewayRouteTableAnnouncement -> QueryString
toQuery
    DeleteTransitGatewayRouteTableAnnouncement' {Maybe Bool
Text
transitGatewayRouteTableAnnouncementId :: Text
dryRun :: Maybe Bool
$sel:transitGatewayRouteTableAnnouncementId:DeleteTransitGatewayRouteTableAnnouncement' :: DeleteTransitGatewayRouteTableAnnouncement -> Text
$sel:dryRun:DeleteTransitGatewayRouteTableAnnouncement' :: DeleteTransitGatewayRouteTableAnnouncement -> Maybe Bool
..} =
      forall a. Monoid a => [a] -> a
Prelude.mconcat
        [ ByteString
"Action"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DeleteTransitGatewayRouteTableAnnouncement" ::
                        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
"TransitGatewayRouteTableAnnouncementId"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
transitGatewayRouteTableAnnouncementId
        ]

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

-- |
-- Create a value of 'DeleteTransitGatewayRouteTableAnnouncementResponse' 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:
--
-- 'transitGatewayRouteTableAnnouncement', 'deleteTransitGatewayRouteTableAnnouncementResponse_transitGatewayRouteTableAnnouncement' - Provides details about a deleted transit gateway route table.
--
-- 'httpStatus', 'deleteTransitGatewayRouteTableAnnouncementResponse_httpStatus' - The response's http status code.
newDeleteTransitGatewayRouteTableAnnouncementResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DeleteTransitGatewayRouteTableAnnouncementResponse
newDeleteTransitGatewayRouteTableAnnouncementResponse :: Int -> DeleteTransitGatewayRouteTableAnnouncementResponse
newDeleteTransitGatewayRouteTableAnnouncementResponse
  Int
pHttpStatus_ =
    DeleteTransitGatewayRouteTableAnnouncementResponse'
      { $sel:transitGatewayRouteTableAnnouncement:DeleteTransitGatewayRouteTableAnnouncementResponse' :: Maybe TransitGatewayRouteTableAnnouncement
transitGatewayRouteTableAnnouncement =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DeleteTransitGatewayRouteTableAnnouncementResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | Provides details about a deleted transit gateway route table.
deleteTransitGatewayRouteTableAnnouncementResponse_transitGatewayRouteTableAnnouncement :: Lens.Lens' DeleteTransitGatewayRouteTableAnnouncementResponse (Prelude.Maybe TransitGatewayRouteTableAnnouncement)
deleteTransitGatewayRouteTableAnnouncementResponse_transitGatewayRouteTableAnnouncement :: Lens'
  DeleteTransitGatewayRouteTableAnnouncementResponse
  (Maybe TransitGatewayRouteTableAnnouncement)
deleteTransitGatewayRouteTableAnnouncementResponse_transitGatewayRouteTableAnnouncement = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTransitGatewayRouteTableAnnouncementResponse' {Maybe TransitGatewayRouteTableAnnouncement
transitGatewayRouteTableAnnouncement :: Maybe TransitGatewayRouteTableAnnouncement
$sel:transitGatewayRouteTableAnnouncement:DeleteTransitGatewayRouteTableAnnouncementResponse' :: DeleteTransitGatewayRouteTableAnnouncementResponse
-> Maybe TransitGatewayRouteTableAnnouncement
transitGatewayRouteTableAnnouncement} -> Maybe TransitGatewayRouteTableAnnouncement
transitGatewayRouteTableAnnouncement) (\s :: DeleteTransitGatewayRouteTableAnnouncementResponse
s@DeleteTransitGatewayRouteTableAnnouncementResponse' {} Maybe TransitGatewayRouteTableAnnouncement
a -> DeleteTransitGatewayRouteTableAnnouncementResponse
s {$sel:transitGatewayRouteTableAnnouncement:DeleteTransitGatewayRouteTableAnnouncementResponse' :: Maybe TransitGatewayRouteTableAnnouncement
transitGatewayRouteTableAnnouncement = Maybe TransitGatewayRouteTableAnnouncement
a} :: DeleteTransitGatewayRouteTableAnnouncementResponse)

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

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