{-# 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.UntagDeliveryStream
(
UntagDeliveryStream (..),
newUntagDeliveryStream,
untagDeliveryStream_deliveryStreamName,
untagDeliveryStream_tagKeys,
UntagDeliveryStreamResponse (..),
newUntagDeliveryStreamResponse,
untagDeliveryStreamResponse_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 UntagDeliveryStream = UntagDeliveryStream'
{
UntagDeliveryStream -> Text
deliveryStreamName :: Prelude.Text,
UntagDeliveryStream -> NonEmpty Text
tagKeys :: Prelude.NonEmpty Prelude.Text
}
deriving (UntagDeliveryStream -> UntagDeliveryStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UntagDeliveryStream -> UntagDeliveryStream -> Bool
$c/= :: UntagDeliveryStream -> UntagDeliveryStream -> Bool
== :: UntagDeliveryStream -> UntagDeliveryStream -> Bool
$c== :: UntagDeliveryStream -> UntagDeliveryStream -> Bool
Prelude.Eq, ReadPrec [UntagDeliveryStream]
ReadPrec UntagDeliveryStream
Int -> ReadS UntagDeliveryStream
ReadS [UntagDeliveryStream]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UntagDeliveryStream]
$creadListPrec :: ReadPrec [UntagDeliveryStream]
readPrec :: ReadPrec UntagDeliveryStream
$creadPrec :: ReadPrec UntagDeliveryStream
readList :: ReadS [UntagDeliveryStream]
$creadList :: ReadS [UntagDeliveryStream]
readsPrec :: Int -> ReadS UntagDeliveryStream
$creadsPrec :: Int -> ReadS UntagDeliveryStream
Prelude.Read, Int -> UntagDeliveryStream -> ShowS
[UntagDeliveryStream] -> ShowS
UntagDeliveryStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UntagDeliveryStream] -> ShowS
$cshowList :: [UntagDeliveryStream] -> ShowS
show :: UntagDeliveryStream -> String
$cshow :: UntagDeliveryStream -> String
showsPrec :: Int -> UntagDeliveryStream -> ShowS
$cshowsPrec :: Int -> UntagDeliveryStream -> ShowS
Prelude.Show, forall x. Rep UntagDeliveryStream x -> UntagDeliveryStream
forall x. UntagDeliveryStream -> Rep UntagDeliveryStream x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UntagDeliveryStream x -> UntagDeliveryStream
$cfrom :: forall x. UntagDeliveryStream -> Rep UntagDeliveryStream x
Prelude.Generic)
newUntagDeliveryStream ::
Prelude.Text ->
Prelude.NonEmpty Prelude.Text ->
UntagDeliveryStream
newUntagDeliveryStream :: Text -> NonEmpty Text -> UntagDeliveryStream
newUntagDeliveryStream Text
pDeliveryStreamName_ NonEmpty Text
pTagKeys_ =
UntagDeliveryStream'
{ $sel:deliveryStreamName:UntagDeliveryStream' :: Text
deliveryStreamName =
Text
pDeliveryStreamName_,
$sel:tagKeys:UntagDeliveryStream' :: NonEmpty Text
tagKeys = forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty Text
pTagKeys_
}
untagDeliveryStream_deliveryStreamName :: Lens.Lens' UntagDeliveryStream Prelude.Text
untagDeliveryStream_deliveryStreamName :: Lens' UntagDeliveryStream Text
untagDeliveryStream_deliveryStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UntagDeliveryStream' {Text
deliveryStreamName :: Text
$sel:deliveryStreamName:UntagDeliveryStream' :: UntagDeliveryStream -> Text
deliveryStreamName} -> Text
deliveryStreamName) (\s :: UntagDeliveryStream
s@UntagDeliveryStream' {} Text
a -> UntagDeliveryStream
s {$sel:deliveryStreamName:UntagDeliveryStream' :: Text
deliveryStreamName = Text
a} :: UntagDeliveryStream)
untagDeliveryStream_tagKeys :: Lens.Lens' UntagDeliveryStream (Prelude.NonEmpty Prelude.Text)
untagDeliveryStream_tagKeys :: Lens' UntagDeliveryStream (NonEmpty Text)
untagDeliveryStream_tagKeys = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UntagDeliveryStream' {NonEmpty Text
tagKeys :: NonEmpty Text
$sel:tagKeys:UntagDeliveryStream' :: UntagDeliveryStream -> NonEmpty Text
tagKeys} -> NonEmpty Text
tagKeys) (\s :: UntagDeliveryStream
s@UntagDeliveryStream' {} NonEmpty Text
a -> UntagDeliveryStream
s {$sel:tagKeys:UntagDeliveryStream' :: NonEmpty Text
tagKeys = NonEmpty Text
a} :: UntagDeliveryStream) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest UntagDeliveryStream where
type
AWSResponse UntagDeliveryStream =
UntagDeliveryStreamResponse
request :: (Service -> Service)
-> UntagDeliveryStream -> Request UntagDeliveryStream
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 UntagDeliveryStream
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UntagDeliveryStream)))
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 -> UntagDeliveryStreamResponse
UntagDeliveryStreamResponse'
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 UntagDeliveryStream where
hashWithSalt :: Int -> UntagDeliveryStream -> Int
hashWithSalt Int
_salt UntagDeliveryStream' {NonEmpty Text
Text
tagKeys :: NonEmpty Text
deliveryStreamName :: Text
$sel:tagKeys:UntagDeliveryStream' :: UntagDeliveryStream -> NonEmpty Text
$sel:deliveryStreamName:UntagDeliveryStream' :: UntagDeliveryStream -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deliveryStreamName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty Text
tagKeys
instance Prelude.NFData UntagDeliveryStream where
rnf :: UntagDeliveryStream -> ()
rnf UntagDeliveryStream' {NonEmpty Text
Text
tagKeys :: NonEmpty Text
deliveryStreamName :: Text
$sel:tagKeys:UntagDeliveryStream' :: UntagDeliveryStream -> NonEmpty Text
$sel:deliveryStreamName:UntagDeliveryStream' :: UntagDeliveryStream -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
deliveryStreamName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty Text
tagKeys
instance Data.ToHeaders UntagDeliveryStream where
toHeaders :: UntagDeliveryStream -> 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.UntagDeliveryStream" ::
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 UntagDeliveryStream where
toJSON :: UntagDeliveryStream -> Value
toJSON UntagDeliveryStream' {NonEmpty Text
Text
tagKeys :: NonEmpty Text
deliveryStreamName :: Text
$sel:tagKeys:UntagDeliveryStream' :: UntagDeliveryStream -> NonEmpty Text
$sel:deliveryStreamName:UntagDeliveryStream' :: UntagDeliveryStream -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"DeliveryStreamName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
deliveryStreamName),
forall a. a -> Maybe a
Prelude.Just (Key
"TagKeys" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty Text
tagKeys)
]
)
instance Data.ToPath UntagDeliveryStream where
toPath :: UntagDeliveryStream -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UntagDeliveryStream where
toQuery :: UntagDeliveryStream -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UntagDeliveryStreamResponse = UntagDeliveryStreamResponse'
{
UntagDeliveryStreamResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UntagDeliveryStreamResponse -> UntagDeliveryStreamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UntagDeliveryStreamResponse -> UntagDeliveryStreamResponse -> Bool
$c/= :: UntagDeliveryStreamResponse -> UntagDeliveryStreamResponse -> Bool
== :: UntagDeliveryStreamResponse -> UntagDeliveryStreamResponse -> Bool
$c== :: UntagDeliveryStreamResponse -> UntagDeliveryStreamResponse -> Bool
Prelude.Eq, ReadPrec [UntagDeliveryStreamResponse]
ReadPrec UntagDeliveryStreamResponse
Int -> ReadS UntagDeliveryStreamResponse
ReadS [UntagDeliveryStreamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UntagDeliveryStreamResponse]
$creadListPrec :: ReadPrec [UntagDeliveryStreamResponse]
readPrec :: ReadPrec UntagDeliveryStreamResponse
$creadPrec :: ReadPrec UntagDeliveryStreamResponse
readList :: ReadS [UntagDeliveryStreamResponse]
$creadList :: ReadS [UntagDeliveryStreamResponse]
readsPrec :: Int -> ReadS UntagDeliveryStreamResponse
$creadsPrec :: Int -> ReadS UntagDeliveryStreamResponse
Prelude.Read, Int -> UntagDeliveryStreamResponse -> ShowS
[UntagDeliveryStreamResponse] -> ShowS
UntagDeliveryStreamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UntagDeliveryStreamResponse] -> ShowS
$cshowList :: [UntagDeliveryStreamResponse] -> ShowS
show :: UntagDeliveryStreamResponse -> String
$cshow :: UntagDeliveryStreamResponse -> String
showsPrec :: Int -> UntagDeliveryStreamResponse -> ShowS
$cshowsPrec :: Int -> UntagDeliveryStreamResponse -> ShowS
Prelude.Show, forall x.
Rep UntagDeliveryStreamResponse x -> UntagDeliveryStreamResponse
forall x.
UntagDeliveryStreamResponse -> Rep UntagDeliveryStreamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UntagDeliveryStreamResponse x -> UntagDeliveryStreamResponse
$cfrom :: forall x.
UntagDeliveryStreamResponse -> Rep UntagDeliveryStreamResponse x
Prelude.Generic)
newUntagDeliveryStreamResponse ::
Prelude.Int ->
UntagDeliveryStreamResponse
newUntagDeliveryStreamResponse :: Int -> UntagDeliveryStreamResponse
newUntagDeliveryStreamResponse Int
pHttpStatus_ =
UntagDeliveryStreamResponse'
{ $sel:httpStatus:UntagDeliveryStreamResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
untagDeliveryStreamResponse_httpStatus :: Lens.Lens' UntagDeliveryStreamResponse Prelude.Int
untagDeliveryStreamResponse_httpStatus :: Lens' UntagDeliveryStreamResponse Int
untagDeliveryStreamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UntagDeliveryStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:UntagDeliveryStreamResponse' :: UntagDeliveryStreamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UntagDeliveryStreamResponse
s@UntagDeliveryStreamResponse' {} Int
a -> UntagDeliveryStreamResponse
s {$sel:httpStatus:UntagDeliveryStreamResponse' :: Int
httpStatus = Int
a} :: UntagDeliveryStreamResponse)
instance Prelude.NFData UntagDeliveryStreamResponse where
rnf :: UntagDeliveryStreamResponse -> ()
rnf UntagDeliveryStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:UntagDeliveryStreamResponse' :: UntagDeliveryStreamResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus