{-# 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.RedshiftServerLess.DeleteEndpointAccess
(
DeleteEndpointAccess (..),
newDeleteEndpointAccess,
deleteEndpointAccess_endpointName,
DeleteEndpointAccessResponse (..),
newDeleteEndpointAccessResponse,
deleteEndpointAccessResponse_endpoint,
deleteEndpointAccessResponse_httpStatus,
)
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.RedshiftServerLess.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 =
DeleteEndpointAccessResponse
request :: (Service -> Service)
-> DeleteEndpointAccess -> Request DeleteEndpointAccess
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (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 =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe EndpointAccess -> Int -> DeleteEndpointAccessResponse
DeleteEndpointAccessResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"endpoint")
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 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] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"RedshiftServerless.DeleteEndpointAccess" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteEndpointAccess where
toJSON :: DeleteEndpointAccess -> Value
toJSON DeleteEndpointAccess' {Text
endpointName :: Text
$sel:endpointName:DeleteEndpointAccess' :: DeleteEndpointAccess -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"endpointName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
endpointName)]
)
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 = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteEndpointAccessResponse = DeleteEndpointAccessResponse'
{
DeleteEndpointAccessResponse -> Maybe EndpointAccess
endpoint :: Prelude.Maybe EndpointAccess,
DeleteEndpointAccessResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteEndpointAccessResponse
-> DeleteEndpointAccessResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteEndpointAccessResponse
-> DeleteEndpointAccessResponse -> Bool
$c/= :: DeleteEndpointAccessResponse
-> DeleteEndpointAccessResponse -> Bool
== :: DeleteEndpointAccessResponse
-> DeleteEndpointAccessResponse -> Bool
$c== :: DeleteEndpointAccessResponse
-> DeleteEndpointAccessResponse -> Bool
Prelude.Eq, ReadPrec [DeleteEndpointAccessResponse]
ReadPrec DeleteEndpointAccessResponse
Int -> ReadS DeleteEndpointAccessResponse
ReadS [DeleteEndpointAccessResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteEndpointAccessResponse]
$creadListPrec :: ReadPrec [DeleteEndpointAccessResponse]
readPrec :: ReadPrec DeleteEndpointAccessResponse
$creadPrec :: ReadPrec DeleteEndpointAccessResponse
readList :: ReadS [DeleteEndpointAccessResponse]
$creadList :: ReadS [DeleteEndpointAccessResponse]
readsPrec :: Int -> ReadS DeleteEndpointAccessResponse
$creadsPrec :: Int -> ReadS DeleteEndpointAccessResponse
Prelude.Read, Int -> DeleteEndpointAccessResponse -> ShowS
[DeleteEndpointAccessResponse] -> ShowS
DeleteEndpointAccessResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteEndpointAccessResponse] -> ShowS
$cshowList :: [DeleteEndpointAccessResponse] -> ShowS
show :: DeleteEndpointAccessResponse -> String
$cshow :: DeleteEndpointAccessResponse -> String
showsPrec :: Int -> DeleteEndpointAccessResponse -> ShowS
$cshowsPrec :: Int -> DeleteEndpointAccessResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteEndpointAccessResponse x -> DeleteEndpointAccessResponse
forall x.
DeleteEndpointAccessResponse -> Rep DeleteEndpointAccessResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteEndpointAccessResponse x -> DeleteEndpointAccessResponse
$cfrom :: forall x.
DeleteEndpointAccessResponse -> Rep DeleteEndpointAccessResponse x
Prelude.Generic)
newDeleteEndpointAccessResponse ::
Prelude.Int ->
DeleteEndpointAccessResponse
newDeleteEndpointAccessResponse :: Int -> DeleteEndpointAccessResponse
newDeleteEndpointAccessResponse Int
pHttpStatus_ =
DeleteEndpointAccessResponse'
{ $sel:endpoint:DeleteEndpointAccessResponse' :: Maybe EndpointAccess
endpoint =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteEndpointAccessResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteEndpointAccessResponse_endpoint :: Lens.Lens' DeleteEndpointAccessResponse (Prelude.Maybe EndpointAccess)
deleteEndpointAccessResponse_endpoint :: Lens' DeleteEndpointAccessResponse (Maybe EndpointAccess)
deleteEndpointAccessResponse_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEndpointAccessResponse' {Maybe EndpointAccess
endpoint :: Maybe EndpointAccess
$sel:endpoint:DeleteEndpointAccessResponse' :: DeleteEndpointAccessResponse -> Maybe EndpointAccess
endpoint} -> Maybe EndpointAccess
endpoint) (\s :: DeleteEndpointAccessResponse
s@DeleteEndpointAccessResponse' {} Maybe EndpointAccess
a -> DeleteEndpointAccessResponse
s {$sel:endpoint:DeleteEndpointAccessResponse' :: Maybe EndpointAccess
endpoint = Maybe EndpointAccess
a} :: DeleteEndpointAccessResponse)
deleteEndpointAccessResponse_httpStatus :: Lens.Lens' DeleteEndpointAccessResponse Prelude.Int
deleteEndpointAccessResponse_httpStatus :: Lens' DeleteEndpointAccessResponse Int
deleteEndpointAccessResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteEndpointAccessResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteEndpointAccessResponse' :: DeleteEndpointAccessResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteEndpointAccessResponse
s@DeleteEndpointAccessResponse' {} Int
a -> DeleteEndpointAccessResponse
s {$sel:httpStatus:DeleteEndpointAccessResponse' :: Int
httpStatus = Int
a} :: DeleteEndpointAccessResponse)
instance Prelude.NFData DeleteEndpointAccessResponse where
rnf :: DeleteEndpointAccessResponse -> ()
rnf DeleteEndpointAccessResponse' {Int
Maybe EndpointAccess
httpStatus :: Int
endpoint :: Maybe EndpointAccess
$sel:httpStatus:DeleteEndpointAccessResponse' :: DeleteEndpointAccessResponse -> Int
$sel:endpoint:DeleteEndpointAccessResponse' :: DeleteEndpointAccessResponse -> Maybe EndpointAccess
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe EndpointAccess
endpoint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus