{-# 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.ModifyVpcEndpointServiceConfiguration
-- 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 the attributes of your VPC endpoint service configuration. You
-- can change the Network Load Balancers or Gateway Load Balancers for your
-- service, and you can specify whether acceptance is required for requests
-- to connect to your endpoint service through an interface VPC endpoint.
--
-- If you set or modify the private DNS name, you must prove that you own
-- the private DNS domain name.
module Amazonka.EC2.ModifyVpcEndpointServiceConfiguration
  ( -- * Creating a Request
    ModifyVpcEndpointServiceConfiguration (..),
    newModifyVpcEndpointServiceConfiguration,

    -- * Request Lenses
    modifyVpcEndpointServiceConfiguration_acceptanceRequired,
    modifyVpcEndpointServiceConfiguration_addGatewayLoadBalancerArns,
    modifyVpcEndpointServiceConfiguration_addNetworkLoadBalancerArns,
    modifyVpcEndpointServiceConfiguration_addSupportedIpAddressTypes,
    modifyVpcEndpointServiceConfiguration_dryRun,
    modifyVpcEndpointServiceConfiguration_privateDnsName,
    modifyVpcEndpointServiceConfiguration_removeGatewayLoadBalancerArns,
    modifyVpcEndpointServiceConfiguration_removeNetworkLoadBalancerArns,
    modifyVpcEndpointServiceConfiguration_removePrivateDnsName,
    modifyVpcEndpointServiceConfiguration_removeSupportedIpAddressTypes,
    modifyVpcEndpointServiceConfiguration_serviceId,

    -- * Destructuring the Response
    ModifyVpcEndpointServiceConfigurationResponse (..),
    newModifyVpcEndpointServiceConfigurationResponse,

    -- * Response Lenses
    modifyVpcEndpointServiceConfigurationResponse_return,
    modifyVpcEndpointServiceConfigurationResponse_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:/ 'newModifyVpcEndpointServiceConfiguration' smart constructor.
data ModifyVpcEndpointServiceConfiguration = ModifyVpcEndpointServiceConfiguration'
  { -- | Indicates whether requests to create an endpoint to your service must be
    -- accepted.
    ModifyVpcEndpointServiceConfiguration -> Maybe Bool
acceptanceRequired :: Prelude.Maybe Prelude.Bool,
    -- | The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to
    -- your service configuration.
    ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
addGatewayLoadBalancerArns :: Prelude.Maybe [Prelude.Text],
    -- | The Amazon Resource Names (ARNs) of Network Load Balancers to add to
    -- your service configuration.
    ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
addNetworkLoadBalancerArns :: Prelude.Maybe [Prelude.Text],
    -- | The IP address types to add to your service configuration.
    ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
addSupportedIpAddressTypes :: 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@.
    ModifyVpcEndpointServiceConfiguration -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
    -- | (Interface endpoint configuration) The private DNS name to assign to the
    -- endpoint service.
    ModifyVpcEndpointServiceConfiguration -> Maybe Text
privateDnsName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove
    -- from your service configuration.
    ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
removeGatewayLoadBalancerArns :: Prelude.Maybe [Prelude.Text],
    -- | The Amazon Resource Names (ARNs) of Network Load Balancers to remove
    -- from your service configuration.
    ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
removeNetworkLoadBalancerArns :: Prelude.Maybe [Prelude.Text],
    -- | (Interface endpoint configuration) Removes the private DNS name of the
    -- endpoint service.
    ModifyVpcEndpointServiceConfiguration -> Maybe Bool
removePrivateDnsName :: Prelude.Maybe Prelude.Bool,
    -- | The IP address types to remove from your service configuration.
    ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
removeSupportedIpAddressTypes :: Prelude.Maybe [Prelude.Text],
    -- | The ID of the service.
    ModifyVpcEndpointServiceConfiguration -> Text
serviceId :: Prelude.Text
  }
  deriving (ModifyVpcEndpointServiceConfiguration
-> ModifyVpcEndpointServiceConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyVpcEndpointServiceConfiguration
-> ModifyVpcEndpointServiceConfiguration -> Bool
$c/= :: ModifyVpcEndpointServiceConfiguration
-> ModifyVpcEndpointServiceConfiguration -> Bool
== :: ModifyVpcEndpointServiceConfiguration
-> ModifyVpcEndpointServiceConfiguration -> Bool
$c== :: ModifyVpcEndpointServiceConfiguration
-> ModifyVpcEndpointServiceConfiguration -> Bool
Prelude.Eq, ReadPrec [ModifyVpcEndpointServiceConfiguration]
ReadPrec ModifyVpcEndpointServiceConfiguration
Int -> ReadS ModifyVpcEndpointServiceConfiguration
ReadS [ModifyVpcEndpointServiceConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyVpcEndpointServiceConfiguration]
$creadListPrec :: ReadPrec [ModifyVpcEndpointServiceConfiguration]
readPrec :: ReadPrec ModifyVpcEndpointServiceConfiguration
$creadPrec :: ReadPrec ModifyVpcEndpointServiceConfiguration
readList :: ReadS [ModifyVpcEndpointServiceConfiguration]
$creadList :: ReadS [ModifyVpcEndpointServiceConfiguration]
readsPrec :: Int -> ReadS ModifyVpcEndpointServiceConfiguration
$creadsPrec :: Int -> ReadS ModifyVpcEndpointServiceConfiguration
Prelude.Read, Int -> ModifyVpcEndpointServiceConfiguration -> ShowS
[ModifyVpcEndpointServiceConfiguration] -> ShowS
ModifyVpcEndpointServiceConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyVpcEndpointServiceConfiguration] -> ShowS
$cshowList :: [ModifyVpcEndpointServiceConfiguration] -> ShowS
show :: ModifyVpcEndpointServiceConfiguration -> String
$cshow :: ModifyVpcEndpointServiceConfiguration -> String
showsPrec :: Int -> ModifyVpcEndpointServiceConfiguration -> ShowS
$cshowsPrec :: Int -> ModifyVpcEndpointServiceConfiguration -> ShowS
Prelude.Show, forall x.
Rep ModifyVpcEndpointServiceConfiguration x
-> ModifyVpcEndpointServiceConfiguration
forall x.
ModifyVpcEndpointServiceConfiguration
-> Rep ModifyVpcEndpointServiceConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyVpcEndpointServiceConfiguration x
-> ModifyVpcEndpointServiceConfiguration
$cfrom :: forall x.
ModifyVpcEndpointServiceConfiguration
-> Rep ModifyVpcEndpointServiceConfiguration x
Prelude.Generic)

-- |
-- Create a value of 'ModifyVpcEndpointServiceConfiguration' 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:
--
-- 'acceptanceRequired', 'modifyVpcEndpointServiceConfiguration_acceptanceRequired' - Indicates whether requests to create an endpoint to your service must be
-- accepted.
--
-- 'addGatewayLoadBalancerArns', 'modifyVpcEndpointServiceConfiguration_addGatewayLoadBalancerArns' - The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to
-- your service configuration.
--
-- 'addNetworkLoadBalancerArns', 'modifyVpcEndpointServiceConfiguration_addNetworkLoadBalancerArns' - The Amazon Resource Names (ARNs) of Network Load Balancers to add to
-- your service configuration.
--
-- 'addSupportedIpAddressTypes', 'modifyVpcEndpointServiceConfiguration_addSupportedIpAddressTypes' - The IP address types to add to your service configuration.
--
-- 'dryRun', 'modifyVpcEndpointServiceConfiguration_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@.
--
-- 'privateDnsName', 'modifyVpcEndpointServiceConfiguration_privateDnsName' - (Interface endpoint configuration) The private DNS name to assign to the
-- endpoint service.
--
-- 'removeGatewayLoadBalancerArns', 'modifyVpcEndpointServiceConfiguration_removeGatewayLoadBalancerArns' - The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove
-- from your service configuration.
--
-- 'removeNetworkLoadBalancerArns', 'modifyVpcEndpointServiceConfiguration_removeNetworkLoadBalancerArns' - The Amazon Resource Names (ARNs) of Network Load Balancers to remove
-- from your service configuration.
--
-- 'removePrivateDnsName', 'modifyVpcEndpointServiceConfiguration_removePrivateDnsName' - (Interface endpoint configuration) Removes the private DNS name of the
-- endpoint service.
--
-- 'removeSupportedIpAddressTypes', 'modifyVpcEndpointServiceConfiguration_removeSupportedIpAddressTypes' - The IP address types to remove from your service configuration.
--
-- 'serviceId', 'modifyVpcEndpointServiceConfiguration_serviceId' - The ID of the service.
newModifyVpcEndpointServiceConfiguration ::
  -- | 'serviceId'
  Prelude.Text ->
  ModifyVpcEndpointServiceConfiguration
newModifyVpcEndpointServiceConfiguration :: Text -> ModifyVpcEndpointServiceConfiguration
newModifyVpcEndpointServiceConfiguration Text
pServiceId_ =
  ModifyVpcEndpointServiceConfiguration'
    { $sel:acceptanceRequired:ModifyVpcEndpointServiceConfiguration' :: Maybe Bool
acceptanceRequired =
        forall a. Maybe a
Prelude.Nothing,
      $sel:addGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
addGatewayLoadBalancerArns =
        forall a. Maybe a
Prelude.Nothing,
      $sel:addNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
addNetworkLoadBalancerArns =
        forall a. Maybe a
Prelude.Nothing,
      $sel:addSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
addSupportedIpAddressTypes =
        forall a. Maybe a
Prelude.Nothing,
      $sel:dryRun:ModifyVpcEndpointServiceConfiguration' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
      $sel:privateDnsName:ModifyVpcEndpointServiceConfiguration' :: Maybe Text
privateDnsName = forall a. Maybe a
Prelude.Nothing,
      $sel:removeGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
removeGatewayLoadBalancerArns =
        forall a. Maybe a
Prelude.Nothing,
      $sel:removeNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
removeNetworkLoadBalancerArns =
        forall a. Maybe a
Prelude.Nothing,
      $sel:removePrivateDnsName:ModifyVpcEndpointServiceConfiguration' :: Maybe Bool
removePrivateDnsName =
        forall a. Maybe a
Prelude.Nothing,
      $sel:removeSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
removeSupportedIpAddressTypes =
        forall a. Maybe a
Prelude.Nothing,
      $sel:serviceId:ModifyVpcEndpointServiceConfiguration' :: Text
serviceId = Text
pServiceId_
    }

-- | Indicates whether requests to create an endpoint to your service must be
-- accepted.
modifyVpcEndpointServiceConfiguration_acceptanceRequired :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe Prelude.Bool)
modifyVpcEndpointServiceConfiguration_acceptanceRequired :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe Bool)
modifyVpcEndpointServiceConfiguration_acceptanceRequired = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe Bool
acceptanceRequired :: Maybe Bool
$sel:acceptanceRequired:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
acceptanceRequired} -> Maybe Bool
acceptanceRequired) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe Bool
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:acceptanceRequired:ModifyVpcEndpointServiceConfiguration' :: Maybe Bool
acceptanceRequired = Maybe Bool
a} :: ModifyVpcEndpointServiceConfiguration)

-- | The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to
-- your service configuration.
modifyVpcEndpointServiceConfiguration_addGatewayLoadBalancerArns :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe [Prelude.Text])
modifyVpcEndpointServiceConfiguration_addGatewayLoadBalancerArns :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe [Text])
modifyVpcEndpointServiceConfiguration_addGatewayLoadBalancerArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe [Text]
addGatewayLoadBalancerArns :: Maybe [Text]
$sel:addGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
addGatewayLoadBalancerArns} -> Maybe [Text]
addGatewayLoadBalancerArns) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe [Text]
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:addGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
addGatewayLoadBalancerArns = Maybe [Text]
a} :: ModifyVpcEndpointServiceConfiguration) 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 Amazon Resource Names (ARNs) of Network Load Balancers to add to
-- your service configuration.
modifyVpcEndpointServiceConfiguration_addNetworkLoadBalancerArns :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe [Prelude.Text])
modifyVpcEndpointServiceConfiguration_addNetworkLoadBalancerArns :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe [Text])
modifyVpcEndpointServiceConfiguration_addNetworkLoadBalancerArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe [Text]
addNetworkLoadBalancerArns :: Maybe [Text]
$sel:addNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
addNetworkLoadBalancerArns} -> Maybe [Text]
addNetworkLoadBalancerArns) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe [Text]
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:addNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
addNetworkLoadBalancerArns = Maybe [Text]
a} :: ModifyVpcEndpointServiceConfiguration) 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 IP address types to add to your service configuration.
modifyVpcEndpointServiceConfiguration_addSupportedIpAddressTypes :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe [Prelude.Text])
modifyVpcEndpointServiceConfiguration_addSupportedIpAddressTypes :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe [Text])
modifyVpcEndpointServiceConfiguration_addSupportedIpAddressTypes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe [Text]
addSupportedIpAddressTypes :: Maybe [Text]
$sel:addSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
addSupportedIpAddressTypes} -> Maybe [Text]
addSupportedIpAddressTypes) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe [Text]
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:addSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
addSupportedIpAddressTypes = Maybe [Text]
a} :: ModifyVpcEndpointServiceConfiguration) 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

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

-- | (Interface endpoint configuration) The private DNS name to assign to the
-- endpoint service.
modifyVpcEndpointServiceConfiguration_privateDnsName :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe Prelude.Text)
modifyVpcEndpointServiceConfiguration_privateDnsName :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe Text)
modifyVpcEndpointServiceConfiguration_privateDnsName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe Text
privateDnsName :: Maybe Text
$sel:privateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Text
privateDnsName} -> Maybe Text
privateDnsName) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe Text
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:privateDnsName:ModifyVpcEndpointServiceConfiguration' :: Maybe Text
privateDnsName = Maybe Text
a} :: ModifyVpcEndpointServiceConfiguration)

-- | The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove
-- from your service configuration.
modifyVpcEndpointServiceConfiguration_removeGatewayLoadBalancerArns :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe [Prelude.Text])
modifyVpcEndpointServiceConfiguration_removeGatewayLoadBalancerArns :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe [Text])
modifyVpcEndpointServiceConfiguration_removeGatewayLoadBalancerArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe [Text]
removeGatewayLoadBalancerArns :: Maybe [Text]
$sel:removeGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
removeGatewayLoadBalancerArns} -> Maybe [Text]
removeGatewayLoadBalancerArns) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe [Text]
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:removeGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
removeGatewayLoadBalancerArns = Maybe [Text]
a} :: ModifyVpcEndpointServiceConfiguration) 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 Amazon Resource Names (ARNs) of Network Load Balancers to remove
-- from your service configuration.
modifyVpcEndpointServiceConfiguration_removeNetworkLoadBalancerArns :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe [Prelude.Text])
modifyVpcEndpointServiceConfiguration_removeNetworkLoadBalancerArns :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe [Text])
modifyVpcEndpointServiceConfiguration_removeNetworkLoadBalancerArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe [Text]
removeNetworkLoadBalancerArns :: Maybe [Text]
$sel:removeNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
removeNetworkLoadBalancerArns} -> Maybe [Text]
removeNetworkLoadBalancerArns) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe [Text]
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:removeNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
removeNetworkLoadBalancerArns = Maybe [Text]
a} :: ModifyVpcEndpointServiceConfiguration) 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

-- | (Interface endpoint configuration) Removes the private DNS name of the
-- endpoint service.
modifyVpcEndpointServiceConfiguration_removePrivateDnsName :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe Prelude.Bool)
modifyVpcEndpointServiceConfiguration_removePrivateDnsName :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe Bool)
modifyVpcEndpointServiceConfiguration_removePrivateDnsName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe Bool
removePrivateDnsName :: Maybe Bool
$sel:removePrivateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
removePrivateDnsName} -> Maybe Bool
removePrivateDnsName) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe Bool
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:removePrivateDnsName:ModifyVpcEndpointServiceConfiguration' :: Maybe Bool
removePrivateDnsName = Maybe Bool
a} :: ModifyVpcEndpointServiceConfiguration)

-- | The IP address types to remove from your service configuration.
modifyVpcEndpointServiceConfiguration_removeSupportedIpAddressTypes :: Lens.Lens' ModifyVpcEndpointServiceConfiguration (Prelude.Maybe [Prelude.Text])
modifyVpcEndpointServiceConfiguration_removeSupportedIpAddressTypes :: Lens' ModifyVpcEndpointServiceConfiguration (Maybe [Text])
modifyVpcEndpointServiceConfiguration_removeSupportedIpAddressTypes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Maybe [Text]
removeSupportedIpAddressTypes :: Maybe [Text]
$sel:removeSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
removeSupportedIpAddressTypes} -> Maybe [Text]
removeSupportedIpAddressTypes) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Maybe [Text]
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:removeSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: Maybe [Text]
removeSupportedIpAddressTypes = Maybe [Text]
a} :: ModifyVpcEndpointServiceConfiguration) 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 service.
modifyVpcEndpointServiceConfiguration_serviceId :: Lens.Lens' ModifyVpcEndpointServiceConfiguration Prelude.Text
modifyVpcEndpointServiceConfiguration_serviceId :: Lens' ModifyVpcEndpointServiceConfiguration Text
modifyVpcEndpointServiceConfiguration_serviceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyVpcEndpointServiceConfiguration' {Text
serviceId :: Text
$sel:serviceId:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Text
serviceId} -> Text
serviceId) (\s :: ModifyVpcEndpointServiceConfiguration
s@ModifyVpcEndpointServiceConfiguration' {} Text
a -> ModifyVpcEndpointServiceConfiguration
s {$sel:serviceId:ModifyVpcEndpointServiceConfiguration' :: Text
serviceId = Text
a} :: ModifyVpcEndpointServiceConfiguration)

instance
  Core.AWSRequest
    ModifyVpcEndpointServiceConfiguration
  where
  type
    AWSResponse
      ModifyVpcEndpointServiceConfiguration =
      ModifyVpcEndpointServiceConfigurationResponse
  request :: (Service -> Service)
-> ModifyVpcEndpointServiceConfiguration
-> Request ModifyVpcEndpointServiceConfiguration
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 ModifyVpcEndpointServiceConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse ModifyVpcEndpointServiceConfiguration)))
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 -> ModifyVpcEndpointServiceConfigurationResponse
ModifyVpcEndpointServiceConfigurationResponse'
            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
    ModifyVpcEndpointServiceConfiguration
  where
  hashWithSalt :: Int -> ModifyVpcEndpointServiceConfiguration -> Int
hashWithSalt
    Int
_salt
    ModifyVpcEndpointServiceConfiguration' {Maybe Bool
Maybe [Text]
Maybe Text
Text
serviceId :: Text
removeSupportedIpAddressTypes :: Maybe [Text]
removePrivateDnsName :: Maybe Bool
removeNetworkLoadBalancerArns :: Maybe [Text]
removeGatewayLoadBalancerArns :: Maybe [Text]
privateDnsName :: Maybe Text
dryRun :: Maybe Bool
addSupportedIpAddressTypes :: Maybe [Text]
addNetworkLoadBalancerArns :: Maybe [Text]
addGatewayLoadBalancerArns :: Maybe [Text]
acceptanceRequired :: Maybe Bool
$sel:serviceId:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Text
$sel:removeSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:removePrivateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
$sel:removeNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:removeGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:privateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Text
$sel:dryRun:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
$sel:addSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:addNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:addGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:acceptanceRequired:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
acceptanceRequired
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
addGatewayLoadBalancerArns
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
addNetworkLoadBalancerArns
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
addSupportedIpAddressTypes
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
privateDnsName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
removeGatewayLoadBalancerArns
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
removeNetworkLoadBalancerArns
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
removePrivateDnsName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
removeSupportedIpAddressTypes
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
serviceId

instance
  Prelude.NFData
    ModifyVpcEndpointServiceConfiguration
  where
  rnf :: ModifyVpcEndpointServiceConfiguration -> ()
rnf ModifyVpcEndpointServiceConfiguration' {Maybe Bool
Maybe [Text]
Maybe Text
Text
serviceId :: Text
removeSupportedIpAddressTypes :: Maybe [Text]
removePrivateDnsName :: Maybe Bool
removeNetworkLoadBalancerArns :: Maybe [Text]
removeGatewayLoadBalancerArns :: Maybe [Text]
privateDnsName :: Maybe Text
dryRun :: Maybe Bool
addSupportedIpAddressTypes :: Maybe [Text]
addNetworkLoadBalancerArns :: Maybe [Text]
addGatewayLoadBalancerArns :: Maybe [Text]
acceptanceRequired :: Maybe Bool
$sel:serviceId:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Text
$sel:removeSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:removePrivateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
$sel:removeNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:removeGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:privateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Text
$sel:dryRun:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
$sel:addSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:addNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:addGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:acceptanceRequired:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
acceptanceRequired
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
addGatewayLoadBalancerArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
addNetworkLoadBalancerArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
addSupportedIpAddressTypes
      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 Maybe Text
privateDnsName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
removeGatewayLoadBalancerArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
removeNetworkLoadBalancerArns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
removePrivateDnsName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
removeSupportedIpAddressTypes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
serviceId

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

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

instance
  Data.ToQuery
    ModifyVpcEndpointServiceConfiguration
  where
  toQuery :: ModifyVpcEndpointServiceConfiguration -> QueryString
toQuery ModifyVpcEndpointServiceConfiguration' {Maybe Bool
Maybe [Text]
Maybe Text
Text
serviceId :: Text
removeSupportedIpAddressTypes :: Maybe [Text]
removePrivateDnsName :: Maybe Bool
removeNetworkLoadBalancerArns :: Maybe [Text]
removeGatewayLoadBalancerArns :: Maybe [Text]
privateDnsName :: Maybe Text
dryRun :: Maybe Bool
addSupportedIpAddressTypes :: Maybe [Text]
addNetworkLoadBalancerArns :: Maybe [Text]
addGatewayLoadBalancerArns :: Maybe [Text]
acceptanceRequired :: Maybe Bool
$sel:serviceId:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Text
$sel:removeSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:removePrivateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
$sel:removeNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:removeGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:privateDnsName:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Text
$sel:dryRun:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
$sel:addSupportedIpAddressTypes:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:addNetworkLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:addGatewayLoadBalancerArns:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe [Text]
$sel:acceptanceRequired:ModifyVpcEndpointServiceConfiguration' :: ModifyVpcEndpointServiceConfiguration -> Maybe Bool
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"ModifyVpcEndpointServiceConfiguration" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
        ByteString
"AcceptanceRequired" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
acceptanceRequired,
        forall a. ToQuery a => a -> QueryString
Data.toQuery
          ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"AddGatewayLoadBalancerArn"
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
addGatewayLoadBalancerArns
          ),
        forall a. ToQuery a => a -> QueryString
Data.toQuery
          ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"AddNetworkLoadBalancerArn"
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
addNetworkLoadBalancerArns
          ),
        forall a. ToQuery a => a -> QueryString
Data.toQuery
          ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"AddSupportedIpAddressType"
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
addSupportedIpAddressTypes
          ),
        ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
        ByteString
"PrivateDnsName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
privateDnsName,
        forall a. ToQuery a => a -> QueryString
Data.toQuery
          ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"RemoveGatewayLoadBalancerArn"
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
removeGatewayLoadBalancerArns
          ),
        forall a. ToQuery a => a -> QueryString
Data.toQuery
          ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"RemoveNetworkLoadBalancerArn"
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
removeNetworkLoadBalancerArns
          ),
        ByteString
"RemovePrivateDnsName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
removePrivateDnsName,
        forall a. ToQuery a => a -> QueryString
Data.toQuery
          ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"RemoveSupportedIpAddressType"
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
removeSupportedIpAddressTypes
          ),
        ByteString
"ServiceId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
serviceId
      ]

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

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

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

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

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