{-# 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.ModifyVpcEndpointConnectionNotification
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Modifies a connection notification for VPC endpoint or VPC endpoint
-- service. You can change the SNS topic for the notification, or the
-- events for which to be notified.
module Amazonka.EC2.ModifyVpcEndpointConnectionNotification
  ( -- * Creating a Request
    ModifyVpcEndpointConnectionNotification (..),
    newModifyVpcEndpointConnectionNotification,

    -- * Request Lenses
    modifyVpcEndpointConnectionNotification_connectionEvents,
    modifyVpcEndpointConnectionNotification_connectionNotificationArn,
    modifyVpcEndpointConnectionNotification_dryRun,
    modifyVpcEndpointConnectionNotification_connectionNotificationId,

    -- * Destructuring the Response
    ModifyVpcEndpointConnectionNotificationResponse (..),
    newModifyVpcEndpointConnectionNotificationResponse,

    -- * Response Lenses
    modifyVpcEndpointConnectionNotificationResponse_returnValue,
    modifyVpcEndpointConnectionNotificationResponse_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:/ 'newModifyVpcEndpointConnectionNotification' smart constructor.
data ModifyVpcEndpointConnectionNotification = ModifyVpcEndpointConnectionNotification'
  { -- | One or more events for the endpoint. Valid values are @Accept@,
    -- @Connect@, @Delete@, and @Reject@.
    ModifyVpcEndpointConnectionNotification -> Maybe [Text]
connectionEvents :: Prelude.Maybe [Prelude.Text],
    -- | The ARN for the SNS topic for the notification.
    ModifyVpcEndpointConnectionNotification -> Maybe Text
connectionNotificationArn :: Prelude.Maybe Prelude.Text,
    -- | 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@.
    ModifyVpcEndpointConnectionNotification -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | The ID of the notification.
    ModifyVpcEndpointConnectionNotification -> Text
connectionNotificationId :: Prelude.Text
  }
  deriving (ModifyVpcEndpointConnectionNotification
-> ModifyVpcEndpointConnectionNotification -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyVpcEndpointConnectionNotification
-> ModifyVpcEndpointConnectionNotification -> Bool
$c/= :: ModifyVpcEndpointConnectionNotification
-> ModifyVpcEndpointConnectionNotification -> Bool
== :: ModifyVpcEndpointConnectionNotification
-> ModifyVpcEndpointConnectionNotification -> Bool
$c== :: ModifyVpcEndpointConnectionNotification
-> ModifyVpcEndpointConnectionNotification -> Bool
Prelude.Eq, ReadPrec [ModifyVpcEndpointConnectionNotification]
ReadPrec ModifyVpcEndpointConnectionNotification
Int -> ReadS ModifyVpcEndpointConnectionNotification
ReadS [ModifyVpcEndpointConnectionNotification]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyVpcEndpointConnectionNotification]
$creadListPrec :: ReadPrec [ModifyVpcEndpointConnectionNotification]
readPrec :: ReadPrec ModifyVpcEndpointConnectionNotification
$creadPrec :: ReadPrec ModifyVpcEndpointConnectionNotification
readList :: ReadS [ModifyVpcEndpointConnectionNotification]
$creadList :: ReadS [ModifyVpcEndpointConnectionNotification]
readsPrec :: Int -> ReadS ModifyVpcEndpointConnectionNotification
$creadsPrec :: Int -> ReadS ModifyVpcEndpointConnectionNotification
Prelude.Read, Int -> ModifyVpcEndpointConnectionNotification -> ShowS
[ModifyVpcEndpointConnectionNotification] -> ShowS
ModifyVpcEndpointConnectionNotification -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyVpcEndpointConnectionNotification] -> ShowS
$cshowList :: [ModifyVpcEndpointConnectionNotification] -> ShowS
show :: ModifyVpcEndpointConnectionNotification -> String
$cshow :: ModifyVpcEndpointConnectionNotification -> String
showsPrec :: Int -> ModifyVpcEndpointConnectionNotification -> ShowS
$cshowsPrec :: Int -> ModifyVpcEndpointConnectionNotification -> ShowS
Prelude.Show, forall x.
Rep ModifyVpcEndpointConnectionNotification x
-> ModifyVpcEndpointConnectionNotification
forall x.
ModifyVpcEndpointConnectionNotification
-> Rep ModifyVpcEndpointConnectionNotification x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyVpcEndpointConnectionNotification x
-> ModifyVpcEndpointConnectionNotification
$cfrom :: forall x.
ModifyVpcEndpointConnectionNotification
-> Rep ModifyVpcEndpointConnectionNotification x
Prelude.Generic)

-- |
-- Create a value of 'ModifyVpcEndpointConnectionNotification' 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:
--
-- 'connectionEvents', 'modifyVpcEndpointConnectionNotification_connectionEvents' - One or more events for the endpoint. Valid values are @Accept@,
-- @Connect@, @Delete@, and @Reject@.
--
-- 'connectionNotificationArn', 'modifyVpcEndpointConnectionNotification_connectionNotificationArn' - The ARN for the SNS topic for the notification.
--
-- 'dryRun', 'modifyVpcEndpointConnectionNotification_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@.
--
-- 'connectionNotificationId', 'modifyVpcEndpointConnectionNotification_connectionNotificationId' - The ID of the notification.
newModifyVpcEndpointConnectionNotification ::
  -- | 'connectionNotificationId'
  Prelude.Text ->
  ModifyVpcEndpointConnectionNotification
newModifyVpcEndpointConnectionNotification :: Text -> ModifyVpcEndpointConnectionNotification
newModifyVpcEndpointConnectionNotification
  Text
pConnectionNotificationId_ =
    ModifyVpcEndpointConnectionNotification'
      { $sel:connectionEvents:ModifyVpcEndpointConnectionNotification' :: Maybe [Text]
connectionEvents =
          forall a. Maybe a
Prelude.Nothing,
        $sel:connectionNotificationArn:ModifyVpcEndpointConnectionNotification' :: Maybe Text
connectionNotificationArn =
          forall a. Maybe a
Prelude.Nothing,
        $sel:dryRun:ModifyVpcEndpointConnectionNotification' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
        $sel:connectionNotificationId:ModifyVpcEndpointConnectionNotification' :: Text
connectionNotificationId =
          Text
pConnectionNotificationId_
      }

-- | One or more events for the endpoint. Valid values are @Accept@,
-- @Connect@, @Delete@, and @Reject@.
modifyVpcEndpointConnectionNotification_connectionEvents :: Lens.Lens' ModifyVpcEndpointConnectionNotification (Prelude.Maybe [Prelude.Text])
modifyVpcEndpointConnectionNotification_connectionEvents :: Lens' ModifyVpcEndpointConnectionNotification (Maybe [Text])
modifyVpcEndpointConnectionNotification_connectionEvents = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointConnectionNotification' {Maybe [Text]
connectionEvents :: Maybe [Text]
$sel:connectionEvents:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe [Text]
connectionEvents} -> Maybe [Text]
connectionEvents) (\s :: ModifyVpcEndpointConnectionNotification
s@ModifyVpcEndpointConnectionNotification' {} Maybe [Text]
a -> ModifyVpcEndpointConnectionNotification
s {$sel:connectionEvents:ModifyVpcEndpointConnectionNotification' :: Maybe [Text]
connectionEvents = Maybe [Text]
a} :: ModifyVpcEndpointConnectionNotification) 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 ARN for the SNS topic for the notification.
modifyVpcEndpointConnectionNotification_connectionNotificationArn :: Lens.Lens' ModifyVpcEndpointConnectionNotification (Prelude.Maybe Prelude.Text)
modifyVpcEndpointConnectionNotification_connectionNotificationArn :: Lens' ModifyVpcEndpointConnectionNotification (Maybe Text)
modifyVpcEndpointConnectionNotification_connectionNotificationArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointConnectionNotification' {Maybe Text
connectionNotificationArn :: Maybe Text
$sel:connectionNotificationArn:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe Text
connectionNotificationArn} -> Maybe Text
connectionNotificationArn) (\s :: ModifyVpcEndpointConnectionNotification
s@ModifyVpcEndpointConnectionNotification' {} Maybe Text
a -> ModifyVpcEndpointConnectionNotification
s {$sel:connectionNotificationArn:ModifyVpcEndpointConnectionNotification' :: Maybe Text
connectionNotificationArn = Maybe Text
a} :: ModifyVpcEndpointConnectionNotification)

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

-- | The ID of the notification.
modifyVpcEndpointConnectionNotification_connectionNotificationId :: Lens.Lens' ModifyVpcEndpointConnectionNotification Prelude.Text
modifyVpcEndpointConnectionNotification_connectionNotificationId :: Lens' ModifyVpcEndpointConnectionNotification Text
modifyVpcEndpointConnectionNotification_connectionNotificationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointConnectionNotification' {Text
connectionNotificationId :: Text
$sel:connectionNotificationId:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Text
connectionNotificationId} -> Text
connectionNotificationId) (\s :: ModifyVpcEndpointConnectionNotification
s@ModifyVpcEndpointConnectionNotification' {} Text
a -> ModifyVpcEndpointConnectionNotification
s {$sel:connectionNotificationId:ModifyVpcEndpointConnectionNotification' :: Text
connectionNotificationId = Text
a} :: ModifyVpcEndpointConnectionNotification)

instance
  Core.AWSRequest
    ModifyVpcEndpointConnectionNotification
  where
  type
    AWSResponse
      ModifyVpcEndpointConnectionNotification =
      ModifyVpcEndpointConnectionNotificationResponse
  request :: (Service -> Service)
-> ModifyVpcEndpointConnectionNotification
-> Request ModifyVpcEndpointConnectionNotification
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 ModifyVpcEndpointConnectionNotification
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ModifyVpcEndpointConnectionNotification)))
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 Bool
-> Int -> ModifyVpcEndpointConnectionNotificationResponse
ModifyVpcEndpointConnectionNotificationResponse'
            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
"return")
            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
    ModifyVpcEndpointConnectionNotification
  where
  hashWithSalt :: Int -> ModifyVpcEndpointConnectionNotification -> Int
hashWithSalt
    Int
_salt
    ModifyVpcEndpointConnectionNotification' {Maybe Bool
Maybe [Text]
Maybe Text
Text
connectionNotificationId :: Text
dryRun :: Maybe Bool
connectionNotificationArn :: Maybe Text
connectionEvents :: Maybe [Text]
$sel:connectionNotificationId:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Text
$sel:dryRun:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe Bool
$sel:connectionNotificationArn:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe Text
$sel:connectionEvents:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe [Text]
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
connectionEvents
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
connectionNotificationArn
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
connectionNotificationId

instance
  Prelude.NFData
    ModifyVpcEndpointConnectionNotification
  where
  rnf :: ModifyVpcEndpointConnectionNotification -> ()
rnf ModifyVpcEndpointConnectionNotification' {Maybe Bool
Maybe [Text]
Maybe Text
Text
connectionNotificationId :: Text
dryRun :: Maybe Bool
connectionNotificationArn :: Maybe Text
connectionEvents :: Maybe [Text]
$sel:connectionNotificationId:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Text
$sel:dryRun:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe Bool
$sel:connectionNotificationArn:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe Text
$sel:connectionEvents:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe [Text]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
connectionEvents
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
connectionNotificationArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
connectionNotificationId

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

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

instance
  Data.ToQuery
    ModifyVpcEndpointConnectionNotification
  where
  toQuery :: ModifyVpcEndpointConnectionNotification -> QueryString
toQuery ModifyVpcEndpointConnectionNotification' {Maybe Bool
Maybe [Text]
Maybe Text
Text
connectionNotificationId :: Text
dryRun :: Maybe Bool
connectionNotificationArn :: Maybe Text
connectionEvents :: Maybe [Text]
$sel:connectionNotificationId:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Text
$sel:dryRun:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe Bool
$sel:connectionNotificationArn:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe Text
$sel:connectionEvents:ModifyVpcEndpointConnectionNotification' :: ModifyVpcEndpointConnectionNotification -> Maybe [Text]
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"ModifyVpcEndpointConnectionNotification" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
        forall a. ToQuery a => a -> QueryString
Data.toQuery
          ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"ConnectionEvents"
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
connectionEvents
          ),
        ByteString
"ConnectionNotificationArn"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
connectionNotificationArn,
        ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
        ByteString
"ConnectionNotificationId"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
connectionNotificationId
      ]

-- | /See:/ 'newModifyVpcEndpointConnectionNotificationResponse' smart constructor.
data ModifyVpcEndpointConnectionNotificationResponse = ModifyVpcEndpointConnectionNotificationResponse'
  { -- | Returns @true@ if the request succeeds; otherwise, it returns an error.
    ModifyVpcEndpointConnectionNotificationResponse -> Maybe Bool
returnValue :: Prelude.Maybe Prelude.Bool,
    -- | The response's http status code.
    ModifyVpcEndpointConnectionNotificationResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ModifyVpcEndpointConnectionNotificationResponse
-> ModifyVpcEndpointConnectionNotificationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyVpcEndpointConnectionNotificationResponse
-> ModifyVpcEndpointConnectionNotificationResponse -> Bool
$c/= :: ModifyVpcEndpointConnectionNotificationResponse
-> ModifyVpcEndpointConnectionNotificationResponse -> Bool
== :: ModifyVpcEndpointConnectionNotificationResponse
-> ModifyVpcEndpointConnectionNotificationResponse -> Bool
$c== :: ModifyVpcEndpointConnectionNotificationResponse
-> ModifyVpcEndpointConnectionNotificationResponse -> Bool
Prelude.Eq, ReadPrec [ModifyVpcEndpointConnectionNotificationResponse]
ReadPrec ModifyVpcEndpointConnectionNotificationResponse
Int -> ReadS ModifyVpcEndpointConnectionNotificationResponse
ReadS [ModifyVpcEndpointConnectionNotificationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyVpcEndpointConnectionNotificationResponse]
$creadListPrec :: ReadPrec [ModifyVpcEndpointConnectionNotificationResponse]
readPrec :: ReadPrec ModifyVpcEndpointConnectionNotificationResponse
$creadPrec :: ReadPrec ModifyVpcEndpointConnectionNotificationResponse
readList :: ReadS [ModifyVpcEndpointConnectionNotificationResponse]
$creadList :: ReadS [ModifyVpcEndpointConnectionNotificationResponse]
readsPrec :: Int -> ReadS ModifyVpcEndpointConnectionNotificationResponse
$creadsPrec :: Int -> ReadS ModifyVpcEndpointConnectionNotificationResponse
Prelude.Read, Int -> ModifyVpcEndpointConnectionNotificationResponse -> ShowS
[ModifyVpcEndpointConnectionNotificationResponse] -> ShowS
ModifyVpcEndpointConnectionNotificationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyVpcEndpointConnectionNotificationResponse] -> ShowS
$cshowList :: [ModifyVpcEndpointConnectionNotificationResponse] -> ShowS
show :: ModifyVpcEndpointConnectionNotificationResponse -> String
$cshow :: ModifyVpcEndpointConnectionNotificationResponse -> String
showsPrec :: Int -> ModifyVpcEndpointConnectionNotificationResponse -> ShowS
$cshowsPrec :: Int -> ModifyVpcEndpointConnectionNotificationResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyVpcEndpointConnectionNotificationResponse x
-> ModifyVpcEndpointConnectionNotificationResponse
forall x.
ModifyVpcEndpointConnectionNotificationResponse
-> Rep ModifyVpcEndpointConnectionNotificationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyVpcEndpointConnectionNotificationResponse x
-> ModifyVpcEndpointConnectionNotificationResponse
$cfrom :: forall x.
ModifyVpcEndpointConnectionNotificationResponse
-> Rep ModifyVpcEndpointConnectionNotificationResponse x
Prelude.Generic)

-- |
-- Create a value of 'ModifyVpcEndpointConnectionNotificationResponse' 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:
--
-- 'returnValue', 'modifyVpcEndpointConnectionNotificationResponse_returnValue' - Returns @true@ if the request succeeds; otherwise, it returns an error.
--
-- 'httpStatus', 'modifyVpcEndpointConnectionNotificationResponse_httpStatus' - The response's http status code.
newModifyVpcEndpointConnectionNotificationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ModifyVpcEndpointConnectionNotificationResponse
newModifyVpcEndpointConnectionNotificationResponse :: Int -> ModifyVpcEndpointConnectionNotificationResponse
newModifyVpcEndpointConnectionNotificationResponse
  Int
pHttpStatus_ =
    ModifyVpcEndpointConnectionNotificationResponse'
      { $sel:returnValue:ModifyVpcEndpointConnectionNotificationResponse' :: Maybe Bool
returnValue =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ModifyVpcEndpointConnectionNotificationResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Returns @true@ if the request succeeds; otherwise, it returns an error.
modifyVpcEndpointConnectionNotificationResponse_returnValue :: Lens.Lens' ModifyVpcEndpointConnectionNotificationResponse (Prelude.Maybe Prelude.Bool)
modifyVpcEndpointConnectionNotificationResponse_returnValue :: Lens' ModifyVpcEndpointConnectionNotificationResponse (Maybe Bool)
modifyVpcEndpointConnectionNotificationResponse_returnValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointConnectionNotificationResponse' {Maybe Bool
returnValue :: Maybe Bool
$sel:returnValue:ModifyVpcEndpointConnectionNotificationResponse' :: ModifyVpcEndpointConnectionNotificationResponse -> Maybe Bool
returnValue} -> Maybe Bool
returnValue) (\s :: ModifyVpcEndpointConnectionNotificationResponse
s@ModifyVpcEndpointConnectionNotificationResponse' {} Maybe Bool
a -> ModifyVpcEndpointConnectionNotificationResponse
s {$sel:returnValue:ModifyVpcEndpointConnectionNotificationResponse' :: Maybe Bool
returnValue = Maybe Bool
a} :: ModifyVpcEndpointConnectionNotificationResponse)

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

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