{-# 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 #-}
module Amazonka.Redshift.DeleteEndpointAccess
(
DeleteEndpointAccess (..),
newDeleteEndpointAccess,
deleteEndpointAccess_endpointName,
EndpointAccess (..),
newEndpointAccess,
endpointAccess_address,
endpointAccess_clusterIdentifier,
endpointAccess_endpointCreateTime,
endpointAccess_endpointName,
endpointAccess_endpointStatus,
endpointAccess_port,
endpointAccess_resourceOwner,
endpointAccess_subnetGroupName,
endpointAccess_vpcEndpoint,
endpointAccess_vpcSecurityGroups,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.Redshift.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteEndpointAccess = DeleteEndpointAccess'
{
DeleteEndpointAccess -> Text
endpointName :: Prelude.Text
}
deriving (DeleteEndpointAccess -> DeleteEndpointAccess -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEndpointAccess -> DeleteEndpointAccess -> Bool
$c/= :: DeleteEndpointAccess -> DeleteEndpointAccess -> Bool
== :: DeleteEndpointAccess -> DeleteEndpointAccess -> Bool
$c== :: DeleteEndpointAccess -> DeleteEndpointAccess -> Bool
Prelude.Eq, ReadPrec [DeleteEndpointAccess]
ReadPrec DeleteEndpointAccess
Int -> ReadS DeleteEndpointAccess
ReadS [DeleteEndpointAccess]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEndpointAccess]
$creadListPrec :: ReadPrec [DeleteEndpointAccess]
readPrec :: ReadPrec DeleteEndpointAccess
$creadPrec :: ReadPrec DeleteEndpointAccess
readList :: ReadS [DeleteEndpointAccess]
$creadList :: ReadS [DeleteEndpointAccess]
readsPrec :: Int -> ReadS DeleteEndpointAccess
$creadsPrec :: Int -> ReadS DeleteEndpointAccess
Prelude.Read, Int -> DeleteEndpointAccess -> ShowS
[DeleteEndpointAccess] -> ShowS
DeleteEndpointAccess -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEndpointAccess] -> ShowS
$cshowList :: [DeleteEndpointAccess] -> ShowS
show :: DeleteEndpointAccess -> String
$cshow :: DeleteEndpointAccess -> String
showsPrec :: Int -> DeleteEndpointAccess -> ShowS
$cshowsPrec :: Int -> DeleteEndpointAccess -> ShowS
Prelude.Show, forall x. Rep DeleteEndpointAccess x -> DeleteEndpointAccess
forall x. DeleteEndpointAccess -> Rep DeleteEndpointAccess x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteEndpointAccess x -> DeleteEndpointAccess
$cfrom :: forall x. DeleteEndpointAccess -> Rep DeleteEndpointAccess x
Prelude.Generic)
newDeleteEndpointAccess ::
Prelude.Text ->
DeleteEndpointAccess
newDeleteEndpointAccess :: Text -> DeleteEndpointAccess
newDeleteEndpointAccess Text
pEndpointName_ =
DeleteEndpointAccess'
{ $sel:endpointName:DeleteEndpointAccess' :: Text
endpointName =
Text
pEndpointName_
}
deleteEndpointAccess_endpointName :: Lens.Lens' DeleteEndpointAccess Prelude.Text
deleteEndpointAccess_endpointName :: Lens' DeleteEndpointAccess Text
deleteEndpointAccess_endpointName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEndpointAccess' {Text
endpointName :: Text
$sel:endpointName:DeleteEndpointAccess' :: DeleteEndpointAccess -> Text
endpointName} -> Text
endpointName) (\s :: DeleteEndpointAccess
s@DeleteEndpointAccess' {} Text
a -> DeleteEndpointAccess
s {$sel:endpointName:DeleteEndpointAccess' :: Text
endpointName = Text
a} :: DeleteEndpointAccess)
instance Core.AWSRequest DeleteEndpointAccess where
type
AWSResponse DeleteEndpointAccess =
EndpointAccess
request :: (Service -> Service)
-> DeleteEndpointAccess -> Request DeleteEndpointAccess
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 DeleteEndpointAccess
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteEndpointAccess)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"DeleteEndpointAccessResult"
(\Int
s ResponseHeaders
h [Node]
x -> forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
instance Prelude.Hashable DeleteEndpointAccess where
hashWithSalt :: Int -> DeleteEndpointAccess -> Int
hashWithSalt Int
_salt DeleteEndpointAccess' {Text
endpointName :: Text
$sel:endpointName:DeleteEndpointAccess' :: DeleteEndpointAccess -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
endpointName
instance Prelude.NFData DeleteEndpointAccess where
rnf :: DeleteEndpointAccess -> ()
rnf DeleteEndpointAccess' {Text
endpointName :: Text
$sel:endpointName:DeleteEndpointAccess' :: DeleteEndpointAccess -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
endpointName
instance Data.ToHeaders DeleteEndpointAccess where
toHeaders :: DeleteEndpointAccess -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DeleteEndpointAccess where
toPath :: DeleteEndpointAccess -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteEndpointAccess where
toQuery :: DeleteEndpointAccess -> QueryString
toQuery DeleteEndpointAccess' {Text
endpointName :: Text
$sel:endpointName:DeleteEndpointAccess' :: DeleteEndpointAccess -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DeleteEndpointAccess" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2012-12-01" :: Prelude.ByteString),
ByteString
"EndpointName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
endpointName
]