{-# 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.ListTagsForDeliveryStream
(
ListTagsForDeliveryStream (..),
newListTagsForDeliveryStream,
listTagsForDeliveryStream_exclusiveStartTagKey,
listTagsForDeliveryStream_limit,
listTagsForDeliveryStream_deliveryStreamName,
ListTagsForDeliveryStreamResponse (..),
newListTagsForDeliveryStreamResponse,
listTagsForDeliveryStreamResponse_httpStatus,
listTagsForDeliveryStreamResponse_tags,
listTagsForDeliveryStreamResponse_hasMoreTags,
)
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 ListTagsForDeliveryStream = ListTagsForDeliveryStream'
{
ListTagsForDeliveryStream -> Maybe Text
exclusiveStartTagKey :: Prelude.Maybe Prelude.Text,
ListTagsForDeliveryStream -> Maybe Natural
limit :: Prelude.Maybe Prelude.Natural,
ListTagsForDeliveryStream -> Text
deliveryStreamName :: Prelude.Text
}
deriving (ListTagsForDeliveryStream -> ListTagsForDeliveryStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListTagsForDeliveryStream -> ListTagsForDeliveryStream -> Bool
$c/= :: ListTagsForDeliveryStream -> ListTagsForDeliveryStream -> Bool
== :: ListTagsForDeliveryStream -> ListTagsForDeliveryStream -> Bool
$c== :: ListTagsForDeliveryStream -> ListTagsForDeliveryStream -> Bool
Prelude.Eq, ReadPrec [ListTagsForDeliveryStream]
ReadPrec ListTagsForDeliveryStream
Int -> ReadS ListTagsForDeliveryStream
ReadS [ListTagsForDeliveryStream]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListTagsForDeliveryStream]
$creadListPrec :: ReadPrec [ListTagsForDeliveryStream]
readPrec :: ReadPrec ListTagsForDeliveryStream
$creadPrec :: ReadPrec ListTagsForDeliveryStream
readList :: ReadS [ListTagsForDeliveryStream]
$creadList :: ReadS [ListTagsForDeliveryStream]
readsPrec :: Int -> ReadS ListTagsForDeliveryStream
$creadsPrec :: Int -> ReadS ListTagsForDeliveryStream
Prelude.Read, Int -> ListTagsForDeliveryStream -> ShowS
[ListTagsForDeliveryStream] -> ShowS
ListTagsForDeliveryStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListTagsForDeliveryStream] -> ShowS
$cshowList :: [ListTagsForDeliveryStream] -> ShowS
show :: ListTagsForDeliveryStream -> String
$cshow :: ListTagsForDeliveryStream -> String
showsPrec :: Int -> ListTagsForDeliveryStream -> ShowS
$cshowsPrec :: Int -> ListTagsForDeliveryStream -> ShowS
Prelude.Show, forall x.
Rep ListTagsForDeliveryStream x -> ListTagsForDeliveryStream
forall x.
ListTagsForDeliveryStream -> Rep ListTagsForDeliveryStream x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListTagsForDeliveryStream x -> ListTagsForDeliveryStream
$cfrom :: forall x.
ListTagsForDeliveryStream -> Rep ListTagsForDeliveryStream x
Prelude.Generic)
newListTagsForDeliveryStream ::
Prelude.Text ->
ListTagsForDeliveryStream
newListTagsForDeliveryStream :: Text -> ListTagsForDeliveryStream
newListTagsForDeliveryStream Text
pDeliveryStreamName_ =
ListTagsForDeliveryStream'
{ $sel:exclusiveStartTagKey:ListTagsForDeliveryStream' :: Maybe Text
exclusiveStartTagKey =
forall a. Maybe a
Prelude.Nothing,
$sel:limit:ListTagsForDeliveryStream' :: Maybe Natural
limit = forall a. Maybe a
Prelude.Nothing,
$sel:deliveryStreamName:ListTagsForDeliveryStream' :: Text
deliveryStreamName = Text
pDeliveryStreamName_
}
listTagsForDeliveryStream_exclusiveStartTagKey :: Lens.Lens' ListTagsForDeliveryStream (Prelude.Maybe Prelude.Text)
listTagsForDeliveryStream_exclusiveStartTagKey :: Lens' ListTagsForDeliveryStream (Maybe Text)
listTagsForDeliveryStream_exclusiveStartTagKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListTagsForDeliveryStream' {Maybe Text
exclusiveStartTagKey :: Maybe Text
$sel:exclusiveStartTagKey:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Text
exclusiveStartTagKey} -> Maybe Text
exclusiveStartTagKey) (\s :: ListTagsForDeliveryStream
s@ListTagsForDeliveryStream' {} Maybe Text
a -> ListTagsForDeliveryStream
s {$sel:exclusiveStartTagKey:ListTagsForDeliveryStream' :: Maybe Text
exclusiveStartTagKey = Maybe Text
a} :: ListTagsForDeliveryStream)
listTagsForDeliveryStream_limit :: Lens.Lens' ListTagsForDeliveryStream (Prelude.Maybe Prelude.Natural)
listTagsForDeliveryStream_limit :: Lens' ListTagsForDeliveryStream (Maybe Natural)
listTagsForDeliveryStream_limit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListTagsForDeliveryStream' {Maybe Natural
limit :: Maybe Natural
$sel:limit:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Natural
limit} -> Maybe Natural
limit) (\s :: ListTagsForDeliveryStream
s@ListTagsForDeliveryStream' {} Maybe Natural
a -> ListTagsForDeliveryStream
s {$sel:limit:ListTagsForDeliveryStream' :: Maybe Natural
limit = Maybe Natural
a} :: ListTagsForDeliveryStream)
listTagsForDeliveryStream_deliveryStreamName :: Lens.Lens' ListTagsForDeliveryStream Prelude.Text
listTagsForDeliveryStream_deliveryStreamName :: Lens' ListTagsForDeliveryStream Text
listTagsForDeliveryStream_deliveryStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListTagsForDeliveryStream' {Text
deliveryStreamName :: Text
$sel:deliveryStreamName:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Text
deliveryStreamName} -> Text
deliveryStreamName) (\s :: ListTagsForDeliveryStream
s@ListTagsForDeliveryStream' {} Text
a -> ListTagsForDeliveryStream
s {$sel:deliveryStreamName:ListTagsForDeliveryStream' :: Text
deliveryStreamName = Text
a} :: ListTagsForDeliveryStream)
instance Core.AWSRequest ListTagsForDeliveryStream where
type
AWSResponse ListTagsForDeliveryStream =
ListTagsForDeliveryStreamResponse
request :: (Service -> Service)
-> ListTagsForDeliveryStream -> Request ListTagsForDeliveryStream
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 ListTagsForDeliveryStream
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListTagsForDeliveryStream)))
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 ->
Int -> [Tag] -> Bool -> ListTagsForDeliveryStreamResponse
ListTagsForDeliveryStreamResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"HasMoreTags")
)
instance Prelude.Hashable ListTagsForDeliveryStream where
hashWithSalt :: Int -> ListTagsForDeliveryStream -> Int
hashWithSalt Int
_salt ListTagsForDeliveryStream' {Maybe Natural
Maybe Text
Text
deliveryStreamName :: Text
limit :: Maybe Natural
exclusiveStartTagKey :: Maybe Text
$sel:deliveryStreamName:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Text
$sel:limit:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Natural
$sel:exclusiveStartTagKey:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
exclusiveStartTagKey
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
limit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deliveryStreamName
instance Prelude.NFData ListTagsForDeliveryStream where
rnf :: ListTagsForDeliveryStream -> ()
rnf ListTagsForDeliveryStream' {Maybe Natural
Maybe Text
Text
deliveryStreamName :: Text
limit :: Maybe Natural
exclusiveStartTagKey :: Maybe Text
$sel:deliveryStreamName:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Text
$sel:limit:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Natural
$sel:exclusiveStartTagKey:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
exclusiveStartTagKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
limit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deliveryStreamName
instance Data.ToHeaders ListTagsForDeliveryStream where
toHeaders :: ListTagsForDeliveryStream -> 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.ListTagsForDeliveryStream" ::
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 ListTagsForDeliveryStream where
toJSON :: ListTagsForDeliveryStream -> Value
toJSON ListTagsForDeliveryStream' {Maybe Natural
Maybe Text
Text
deliveryStreamName :: Text
limit :: Maybe Natural
exclusiveStartTagKey :: Maybe Text
$sel:deliveryStreamName:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Text
$sel:limit:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Natural
$sel:exclusiveStartTagKey:ListTagsForDeliveryStream' :: ListTagsForDeliveryStream -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ExclusiveStartTagKey" 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 Text
exclusiveStartTagKey,
(Key
"Limit" 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 Natural
limit,
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 ListTagsForDeliveryStream where
toPath :: ListTagsForDeliveryStream -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ListTagsForDeliveryStream where
toQuery :: ListTagsForDeliveryStream -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ListTagsForDeliveryStreamResponse = ListTagsForDeliveryStreamResponse'
{
ListTagsForDeliveryStreamResponse -> Int
httpStatus :: Prelude.Int,
ListTagsForDeliveryStreamResponse -> [Tag]
tags :: [Tag],
ListTagsForDeliveryStreamResponse -> Bool
hasMoreTags :: Prelude.Bool
}
deriving (ListTagsForDeliveryStreamResponse
-> ListTagsForDeliveryStreamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListTagsForDeliveryStreamResponse
-> ListTagsForDeliveryStreamResponse -> Bool
$c/= :: ListTagsForDeliveryStreamResponse
-> ListTagsForDeliveryStreamResponse -> Bool
== :: ListTagsForDeliveryStreamResponse
-> ListTagsForDeliveryStreamResponse -> Bool
$c== :: ListTagsForDeliveryStreamResponse
-> ListTagsForDeliveryStreamResponse -> Bool
Prelude.Eq, ReadPrec [ListTagsForDeliveryStreamResponse]
ReadPrec ListTagsForDeliveryStreamResponse
Int -> ReadS ListTagsForDeliveryStreamResponse
ReadS [ListTagsForDeliveryStreamResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListTagsForDeliveryStreamResponse]
$creadListPrec :: ReadPrec [ListTagsForDeliveryStreamResponse]
readPrec :: ReadPrec ListTagsForDeliveryStreamResponse
$creadPrec :: ReadPrec ListTagsForDeliveryStreamResponse
readList :: ReadS [ListTagsForDeliveryStreamResponse]
$creadList :: ReadS [ListTagsForDeliveryStreamResponse]
readsPrec :: Int -> ReadS ListTagsForDeliveryStreamResponse
$creadsPrec :: Int -> ReadS ListTagsForDeliveryStreamResponse
Prelude.Read, Int -> ListTagsForDeliveryStreamResponse -> ShowS
[ListTagsForDeliveryStreamResponse] -> ShowS
ListTagsForDeliveryStreamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListTagsForDeliveryStreamResponse] -> ShowS
$cshowList :: [ListTagsForDeliveryStreamResponse] -> ShowS
show :: ListTagsForDeliveryStreamResponse -> String
$cshow :: ListTagsForDeliveryStreamResponse -> String
showsPrec :: Int -> ListTagsForDeliveryStreamResponse -> ShowS
$cshowsPrec :: Int -> ListTagsForDeliveryStreamResponse -> ShowS
Prelude.Show, forall x.
Rep ListTagsForDeliveryStreamResponse x
-> ListTagsForDeliveryStreamResponse
forall x.
ListTagsForDeliveryStreamResponse
-> Rep ListTagsForDeliveryStreamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListTagsForDeliveryStreamResponse x
-> ListTagsForDeliveryStreamResponse
$cfrom :: forall x.
ListTagsForDeliveryStreamResponse
-> Rep ListTagsForDeliveryStreamResponse x
Prelude.Generic)
newListTagsForDeliveryStreamResponse ::
Prelude.Int ->
Prelude.Bool ->
ListTagsForDeliveryStreamResponse
newListTagsForDeliveryStreamResponse :: Int -> Bool -> ListTagsForDeliveryStreamResponse
newListTagsForDeliveryStreamResponse
Int
pHttpStatus_
Bool
pHasMoreTags_ =
ListTagsForDeliveryStreamResponse'
{ $sel:httpStatus:ListTagsForDeliveryStreamResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:tags:ListTagsForDeliveryStreamResponse' :: [Tag]
tags = forall a. Monoid a => a
Prelude.mempty,
$sel:hasMoreTags:ListTagsForDeliveryStreamResponse' :: Bool
hasMoreTags = Bool
pHasMoreTags_
}
listTagsForDeliveryStreamResponse_httpStatus :: Lens.Lens' ListTagsForDeliveryStreamResponse Prelude.Int
listTagsForDeliveryStreamResponse_httpStatus :: Lens' ListTagsForDeliveryStreamResponse Int
listTagsForDeliveryStreamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListTagsForDeliveryStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListTagsForDeliveryStreamResponse' :: ListTagsForDeliveryStreamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListTagsForDeliveryStreamResponse
s@ListTagsForDeliveryStreamResponse' {} Int
a -> ListTagsForDeliveryStreamResponse
s {$sel:httpStatus:ListTagsForDeliveryStreamResponse' :: Int
httpStatus = Int
a} :: ListTagsForDeliveryStreamResponse)
listTagsForDeliveryStreamResponse_tags :: Lens.Lens' ListTagsForDeliveryStreamResponse [Tag]
listTagsForDeliveryStreamResponse_tags :: Lens' ListTagsForDeliveryStreamResponse [Tag]
listTagsForDeliveryStreamResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListTagsForDeliveryStreamResponse' {[Tag]
tags :: [Tag]
$sel:tags:ListTagsForDeliveryStreamResponse' :: ListTagsForDeliveryStreamResponse -> [Tag]
tags} -> [Tag]
tags) (\s :: ListTagsForDeliveryStreamResponse
s@ListTagsForDeliveryStreamResponse' {} [Tag]
a -> ListTagsForDeliveryStreamResponse
s {$sel:tags:ListTagsForDeliveryStreamResponse' :: [Tag]
tags = [Tag]
a} :: ListTagsForDeliveryStreamResponse) 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
listTagsForDeliveryStreamResponse_hasMoreTags :: Lens.Lens' ListTagsForDeliveryStreamResponse Prelude.Bool
listTagsForDeliveryStreamResponse_hasMoreTags :: Lens' ListTagsForDeliveryStreamResponse Bool
listTagsForDeliveryStreamResponse_hasMoreTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListTagsForDeliveryStreamResponse' {Bool
hasMoreTags :: Bool
$sel:hasMoreTags:ListTagsForDeliveryStreamResponse' :: ListTagsForDeliveryStreamResponse -> Bool
hasMoreTags} -> Bool
hasMoreTags) (\s :: ListTagsForDeliveryStreamResponse
s@ListTagsForDeliveryStreamResponse' {} Bool
a -> ListTagsForDeliveryStreamResponse
s {$sel:hasMoreTags:ListTagsForDeliveryStreamResponse' :: Bool
hasMoreTags = Bool
a} :: ListTagsForDeliveryStreamResponse)
instance
Prelude.NFData
ListTagsForDeliveryStreamResponse
where
rnf :: ListTagsForDeliveryStreamResponse -> ()
rnf ListTagsForDeliveryStreamResponse' {Bool
Int
[Tag]
hasMoreTags :: Bool
tags :: [Tag]
httpStatus :: Int
$sel:hasMoreTags:ListTagsForDeliveryStreamResponse' :: ListTagsForDeliveryStreamResponse -> Bool
$sel:tags:ListTagsForDeliveryStreamResponse' :: ListTagsForDeliveryStreamResponse -> [Tag]
$sel:httpStatus:ListTagsForDeliveryStreamResponse' :: ListTagsForDeliveryStreamResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
hasMoreTags