{-# 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.PinpointEmail.ListEmailIdentities
(
ListEmailIdentities (..),
newListEmailIdentities,
listEmailIdentities_nextToken,
listEmailIdentities_pageSize,
ListEmailIdentitiesResponse (..),
newListEmailIdentitiesResponse,
listEmailIdentitiesResponse_emailIdentities,
listEmailIdentitiesResponse_nextToken,
listEmailIdentitiesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.PinpointEmail.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ListEmailIdentities = ListEmailIdentities'
{
ListEmailIdentities -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListEmailIdentities -> Maybe Int
pageSize :: Prelude.Maybe Prelude.Int
}
deriving (ListEmailIdentities -> ListEmailIdentities -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListEmailIdentities -> ListEmailIdentities -> Bool
$c/= :: ListEmailIdentities -> ListEmailIdentities -> Bool
== :: ListEmailIdentities -> ListEmailIdentities -> Bool
$c== :: ListEmailIdentities -> ListEmailIdentities -> Bool
Prelude.Eq, ReadPrec [ListEmailIdentities]
ReadPrec ListEmailIdentities
Int -> ReadS ListEmailIdentities
ReadS [ListEmailIdentities]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListEmailIdentities]
$creadListPrec :: ReadPrec [ListEmailIdentities]
readPrec :: ReadPrec ListEmailIdentities
$creadPrec :: ReadPrec ListEmailIdentities
readList :: ReadS [ListEmailIdentities]
$creadList :: ReadS [ListEmailIdentities]
readsPrec :: Int -> ReadS ListEmailIdentities
$creadsPrec :: Int -> ReadS ListEmailIdentities
Prelude.Read, Int -> ListEmailIdentities -> ShowS
[ListEmailIdentities] -> ShowS
ListEmailIdentities -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListEmailIdentities] -> ShowS
$cshowList :: [ListEmailIdentities] -> ShowS
show :: ListEmailIdentities -> String
$cshow :: ListEmailIdentities -> String
showsPrec :: Int -> ListEmailIdentities -> ShowS
$cshowsPrec :: Int -> ListEmailIdentities -> ShowS
Prelude.Show, forall x. Rep ListEmailIdentities x -> ListEmailIdentities
forall x. ListEmailIdentities -> Rep ListEmailIdentities x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListEmailIdentities x -> ListEmailIdentities
$cfrom :: forall x. ListEmailIdentities -> Rep ListEmailIdentities x
Prelude.Generic)
newListEmailIdentities ::
ListEmailIdentities
newListEmailIdentities :: ListEmailIdentities
newListEmailIdentities =
ListEmailIdentities'
{ $sel:nextToken:ListEmailIdentities' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:pageSize:ListEmailIdentities' :: Maybe Int
pageSize = forall a. Maybe a
Prelude.Nothing
}
listEmailIdentities_nextToken :: Lens.Lens' ListEmailIdentities (Prelude.Maybe Prelude.Text)
listEmailIdentities_nextToken :: Lens' ListEmailIdentities (Maybe Text)
listEmailIdentities_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListEmailIdentities' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListEmailIdentities' :: ListEmailIdentities -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListEmailIdentities
s@ListEmailIdentities' {} Maybe Text
a -> ListEmailIdentities
s {$sel:nextToken:ListEmailIdentities' :: Maybe Text
nextToken = Maybe Text
a} :: ListEmailIdentities)
listEmailIdentities_pageSize :: Lens.Lens' ListEmailIdentities (Prelude.Maybe Prelude.Int)
listEmailIdentities_pageSize :: Lens' ListEmailIdentities (Maybe Int)
listEmailIdentities_pageSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListEmailIdentities' {Maybe Int
pageSize :: Maybe Int
$sel:pageSize:ListEmailIdentities' :: ListEmailIdentities -> Maybe Int
pageSize} -> Maybe Int
pageSize) (\s :: ListEmailIdentities
s@ListEmailIdentities' {} Maybe Int
a -> ListEmailIdentities
s {$sel:pageSize:ListEmailIdentities' :: Maybe Int
pageSize = Maybe Int
a} :: ListEmailIdentities)
instance Core.AWSPager ListEmailIdentities where
page :: ListEmailIdentities
-> AWSResponse ListEmailIdentities -> Maybe ListEmailIdentities
page ListEmailIdentities
rq AWSResponse ListEmailIdentities
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListEmailIdentities
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListEmailIdentitiesResponse (Maybe Text)
listEmailIdentitiesResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListEmailIdentities
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListEmailIdentitiesResponse (Maybe [IdentityInfo])
listEmailIdentitiesResponse_emailIdentities
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
forall a. a -> Maybe a
Prelude.Just
forall a b. (a -> b) -> a -> b
Prelude.$ ListEmailIdentities
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListEmailIdentities (Maybe Text)
listEmailIdentities_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListEmailIdentities
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListEmailIdentitiesResponse (Maybe Text)
listEmailIdentitiesResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance Core.AWSRequest ListEmailIdentities where
type
AWSResponse ListEmailIdentities =
ListEmailIdentitiesResponse
request :: (Service -> Service)
-> ListEmailIdentities -> Request ListEmailIdentities
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListEmailIdentities
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListEmailIdentities)))
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 [IdentityInfo]
-> Maybe Text -> Int -> ListEmailIdentitiesResponse
ListEmailIdentitiesResponse'
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
"EmailIdentities"
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 (Maybe a)
Data..?> Key
"NextToken")
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 ListEmailIdentities where
hashWithSalt :: Int -> ListEmailIdentities -> Int
hashWithSalt Int
_salt ListEmailIdentities' {Maybe Int
Maybe Text
pageSize :: Maybe Int
nextToken :: Maybe Text
$sel:pageSize:ListEmailIdentities' :: ListEmailIdentities -> Maybe Int
$sel:nextToken:ListEmailIdentities' :: ListEmailIdentities -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
pageSize
instance Prelude.NFData ListEmailIdentities where
rnf :: ListEmailIdentities -> ()
rnf ListEmailIdentities' {Maybe Int
Maybe Text
pageSize :: Maybe Int
nextToken :: Maybe Text
$sel:pageSize:ListEmailIdentities' :: ListEmailIdentities -> Maybe Int
$sel:nextToken:ListEmailIdentities' :: ListEmailIdentities -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
pageSize
instance Data.ToHeaders ListEmailIdentities where
toHeaders :: ListEmailIdentities -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath ListEmailIdentities where
toPath :: ListEmailIdentities -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/email/identities"
instance Data.ToQuery ListEmailIdentities where
toQuery :: ListEmailIdentities -> QueryString
toQuery ListEmailIdentities' {Maybe Int
Maybe Text
pageSize :: Maybe Int
nextToken :: Maybe Text
$sel:pageSize:ListEmailIdentities' :: ListEmailIdentities -> Maybe Int
$sel:nextToken:ListEmailIdentities' :: ListEmailIdentities -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
ByteString
"PageSize" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
pageSize
]
data ListEmailIdentitiesResponse = ListEmailIdentitiesResponse'
{
ListEmailIdentitiesResponse -> Maybe [IdentityInfo]
emailIdentities :: Prelude.Maybe [IdentityInfo],
ListEmailIdentitiesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListEmailIdentitiesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListEmailIdentitiesResponse -> ListEmailIdentitiesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListEmailIdentitiesResponse -> ListEmailIdentitiesResponse -> Bool
$c/= :: ListEmailIdentitiesResponse -> ListEmailIdentitiesResponse -> Bool
== :: ListEmailIdentitiesResponse -> ListEmailIdentitiesResponse -> Bool
$c== :: ListEmailIdentitiesResponse -> ListEmailIdentitiesResponse -> Bool
Prelude.Eq, ReadPrec [ListEmailIdentitiesResponse]
ReadPrec ListEmailIdentitiesResponse
Int -> ReadS ListEmailIdentitiesResponse
ReadS [ListEmailIdentitiesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListEmailIdentitiesResponse]
$creadListPrec :: ReadPrec [ListEmailIdentitiesResponse]
readPrec :: ReadPrec ListEmailIdentitiesResponse
$creadPrec :: ReadPrec ListEmailIdentitiesResponse
readList :: ReadS [ListEmailIdentitiesResponse]
$creadList :: ReadS [ListEmailIdentitiesResponse]
readsPrec :: Int -> ReadS ListEmailIdentitiesResponse
$creadsPrec :: Int -> ReadS ListEmailIdentitiesResponse
Prelude.Read, Int -> ListEmailIdentitiesResponse -> ShowS
[ListEmailIdentitiesResponse] -> ShowS
ListEmailIdentitiesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListEmailIdentitiesResponse] -> ShowS
$cshowList :: [ListEmailIdentitiesResponse] -> ShowS
show :: ListEmailIdentitiesResponse -> String
$cshow :: ListEmailIdentitiesResponse -> String
showsPrec :: Int -> ListEmailIdentitiesResponse -> ShowS
$cshowsPrec :: Int -> ListEmailIdentitiesResponse -> ShowS
Prelude.Show, forall x.
Rep ListEmailIdentitiesResponse x -> ListEmailIdentitiesResponse
forall x.
ListEmailIdentitiesResponse -> Rep ListEmailIdentitiesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListEmailIdentitiesResponse x -> ListEmailIdentitiesResponse
$cfrom :: forall x.
ListEmailIdentitiesResponse -> Rep ListEmailIdentitiesResponse x
Prelude.Generic)
newListEmailIdentitiesResponse ::
Prelude.Int ->
ListEmailIdentitiesResponse
newListEmailIdentitiesResponse :: Int -> ListEmailIdentitiesResponse
newListEmailIdentitiesResponse Int
pHttpStatus_ =
ListEmailIdentitiesResponse'
{ $sel:emailIdentities:ListEmailIdentitiesResponse' :: Maybe [IdentityInfo]
emailIdentities =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListEmailIdentitiesResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListEmailIdentitiesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listEmailIdentitiesResponse_emailIdentities :: Lens.Lens' ListEmailIdentitiesResponse (Prelude.Maybe [IdentityInfo])
listEmailIdentitiesResponse_emailIdentities :: Lens' ListEmailIdentitiesResponse (Maybe [IdentityInfo])
listEmailIdentitiesResponse_emailIdentities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListEmailIdentitiesResponse' {Maybe [IdentityInfo]
emailIdentities :: Maybe [IdentityInfo]
$sel:emailIdentities:ListEmailIdentitiesResponse' :: ListEmailIdentitiesResponse -> Maybe [IdentityInfo]
emailIdentities} -> Maybe [IdentityInfo]
emailIdentities) (\s :: ListEmailIdentitiesResponse
s@ListEmailIdentitiesResponse' {} Maybe [IdentityInfo]
a -> ListEmailIdentitiesResponse
s {$sel:emailIdentities:ListEmailIdentitiesResponse' :: Maybe [IdentityInfo]
emailIdentities = Maybe [IdentityInfo]
a} :: ListEmailIdentitiesResponse) 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
listEmailIdentitiesResponse_nextToken :: Lens.Lens' ListEmailIdentitiesResponse (Prelude.Maybe Prelude.Text)
listEmailIdentitiesResponse_nextToken :: Lens' ListEmailIdentitiesResponse (Maybe Text)
listEmailIdentitiesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListEmailIdentitiesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListEmailIdentitiesResponse' :: ListEmailIdentitiesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListEmailIdentitiesResponse
s@ListEmailIdentitiesResponse' {} Maybe Text
a -> ListEmailIdentitiesResponse
s {$sel:nextToken:ListEmailIdentitiesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListEmailIdentitiesResponse)
listEmailIdentitiesResponse_httpStatus :: Lens.Lens' ListEmailIdentitiesResponse Prelude.Int
listEmailIdentitiesResponse_httpStatus :: Lens' ListEmailIdentitiesResponse Int
listEmailIdentitiesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListEmailIdentitiesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListEmailIdentitiesResponse' :: ListEmailIdentitiesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListEmailIdentitiesResponse
s@ListEmailIdentitiesResponse' {} Int
a -> ListEmailIdentitiesResponse
s {$sel:httpStatus:ListEmailIdentitiesResponse' :: Int
httpStatus = Int
a} :: ListEmailIdentitiesResponse)
instance Prelude.NFData ListEmailIdentitiesResponse where
rnf :: ListEmailIdentitiesResponse -> ()
rnf ListEmailIdentitiesResponse' {Int
Maybe [IdentityInfo]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
emailIdentities :: Maybe [IdentityInfo]
$sel:httpStatus:ListEmailIdentitiesResponse' :: ListEmailIdentitiesResponse -> Int
$sel:nextToken:ListEmailIdentitiesResponse' :: ListEmailIdentitiesResponse -> Maybe Text
$sel:emailIdentities:ListEmailIdentitiesResponse' :: ListEmailIdentitiesResponse -> Maybe [IdentityInfo]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [IdentityInfo]
emailIdentities
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus