{-# 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.RejectTransitGatewayMulticastDomainAssociations
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Rejects a request to associate cross-account subnets with a transit
-- gateway multicast domain.
module Amazonka.EC2.RejectTransitGatewayMulticastDomainAssociations
  ( -- * Creating a Request
    RejectTransitGatewayMulticastDomainAssociations (..),
    newRejectTransitGatewayMulticastDomainAssociations,

    -- * Request Lenses
    rejectTransitGatewayMulticastDomainAssociations_dryRun,
    rejectTransitGatewayMulticastDomainAssociations_subnetIds,
    rejectTransitGatewayMulticastDomainAssociations_transitGatewayAttachmentId,
    rejectTransitGatewayMulticastDomainAssociations_transitGatewayMulticastDomainId,

    -- * Destructuring the Response
    RejectTransitGatewayMulticastDomainAssociationsResponse (..),
    newRejectTransitGatewayMulticastDomainAssociationsResponse,

    -- * Response Lenses
    rejectTransitGatewayMulticastDomainAssociationsResponse_associations,
    rejectTransitGatewayMulticastDomainAssociationsResponse_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:/ 'newRejectTransitGatewayMulticastDomainAssociations' smart constructor.
data RejectTransitGatewayMulticastDomainAssociations = RejectTransitGatewayMulticastDomainAssociations'
  { -- | 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@.
    RejectTransitGatewayMulticastDomainAssociations -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The IDs of the subnets to associate with the transit gateway multicast
    -- domain.
    RejectTransitGatewayMulticastDomainAssociations -> Maybe [Text]
subnetIds :: Prelude.Maybe [Prelude.Text],
    -- | The ID of the transit gateway attachment.
    RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
transitGatewayAttachmentId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the transit gateway multicast domain.
    RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
transitGatewayMulticastDomainId :: Prelude.Maybe Prelude.Text
  }
  deriving (RejectTransitGatewayMulticastDomainAssociations
-> RejectTransitGatewayMulticastDomainAssociations -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RejectTransitGatewayMulticastDomainAssociations
-> RejectTransitGatewayMulticastDomainAssociations -> Bool
$c/= :: RejectTransitGatewayMulticastDomainAssociations
-> RejectTransitGatewayMulticastDomainAssociations -> Bool
== :: RejectTransitGatewayMulticastDomainAssociations
-> RejectTransitGatewayMulticastDomainAssociations -> Bool
$c== :: RejectTransitGatewayMulticastDomainAssociations
-> RejectTransitGatewayMulticastDomainAssociations -> Bool
Prelude.Eq, ReadPrec [RejectTransitGatewayMulticastDomainAssociations]
ReadPrec RejectTransitGatewayMulticastDomainAssociations
Int -> ReadS RejectTransitGatewayMulticastDomainAssociations
ReadS [RejectTransitGatewayMulticastDomainAssociations]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RejectTransitGatewayMulticastDomainAssociations]
$creadListPrec :: ReadPrec [RejectTransitGatewayMulticastDomainAssociations]
readPrec :: ReadPrec RejectTransitGatewayMulticastDomainAssociations
$creadPrec :: ReadPrec RejectTransitGatewayMulticastDomainAssociations
readList :: ReadS [RejectTransitGatewayMulticastDomainAssociations]
$creadList :: ReadS [RejectTransitGatewayMulticastDomainAssociations]
readsPrec :: Int -> ReadS RejectTransitGatewayMulticastDomainAssociations
$creadsPrec :: Int -> ReadS RejectTransitGatewayMulticastDomainAssociations
Prelude.Read, Int -> RejectTransitGatewayMulticastDomainAssociations -> ShowS
[RejectTransitGatewayMulticastDomainAssociations] -> ShowS
RejectTransitGatewayMulticastDomainAssociations -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RejectTransitGatewayMulticastDomainAssociations] -> ShowS
$cshowList :: [RejectTransitGatewayMulticastDomainAssociations] -> ShowS
show :: RejectTransitGatewayMulticastDomainAssociations -> String
$cshow :: RejectTransitGatewayMulticastDomainAssociations -> String
showsPrec :: Int -> RejectTransitGatewayMulticastDomainAssociations -> ShowS
$cshowsPrec :: Int -> RejectTransitGatewayMulticastDomainAssociations -> ShowS
Prelude.Show, forall x.
Rep RejectTransitGatewayMulticastDomainAssociations x
-> RejectTransitGatewayMulticastDomainAssociations
forall x.
RejectTransitGatewayMulticastDomainAssociations
-> Rep RejectTransitGatewayMulticastDomainAssociations x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RejectTransitGatewayMulticastDomainAssociations x
-> RejectTransitGatewayMulticastDomainAssociations
$cfrom :: forall x.
RejectTransitGatewayMulticastDomainAssociations
-> Rep RejectTransitGatewayMulticastDomainAssociations x
Prelude.Generic)

-- |
-- Create a value of 'RejectTransitGatewayMulticastDomainAssociations' 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', 'rejectTransitGatewayMulticastDomainAssociations_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@.
--
-- 'subnetIds', 'rejectTransitGatewayMulticastDomainAssociations_subnetIds' - The IDs of the subnets to associate with the transit gateway multicast
-- domain.
--
-- 'transitGatewayAttachmentId', 'rejectTransitGatewayMulticastDomainAssociations_transitGatewayAttachmentId' - The ID of the transit gateway attachment.
--
-- 'transitGatewayMulticastDomainId', 'rejectTransitGatewayMulticastDomainAssociations_transitGatewayMulticastDomainId' - The ID of the transit gateway multicast domain.
newRejectTransitGatewayMulticastDomainAssociations ::
  RejectTransitGatewayMulticastDomainAssociations
newRejectTransitGatewayMulticastDomainAssociations :: RejectTransitGatewayMulticastDomainAssociations
newRejectTransitGatewayMulticastDomainAssociations =
  RejectTransitGatewayMulticastDomainAssociations'
    { $sel:dryRun:RejectTransitGatewayMulticastDomainAssociations' :: Maybe Bool
dryRun =
        forall a. Maybe a
Prelude.Nothing,
      $sel:subnetIds:RejectTransitGatewayMulticastDomainAssociations' :: Maybe [Text]
subnetIds =
        forall a. Maybe a
Prelude.Nothing,
      $sel:transitGatewayAttachmentId:RejectTransitGatewayMulticastDomainAssociations' :: Maybe Text
transitGatewayAttachmentId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:transitGatewayMulticastDomainId:RejectTransitGatewayMulticastDomainAssociations' :: Maybe Text
transitGatewayMulticastDomainId =
        forall a. Maybe a
Prelude.Nothing
    }

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

-- | The IDs of the subnets to associate with the transit gateway multicast
-- domain.
rejectTransitGatewayMulticastDomainAssociations_subnetIds :: Lens.Lens' RejectTransitGatewayMulticastDomainAssociations (Prelude.Maybe [Prelude.Text])
rejectTransitGatewayMulticastDomainAssociations_subnetIds :: Lens'
  RejectTransitGatewayMulticastDomainAssociations (Maybe [Text])
rejectTransitGatewayMulticastDomainAssociations_subnetIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RejectTransitGatewayMulticastDomainAssociations' {Maybe [Text]
subnetIds :: Maybe [Text]
$sel:subnetIds:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe [Text]
subnetIds} -> Maybe [Text]
subnetIds) (\s :: RejectTransitGatewayMulticastDomainAssociations
s@RejectTransitGatewayMulticastDomainAssociations' {} Maybe [Text]
a -> RejectTransitGatewayMulticastDomainAssociations
s {$sel:subnetIds:RejectTransitGatewayMulticastDomainAssociations' :: Maybe [Text]
subnetIds = Maybe [Text]
a} :: RejectTransitGatewayMulticastDomainAssociations) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

-- | The ID of the transit gateway multicast domain.
rejectTransitGatewayMulticastDomainAssociations_transitGatewayMulticastDomainId :: Lens.Lens' RejectTransitGatewayMulticastDomainAssociations (Prelude.Maybe Prelude.Text)
rejectTransitGatewayMulticastDomainAssociations_transitGatewayMulticastDomainId :: Lens' RejectTransitGatewayMulticastDomainAssociations (Maybe Text)
rejectTransitGatewayMulticastDomainAssociations_transitGatewayMulticastDomainId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RejectTransitGatewayMulticastDomainAssociations' {Maybe Text
transitGatewayMulticastDomainId :: Maybe Text
$sel:transitGatewayMulticastDomainId:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
transitGatewayMulticastDomainId} -> Maybe Text
transitGatewayMulticastDomainId) (\s :: RejectTransitGatewayMulticastDomainAssociations
s@RejectTransitGatewayMulticastDomainAssociations' {} Maybe Text
a -> RejectTransitGatewayMulticastDomainAssociations
s {$sel:transitGatewayMulticastDomainId:RejectTransitGatewayMulticastDomainAssociations' :: Maybe Text
transitGatewayMulticastDomainId = Maybe Text
a} :: RejectTransitGatewayMulticastDomainAssociations)

instance
  Core.AWSRequest
    RejectTransitGatewayMulticastDomainAssociations
  where
  type
    AWSResponse
      RejectTransitGatewayMulticastDomainAssociations =
      RejectTransitGatewayMulticastDomainAssociationsResponse
  request :: (Service -> Service)
-> RejectTransitGatewayMulticastDomainAssociations
-> Request RejectTransitGatewayMulticastDomainAssociations
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 RejectTransitGatewayMulticastDomainAssociations
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse RejectTransitGatewayMulticastDomainAssociations)))
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 TransitGatewayMulticastDomainAssociations
-> Int -> RejectTransitGatewayMulticastDomainAssociationsResponse
RejectTransitGatewayMulticastDomainAssociationsResponse'
            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
"associations")
            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
    RejectTransitGatewayMulticastDomainAssociations
  where
  hashWithSalt :: Int -> RejectTransitGatewayMulticastDomainAssociations -> Int
hashWithSalt
    Int
_salt
    RejectTransitGatewayMulticastDomainAssociations' {Maybe Bool
Maybe [Text]
Maybe Text
transitGatewayMulticastDomainId :: Maybe Text
transitGatewayAttachmentId :: Maybe Text
subnetIds :: Maybe [Text]
dryRun :: Maybe Bool
$sel:transitGatewayMulticastDomainId:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
$sel:transitGatewayAttachmentId:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
$sel:subnetIds:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe [Text]
$sel:dryRun:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> 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]
subnetIds
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
transitGatewayAttachmentId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
transitGatewayMulticastDomainId

instance
  Prelude.NFData
    RejectTransitGatewayMulticastDomainAssociations
  where
  rnf :: RejectTransitGatewayMulticastDomainAssociations -> ()
rnf
    RejectTransitGatewayMulticastDomainAssociations' {Maybe Bool
Maybe [Text]
Maybe Text
transitGatewayMulticastDomainId :: Maybe Text
transitGatewayAttachmentId :: Maybe Text
subnetIds :: Maybe [Text]
dryRun :: Maybe Bool
$sel:transitGatewayMulticastDomainId:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
$sel:transitGatewayAttachmentId:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
$sel:subnetIds:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe [Text]
$sel:dryRun:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> 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]
subnetIds
        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
transitGatewayMulticastDomainId

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

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

instance
  Data.ToQuery
    RejectTransitGatewayMulticastDomainAssociations
  where
  toQuery :: RejectTransitGatewayMulticastDomainAssociations -> QueryString
toQuery
    RejectTransitGatewayMulticastDomainAssociations' {Maybe Bool
Maybe [Text]
Maybe Text
transitGatewayMulticastDomainId :: Maybe Text
transitGatewayAttachmentId :: Maybe Text
subnetIds :: Maybe [Text]
dryRun :: Maybe Bool
$sel:transitGatewayMulticastDomainId:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
$sel:transitGatewayAttachmentId:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Text
$sel:subnetIds:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe [Text]
$sel:dryRun:RejectTransitGatewayMulticastDomainAssociations' :: RejectTransitGatewayMulticastDomainAssociations -> Maybe Bool
..} =
      forall a. Monoid a => [a] -> a
Prelude.mconcat
        [ ByteString
"Action"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"RejectTransitGatewayMulticastDomainAssociations" ::
                        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,
          forall a. ToQuery a => a -> QueryString
Data.toQuery
            (forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"SubnetIds" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
subnetIds),
          ByteString
"TransitGatewayAttachmentId"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
transitGatewayAttachmentId,
          ByteString
"TransitGatewayMulticastDomainId"
            forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
transitGatewayMulticastDomainId
        ]

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

-- |
-- Create a value of 'RejectTransitGatewayMulticastDomainAssociationsResponse' 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:
--
-- 'associations', 'rejectTransitGatewayMulticastDomainAssociationsResponse_associations' - Information about the multicast domain associations.
--
-- 'httpStatus', 'rejectTransitGatewayMulticastDomainAssociationsResponse_httpStatus' - The response's http status code.
newRejectTransitGatewayMulticastDomainAssociationsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  RejectTransitGatewayMulticastDomainAssociationsResponse
newRejectTransitGatewayMulticastDomainAssociationsResponse :: Int -> RejectTransitGatewayMulticastDomainAssociationsResponse
newRejectTransitGatewayMulticastDomainAssociationsResponse
  Int
pHttpStatus_ =
    RejectTransitGatewayMulticastDomainAssociationsResponse'
      { $sel:associations:RejectTransitGatewayMulticastDomainAssociationsResponse' :: Maybe TransitGatewayMulticastDomainAssociations
associations =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:RejectTransitGatewayMulticastDomainAssociationsResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | Information about the multicast domain associations.
rejectTransitGatewayMulticastDomainAssociationsResponse_associations :: Lens.Lens' RejectTransitGatewayMulticastDomainAssociationsResponse (Prelude.Maybe TransitGatewayMulticastDomainAssociations)
rejectTransitGatewayMulticastDomainAssociationsResponse_associations :: Lens'
  RejectTransitGatewayMulticastDomainAssociationsResponse
  (Maybe TransitGatewayMulticastDomainAssociations)
rejectTransitGatewayMulticastDomainAssociationsResponse_associations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RejectTransitGatewayMulticastDomainAssociationsResponse' {Maybe TransitGatewayMulticastDomainAssociations
associations :: Maybe TransitGatewayMulticastDomainAssociations
$sel:associations:RejectTransitGatewayMulticastDomainAssociationsResponse' :: RejectTransitGatewayMulticastDomainAssociationsResponse
-> Maybe TransitGatewayMulticastDomainAssociations
associations} -> Maybe TransitGatewayMulticastDomainAssociations
associations) (\s :: RejectTransitGatewayMulticastDomainAssociationsResponse
s@RejectTransitGatewayMulticastDomainAssociationsResponse' {} Maybe TransitGatewayMulticastDomainAssociations
a -> RejectTransitGatewayMulticastDomainAssociationsResponse
s {$sel:associations:RejectTransitGatewayMulticastDomainAssociationsResponse' :: Maybe TransitGatewayMulticastDomainAssociations
associations = Maybe TransitGatewayMulticastDomainAssociations
a} :: RejectTransitGatewayMulticastDomainAssociationsResponse)

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

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