{-# 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.DisassociateTransitGatewayRouteTable
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Disassociates a resource attachment from a transit gateway route table.
module Amazonka.EC2.DisassociateTransitGatewayRouteTable
  ( -- * Creating a Request
    DisassociateTransitGatewayRouteTable (..),
    newDisassociateTransitGatewayRouteTable,

    -- * Request Lenses
    disassociateTransitGatewayRouteTable_dryRun,
    disassociateTransitGatewayRouteTable_transitGatewayRouteTableId,
    disassociateTransitGatewayRouteTable_transitGatewayAttachmentId,

    -- * Destructuring the Response
    DisassociateTransitGatewayRouteTableResponse (..),
    newDisassociateTransitGatewayRouteTableResponse,

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

-- |
-- Create a value of 'DisassociateTransitGatewayRouteTable' 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', 'disassociateTransitGatewayRouteTable_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@.
--
-- 'transitGatewayRouteTableId', 'disassociateTransitGatewayRouteTable_transitGatewayRouteTableId' - The ID of the transit gateway route table.
--
-- 'transitGatewayAttachmentId', 'disassociateTransitGatewayRouteTable_transitGatewayAttachmentId' - The ID of the attachment.
newDisassociateTransitGatewayRouteTable ::
  -- | 'transitGatewayRouteTableId'
  Prelude.Text ->
  -- | 'transitGatewayAttachmentId'
  Prelude.Text ->
  DisassociateTransitGatewayRouteTable
newDisassociateTransitGatewayRouteTable :: Text -> Text -> DisassociateTransitGatewayRouteTable
newDisassociateTransitGatewayRouteTable
  Text
pTransitGatewayRouteTableId_
  Text
pTransitGatewayAttachmentId_ =
    DisassociateTransitGatewayRouteTable'
      { $sel:dryRun:DisassociateTransitGatewayRouteTable' :: Maybe Bool
dryRun =
          forall a. Maybe a
Prelude.Nothing,
        $sel:transitGatewayRouteTableId:DisassociateTransitGatewayRouteTable' :: Text
transitGatewayRouteTableId =
          Text
pTransitGatewayRouteTableId_,
        $sel:transitGatewayAttachmentId:DisassociateTransitGatewayRouteTable' :: Text
transitGatewayAttachmentId =
          Text
pTransitGatewayAttachmentId_
      }

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

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

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

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

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

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

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

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

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

-- |
-- Create a value of 'DisassociateTransitGatewayRouteTableResponse' 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:
--
-- 'association', 'disassociateTransitGatewayRouteTableResponse_association' - Information about the association.
--
-- 'httpStatus', 'disassociateTransitGatewayRouteTableResponse_httpStatus' - The response's http status code.
newDisassociateTransitGatewayRouteTableResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DisassociateTransitGatewayRouteTableResponse
newDisassociateTransitGatewayRouteTableResponse :: Int -> DisassociateTransitGatewayRouteTableResponse
newDisassociateTransitGatewayRouteTableResponse
  Int
pHttpStatus_ =
    DisassociateTransitGatewayRouteTableResponse'
      { $sel:association:DisassociateTransitGatewayRouteTableResponse' :: Maybe TransitGatewayAssociation
association =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DisassociateTransitGatewayRouteTableResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Information about the association.
disassociateTransitGatewayRouteTableResponse_association :: Lens.Lens' DisassociateTransitGatewayRouteTableResponse (Prelude.Maybe TransitGatewayAssociation)
disassociateTransitGatewayRouteTableResponse_association :: Lens'
  DisassociateTransitGatewayRouteTableResponse
  (Maybe TransitGatewayAssociation)
disassociateTransitGatewayRouteTableResponse_association = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateTransitGatewayRouteTableResponse' {Maybe TransitGatewayAssociation
association :: Maybe TransitGatewayAssociation
$sel:association:DisassociateTransitGatewayRouteTableResponse' :: DisassociateTransitGatewayRouteTableResponse
-> Maybe TransitGatewayAssociation
association} -> Maybe TransitGatewayAssociation
association) (\s :: DisassociateTransitGatewayRouteTableResponse
s@DisassociateTransitGatewayRouteTableResponse' {} Maybe TransitGatewayAssociation
a -> DisassociateTransitGatewayRouteTableResponse
s {$sel:association:DisassociateTransitGatewayRouteTableResponse' :: Maybe TransitGatewayAssociation
association = Maybe TransitGatewayAssociation
a} :: DisassociateTransitGatewayRouteTableResponse)

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

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