{-# 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.Firehose.DeleteDeliveryStream
(
DeleteDeliveryStream (..),
newDeleteDeliveryStream,
deleteDeliveryStream_allowForceDelete,
deleteDeliveryStream_deliveryStreamName,
DeleteDeliveryStreamResponse (..),
newDeleteDeliveryStreamResponse,
deleteDeliveryStreamResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Firehose.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteDeliveryStream = DeleteDeliveryStream'
{
DeleteDeliveryStream -> Maybe Bool
allowForceDelete :: Prelude.Maybe Prelude.Bool,
DeleteDeliveryStream -> Text
deliveryStreamName :: Prelude.Text
}
deriving (DeleteDeliveryStream -> DeleteDeliveryStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteDeliveryStream -> DeleteDeliveryStream -> Bool
$c/= :: DeleteDeliveryStream -> DeleteDeliveryStream -> Bool
== :: DeleteDeliveryStream -> DeleteDeliveryStream -> Bool
$c== :: DeleteDeliveryStream -> DeleteDeliveryStream -> Bool
Prelude.Eq, ReadPrec [DeleteDeliveryStream]
ReadPrec DeleteDeliveryStream
Int -> ReadS DeleteDeliveryStream
ReadS [DeleteDeliveryStream]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteDeliveryStream]
$creadListPrec :: ReadPrec [DeleteDeliveryStream]
readPrec :: ReadPrec DeleteDeliveryStream
$creadPrec :: ReadPrec DeleteDeliveryStream
readList :: ReadS [DeleteDeliveryStream]
$creadList :: ReadS [DeleteDeliveryStream]
readsPrec :: Int -> ReadS DeleteDeliveryStream
$creadsPrec :: Int -> ReadS DeleteDeliveryStream
Prelude.Read, Int -> DeleteDeliveryStream -> ShowS
[DeleteDeliveryStream] -> ShowS
DeleteDeliveryStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteDeliveryStream] -> ShowS
$cshowList :: [DeleteDeliveryStream] -> ShowS
show :: DeleteDeliveryStream -> String
$cshow :: DeleteDeliveryStream -> String
showsPrec :: Int -> DeleteDeliveryStream -> ShowS
$cshowsPrec :: Int -> DeleteDeliveryStream -> ShowS
Prelude.Show, forall x. Rep DeleteDeliveryStream x -> DeleteDeliveryStream
forall x. DeleteDeliveryStream -> Rep DeleteDeliveryStream x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteDeliveryStream x -> DeleteDeliveryStream
$cfrom :: forall x. DeleteDeliveryStream -> Rep DeleteDeliveryStream x
Prelude.Generic)
newDeleteDeliveryStream ::
Prelude.Text ->
DeleteDeliveryStream
newDeleteDeliveryStream :: Text -> DeleteDeliveryStream
newDeleteDeliveryStream Text
pDeliveryStreamName_ =
DeleteDeliveryStream'
{ $sel:allowForceDelete:DeleteDeliveryStream' :: Maybe Bool
allowForceDelete =
forall a. Maybe a
Prelude.Nothing,
$sel:deliveryStreamName:DeleteDeliveryStream' :: Text
deliveryStreamName = Text
pDeliveryStreamName_
}
deleteDeliveryStream_allowForceDelete :: Lens.Lens' DeleteDeliveryStream (Prelude.Maybe Prelude.Bool)
deleteDeliveryStream_allowForceDelete :: Lens' DeleteDeliveryStream (Maybe Bool)
deleteDeliveryStream_allowForceDelete = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDeliveryStream' {Maybe Bool
allowForceDelete :: Maybe Bool
$sel:allowForceDelete:DeleteDeliveryStream' :: DeleteDeliveryStream -> Maybe Bool
allowForceDelete} -> Maybe Bool
allowForceDelete) (\s :: DeleteDeliveryStream
s@DeleteDeliveryStream' {} Maybe Bool
a -> DeleteDeliveryStream
s {$sel:allowForceDelete:DeleteDeliveryStream' :: Maybe Bool
allowForceDelete = Maybe Bool
a} :: DeleteDeliveryStream)
deleteDeliveryStream_deliveryStreamName :: Lens.Lens' DeleteDeliveryStream Prelude.Text
deleteDeliveryStream_deliveryStreamName :: Lens' DeleteDeliveryStream Text
deleteDeliveryStream_deliveryStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDeliveryStream' {Text
deliveryStreamName :: Text
$sel:deliveryStreamName:DeleteDeliveryStream' :: DeleteDeliveryStream -> Text
deliveryStreamName} -> Text
deliveryStreamName) (\s :: DeleteDeliveryStream
s@DeleteDeliveryStream' {} Text
a -> DeleteDeliveryStream
s {$sel:deliveryStreamName:DeleteDeliveryStream' :: Text
deliveryStreamName = Text
a} :: DeleteDeliveryStream)
instance Core.AWSRequest DeleteDeliveryStream where
type
AWSResponse DeleteDeliveryStream =
DeleteDeliveryStreamResponse
request :: (Service -> Service)
-> DeleteDeliveryStream -> Request DeleteDeliveryStream
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 DeleteDeliveryStream
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteDeliveryStream)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DeleteDeliveryStreamResponse
DeleteDeliveryStreamResponse'
forall (f :: * -> *) a b. Functor 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 DeleteDeliveryStream where
hashWithSalt :: Int -> DeleteDeliveryStream -> Int
hashWithSalt Int
_salt DeleteDeliveryStream' {Maybe Bool
Text
deliveryStreamName :: Text
allowForceDelete :: Maybe Bool
$sel:deliveryStreamName:DeleteDeliveryStream' :: DeleteDeliveryStream -> Text
$sel:allowForceDelete:DeleteDeliveryStream' :: DeleteDeliveryStream -> Maybe Bool
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
allowForceDelete
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deliveryStreamName
instance Prelude.NFData DeleteDeliveryStream where
rnf :: DeleteDeliveryStream -> ()
rnf DeleteDeliveryStream' {Maybe Bool
Text
deliveryStreamName :: Text
allowForceDelete :: Maybe Bool
$sel:deliveryStreamName:DeleteDeliveryStream' :: DeleteDeliveryStream -> Text
$sel:allowForceDelete:DeleteDeliveryStream' :: DeleteDeliveryStream -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
allowForceDelete
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deliveryStreamName
instance Data.ToHeaders DeleteDeliveryStream where
toHeaders :: DeleteDeliveryStream -> 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
"Firehose_20150804.DeleteDeliveryStream" ::
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 DeleteDeliveryStream where
toJSON :: DeleteDeliveryStream -> Value
toJSON DeleteDeliveryStream' {Maybe Bool
Text
deliveryStreamName :: Text
allowForceDelete :: Maybe Bool
$sel:deliveryStreamName:DeleteDeliveryStream' :: DeleteDeliveryStream -> Text
$sel:allowForceDelete:DeleteDeliveryStream' :: DeleteDeliveryStream -> Maybe Bool
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AllowForceDelete" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
allowForceDelete,
forall a. a -> Maybe a
Prelude.Just
(Key
"DeliveryStreamName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
deliveryStreamName)
]
)
instance Data.ToPath DeleteDeliveryStream where
toPath :: DeleteDeliveryStream -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteDeliveryStream where
toQuery :: DeleteDeliveryStream -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteDeliveryStreamResponse = DeleteDeliveryStreamResponse'
{
DeleteDeliveryStreamResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteDeliveryStreamResponse
-> DeleteDeliveryStreamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteDeliveryStreamResponse
-> DeleteDeliveryStreamResponse -> Bool
$c/= :: DeleteDeliveryStreamResponse
-> DeleteDeliveryStreamResponse -> Bool
== :: DeleteDeliveryStreamResponse
-> DeleteDeliveryStreamResponse -> Bool
$c== :: DeleteDeliveryStreamResponse
-> DeleteDeliveryStreamResponse -> Bool
Prelude.Eq, ReadPrec [DeleteDeliveryStreamResponse]
ReadPrec DeleteDeliveryStreamResponse
Int -> ReadS DeleteDeliveryStreamResponse
ReadS [DeleteDeliveryStreamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteDeliveryStreamResponse]
$creadListPrec :: ReadPrec [DeleteDeliveryStreamResponse]
readPrec :: ReadPrec DeleteDeliveryStreamResponse
$creadPrec :: ReadPrec DeleteDeliveryStreamResponse
readList :: ReadS [DeleteDeliveryStreamResponse]
$creadList :: ReadS [DeleteDeliveryStreamResponse]
readsPrec :: Int -> ReadS DeleteDeliveryStreamResponse
$creadsPrec :: Int -> ReadS DeleteDeliveryStreamResponse
Prelude.Read, Int -> DeleteDeliveryStreamResponse -> ShowS
[DeleteDeliveryStreamResponse] -> ShowS
DeleteDeliveryStreamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteDeliveryStreamResponse] -> ShowS
$cshowList :: [DeleteDeliveryStreamResponse] -> ShowS
show :: DeleteDeliveryStreamResponse -> String
$cshow :: DeleteDeliveryStreamResponse -> String
showsPrec :: Int -> DeleteDeliveryStreamResponse -> ShowS
$cshowsPrec :: Int -> DeleteDeliveryStreamResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteDeliveryStreamResponse x -> DeleteDeliveryStreamResponse
forall x.
DeleteDeliveryStreamResponse -> Rep DeleteDeliveryStreamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteDeliveryStreamResponse x -> DeleteDeliveryStreamResponse
$cfrom :: forall x.
DeleteDeliveryStreamResponse -> Rep DeleteDeliveryStreamResponse x
Prelude.Generic)
newDeleteDeliveryStreamResponse ::
Prelude.Int ->
DeleteDeliveryStreamResponse
newDeleteDeliveryStreamResponse :: Int -> DeleteDeliveryStreamResponse
newDeleteDeliveryStreamResponse Int
pHttpStatus_ =
DeleteDeliveryStreamResponse'
{ $sel:httpStatus:DeleteDeliveryStreamResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
deleteDeliveryStreamResponse_httpStatus :: Lens.Lens' DeleteDeliveryStreamResponse Prelude.Int
deleteDeliveryStreamResponse_httpStatus :: Lens' DeleteDeliveryStreamResponse Int
deleteDeliveryStreamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDeliveryStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteDeliveryStreamResponse' :: DeleteDeliveryStreamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteDeliveryStreamResponse
s@DeleteDeliveryStreamResponse' {} Int
a -> DeleteDeliveryStreamResponse
s {$sel:httpStatus:DeleteDeliveryStreamResponse' :: Int
httpStatus = Int
a} :: DeleteDeliveryStreamResponse)
instance Prelude.NFData DeleteDeliveryStreamResponse where
rnf :: DeleteDeliveryStreamResponse -> ()
rnf DeleteDeliveryStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteDeliveryStreamResponse' :: DeleteDeliveryStreamResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus