{-# 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.Config.DescribeDeliveryChannels
(
DescribeDeliveryChannels (..),
newDescribeDeliveryChannels,
describeDeliveryChannels_deliveryChannelNames,
DescribeDeliveryChannelsResponse (..),
newDescribeDeliveryChannelsResponse,
describeDeliveryChannelsResponse_deliveryChannels,
describeDeliveryChannelsResponse_httpStatus,
)
where
import Amazonka.Config.Types
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeDeliveryChannels = DescribeDeliveryChannels'
{
DescribeDeliveryChannels -> Maybe [Text]
deliveryChannelNames :: Prelude.Maybe [Prelude.Text]
}
deriving (DescribeDeliveryChannels -> DescribeDeliveryChannels -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDeliveryChannels -> DescribeDeliveryChannels -> Bool
$c/= :: DescribeDeliveryChannels -> DescribeDeliveryChannels -> Bool
== :: DescribeDeliveryChannels -> DescribeDeliveryChannels -> Bool
$c== :: DescribeDeliveryChannels -> DescribeDeliveryChannels -> Bool
Prelude.Eq, ReadPrec [DescribeDeliveryChannels]
ReadPrec DescribeDeliveryChannels
Int -> ReadS DescribeDeliveryChannels
ReadS [DescribeDeliveryChannels]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDeliveryChannels]
$creadListPrec :: ReadPrec [DescribeDeliveryChannels]
readPrec :: ReadPrec DescribeDeliveryChannels
$creadPrec :: ReadPrec DescribeDeliveryChannels
readList :: ReadS [DescribeDeliveryChannels]
$creadList :: ReadS [DescribeDeliveryChannels]
readsPrec :: Int -> ReadS DescribeDeliveryChannels
$creadsPrec :: Int -> ReadS DescribeDeliveryChannels
Prelude.Read, Int -> DescribeDeliveryChannels -> ShowS
[DescribeDeliveryChannels] -> ShowS
DescribeDeliveryChannels -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDeliveryChannels] -> ShowS
$cshowList :: [DescribeDeliveryChannels] -> ShowS
show :: DescribeDeliveryChannels -> String
$cshow :: DescribeDeliveryChannels -> String
showsPrec :: Int -> DescribeDeliveryChannels -> ShowS
$cshowsPrec :: Int -> DescribeDeliveryChannels -> ShowS
Prelude.Show, forall x.
Rep DescribeDeliveryChannels x -> DescribeDeliveryChannels
forall x.
DescribeDeliveryChannels -> Rep DescribeDeliveryChannels x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDeliveryChannels x -> DescribeDeliveryChannels
$cfrom :: forall x.
DescribeDeliveryChannels -> Rep DescribeDeliveryChannels x
Prelude.Generic)
newDescribeDeliveryChannels ::
DescribeDeliveryChannels
newDescribeDeliveryChannels :: DescribeDeliveryChannels
newDescribeDeliveryChannels =
DescribeDeliveryChannels'
{ $sel:deliveryChannelNames:DescribeDeliveryChannels' :: Maybe [Text]
deliveryChannelNames =
forall a. Maybe a
Prelude.Nothing
}
describeDeliveryChannels_deliveryChannelNames :: Lens.Lens' DescribeDeliveryChannels (Prelude.Maybe [Prelude.Text])
describeDeliveryChannels_deliveryChannelNames :: Lens' DescribeDeliveryChannels (Maybe [Text])
describeDeliveryChannels_deliveryChannelNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeliveryChannels' {Maybe [Text]
deliveryChannelNames :: Maybe [Text]
$sel:deliveryChannelNames:DescribeDeliveryChannels' :: DescribeDeliveryChannels -> Maybe [Text]
deliveryChannelNames} -> Maybe [Text]
deliveryChannelNames) (\s :: DescribeDeliveryChannels
s@DescribeDeliveryChannels' {} Maybe [Text]
a -> DescribeDeliveryChannels
s {$sel:deliveryChannelNames:DescribeDeliveryChannels' :: Maybe [Text]
deliveryChannelNames = Maybe [Text]
a} :: DescribeDeliveryChannels) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest DescribeDeliveryChannels where
type
AWSResponse DescribeDeliveryChannels =
DescribeDeliveryChannelsResponse
request :: (Service -> Service)
-> DescribeDeliveryChannels -> Request DescribeDeliveryChannels
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 DescribeDeliveryChannels
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeDeliveryChannels)))
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 [DeliveryChannel] -> Int -> DescribeDeliveryChannelsResponse
DescribeDeliveryChannelsResponse'
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
"DeliveryChannels"
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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable DescribeDeliveryChannels where
hashWithSalt :: Int -> DescribeDeliveryChannels -> Int
hashWithSalt Int
_salt DescribeDeliveryChannels' {Maybe [Text]
deliveryChannelNames :: Maybe [Text]
$sel:deliveryChannelNames:DescribeDeliveryChannels' :: DescribeDeliveryChannels -> Maybe [Text]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
deliveryChannelNames
instance Prelude.NFData DescribeDeliveryChannels where
rnf :: DescribeDeliveryChannels -> ()
rnf DescribeDeliveryChannels' {Maybe [Text]
deliveryChannelNames :: Maybe [Text]
$sel:deliveryChannelNames:DescribeDeliveryChannels' :: DescribeDeliveryChannels -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
deliveryChannelNames
instance Data.ToHeaders DescribeDeliveryChannels where
toHeaders :: DescribeDeliveryChannels -> 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
"StarlingDoveService.DescribeDeliveryChannels" ::
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 DescribeDeliveryChannels where
toJSON :: DescribeDeliveryChannels -> Value
toJSON DescribeDeliveryChannels' {Maybe [Text]
deliveryChannelNames :: Maybe [Text]
$sel:deliveryChannelNames:DescribeDeliveryChannels' :: DescribeDeliveryChannels -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DeliveryChannelNames" 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]
deliveryChannelNames
]
)
instance Data.ToPath DescribeDeliveryChannels where
toPath :: DescribeDeliveryChannels -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeDeliveryChannels where
toQuery :: DescribeDeliveryChannels -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeDeliveryChannelsResponse = DescribeDeliveryChannelsResponse'
{
DescribeDeliveryChannelsResponse -> Maybe [DeliveryChannel]
deliveryChannels :: Prelude.Maybe [DeliveryChannel],
DescribeDeliveryChannelsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeDeliveryChannelsResponse
-> DescribeDeliveryChannelsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDeliveryChannelsResponse
-> DescribeDeliveryChannelsResponse -> Bool
$c/= :: DescribeDeliveryChannelsResponse
-> DescribeDeliveryChannelsResponse -> Bool
== :: DescribeDeliveryChannelsResponse
-> DescribeDeliveryChannelsResponse -> Bool
$c== :: DescribeDeliveryChannelsResponse
-> DescribeDeliveryChannelsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDeliveryChannelsResponse]
ReadPrec DescribeDeliveryChannelsResponse
Int -> ReadS DescribeDeliveryChannelsResponse
ReadS [DescribeDeliveryChannelsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDeliveryChannelsResponse]
$creadListPrec :: ReadPrec [DescribeDeliveryChannelsResponse]
readPrec :: ReadPrec DescribeDeliveryChannelsResponse
$creadPrec :: ReadPrec DescribeDeliveryChannelsResponse
readList :: ReadS [DescribeDeliveryChannelsResponse]
$creadList :: ReadS [DescribeDeliveryChannelsResponse]
readsPrec :: Int -> ReadS DescribeDeliveryChannelsResponse
$creadsPrec :: Int -> ReadS DescribeDeliveryChannelsResponse
Prelude.Read, Int -> DescribeDeliveryChannelsResponse -> ShowS
[DescribeDeliveryChannelsResponse] -> ShowS
DescribeDeliveryChannelsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDeliveryChannelsResponse] -> ShowS
$cshowList :: [DescribeDeliveryChannelsResponse] -> ShowS
show :: DescribeDeliveryChannelsResponse -> String
$cshow :: DescribeDeliveryChannelsResponse -> String
showsPrec :: Int -> DescribeDeliveryChannelsResponse -> ShowS
$cshowsPrec :: Int -> DescribeDeliveryChannelsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDeliveryChannelsResponse x
-> DescribeDeliveryChannelsResponse
forall x.
DescribeDeliveryChannelsResponse
-> Rep DescribeDeliveryChannelsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDeliveryChannelsResponse x
-> DescribeDeliveryChannelsResponse
$cfrom :: forall x.
DescribeDeliveryChannelsResponse
-> Rep DescribeDeliveryChannelsResponse x
Prelude.Generic)
newDescribeDeliveryChannelsResponse ::
Prelude.Int ->
DescribeDeliveryChannelsResponse
newDescribeDeliveryChannelsResponse :: Int -> DescribeDeliveryChannelsResponse
newDescribeDeliveryChannelsResponse Int
pHttpStatus_ =
DescribeDeliveryChannelsResponse'
{ $sel:deliveryChannels:DescribeDeliveryChannelsResponse' :: Maybe [DeliveryChannel]
deliveryChannels =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeDeliveryChannelsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeDeliveryChannelsResponse_deliveryChannels :: Lens.Lens' DescribeDeliveryChannelsResponse (Prelude.Maybe [DeliveryChannel])
describeDeliveryChannelsResponse_deliveryChannels :: Lens' DescribeDeliveryChannelsResponse (Maybe [DeliveryChannel])
describeDeliveryChannelsResponse_deliveryChannels = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeliveryChannelsResponse' {Maybe [DeliveryChannel]
deliveryChannels :: Maybe [DeliveryChannel]
$sel:deliveryChannels:DescribeDeliveryChannelsResponse' :: DescribeDeliveryChannelsResponse -> Maybe [DeliveryChannel]
deliveryChannels} -> Maybe [DeliveryChannel]
deliveryChannels) (\s :: DescribeDeliveryChannelsResponse
s@DescribeDeliveryChannelsResponse' {} Maybe [DeliveryChannel]
a -> DescribeDeliveryChannelsResponse
s {$sel:deliveryChannels:DescribeDeliveryChannelsResponse' :: Maybe [DeliveryChannel]
deliveryChannels = Maybe [DeliveryChannel]
a} :: DescribeDeliveryChannelsResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeDeliveryChannelsResponse_httpStatus :: Lens.Lens' DescribeDeliveryChannelsResponse Prelude.Int
describeDeliveryChannelsResponse_httpStatus :: Lens' DescribeDeliveryChannelsResponse Int
describeDeliveryChannelsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDeliveryChannelsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeDeliveryChannelsResponse' :: DescribeDeliveryChannelsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeDeliveryChannelsResponse
s@DescribeDeliveryChannelsResponse' {} Int
a -> DescribeDeliveryChannelsResponse
s {$sel:httpStatus:DescribeDeliveryChannelsResponse' :: Int
httpStatus = Int
a} :: DescribeDeliveryChannelsResponse)
instance
Prelude.NFData
DescribeDeliveryChannelsResponse
where
rnf :: DescribeDeliveryChannelsResponse -> ()
rnf DescribeDeliveryChannelsResponse' {Int
Maybe [DeliveryChannel]
httpStatus :: Int
deliveryChannels :: Maybe [DeliveryChannel]
$sel:httpStatus:DescribeDeliveryChannelsResponse' :: DescribeDeliveryChannelsResponse -> Int
$sel:deliveryChannels:DescribeDeliveryChannelsResponse' :: DescribeDeliveryChannelsResponse -> Maybe [DeliveryChannel]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [DeliveryChannel]
deliveryChannels
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus