{-# 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.GlobalAccelerator.ListListeners
(
ListListeners (..),
newListListeners,
listListeners_maxResults,
listListeners_nextToken,
listListeners_acceleratorArn,
ListListenersResponse (..),
newListListenersResponse,
listListenersResponse_listeners,
listListenersResponse_nextToken,
listListenersResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GlobalAccelerator.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ListListeners = ListListeners'
{
ListListeners -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
ListListeners -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListListeners -> Text
acceleratorArn :: Prelude.Text
}
deriving (ListListeners -> ListListeners -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListListeners -> ListListeners -> Bool
$c/= :: ListListeners -> ListListeners -> Bool
== :: ListListeners -> ListListeners -> Bool
$c== :: ListListeners -> ListListeners -> Bool
Prelude.Eq, ReadPrec [ListListeners]
ReadPrec ListListeners
Int -> ReadS ListListeners
ReadS [ListListeners]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListListeners]
$creadListPrec :: ReadPrec [ListListeners]
readPrec :: ReadPrec ListListeners
$creadPrec :: ReadPrec ListListeners
readList :: ReadS [ListListeners]
$creadList :: ReadS [ListListeners]
readsPrec :: Int -> ReadS ListListeners
$creadsPrec :: Int -> ReadS ListListeners
Prelude.Read, Int -> ListListeners -> ShowS
[ListListeners] -> ShowS
ListListeners -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListListeners] -> ShowS
$cshowList :: [ListListeners] -> ShowS
show :: ListListeners -> String
$cshow :: ListListeners -> String
showsPrec :: Int -> ListListeners -> ShowS
$cshowsPrec :: Int -> ListListeners -> ShowS
Prelude.Show, forall x. Rep ListListeners x -> ListListeners
forall x. ListListeners -> Rep ListListeners x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListListeners x -> ListListeners
$cfrom :: forall x. ListListeners -> Rep ListListeners x
Prelude.Generic)
newListListeners ::
Prelude.Text ->
ListListeners
newListListeners :: Text -> ListListeners
newListListeners Text
pAcceleratorArn_ =
ListListeners'
{ $sel:maxResults:ListListeners' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListListeners' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:acceleratorArn:ListListeners' :: Text
acceleratorArn = Text
pAcceleratorArn_
}
listListeners_maxResults :: Lens.Lens' ListListeners (Prelude.Maybe Prelude.Natural)
listListeners_maxResults :: Lens' ListListeners (Maybe Natural)
listListeners_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListListeners' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListListeners' :: ListListeners -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListListeners
s@ListListeners' {} Maybe Natural
a -> ListListeners
s {$sel:maxResults:ListListeners' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListListeners)
listListeners_nextToken :: Lens.Lens' ListListeners (Prelude.Maybe Prelude.Text)
listListeners_nextToken :: Lens' ListListeners (Maybe Text)
listListeners_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListListeners' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListListeners' :: ListListeners -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListListeners
s@ListListeners' {} Maybe Text
a -> ListListeners
s {$sel:nextToken:ListListeners' :: Maybe Text
nextToken = Maybe Text
a} :: ListListeners)
listListeners_acceleratorArn :: Lens.Lens' ListListeners Prelude.Text
listListeners_acceleratorArn :: Lens' ListListeners Text
listListeners_acceleratorArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListListeners' {Text
acceleratorArn :: Text
$sel:acceleratorArn:ListListeners' :: ListListeners -> Text
acceleratorArn} -> Text
acceleratorArn) (\s :: ListListeners
s@ListListeners' {} Text
a -> ListListeners
s {$sel:acceleratorArn:ListListeners' :: Text
acceleratorArn = Text
a} :: ListListeners)
instance Core.AWSPager ListListeners where
page :: ListListeners -> AWSResponse ListListeners -> Maybe ListListeners
page ListListeners
rq AWSResponse ListListeners
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListListeners
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListListenersResponse (Maybe Text)
listListenersResponse_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 ListListeners
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListListenersResponse (Maybe [Listener])
listListenersResponse_listeners
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.$ ListListeners
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListListeners (Maybe Text)
listListeners_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListListeners
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListListenersResponse (Maybe Text)
listListenersResponse_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 ListListeners where
type
AWSResponse ListListeners =
ListListenersResponse
request :: (Service -> Service) -> ListListeners -> Request ListListeners
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 ListListeners
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListListeners)))
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 [Listener] -> Maybe Text -> Int -> ListListenersResponse
ListListenersResponse'
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
"Listeners" 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 ListListeners where
hashWithSalt :: Int -> ListListeners -> Int
hashWithSalt Int
_salt ListListeners' {Maybe Natural
Maybe Text
Text
acceleratorArn :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:acceleratorArn:ListListeners' :: ListListeners -> Text
$sel:nextToken:ListListeners' :: ListListeners -> Maybe Text
$sel:maxResults:ListListeners' :: ListListeners -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
acceleratorArn
instance Prelude.NFData ListListeners where
rnf :: ListListeners -> ()
rnf ListListeners' {Maybe Natural
Maybe Text
Text
acceleratorArn :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:acceleratorArn:ListListeners' :: ListListeners -> Text
$sel:nextToken:ListListeners' :: ListListeners -> Maybe Text
$sel:maxResults:ListListeners' :: ListListeners -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
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 Text
acceleratorArn
instance Data.ToHeaders ListListeners where
toHeaders :: ListListeners -> 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
"GlobalAccelerator_V20180706.ListListeners" ::
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 ListListeners where
toJSON :: ListListeners -> Value
toJSON ListListeners' {Maybe Natural
Maybe Text
Text
acceleratorArn :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:acceleratorArn:ListListeners' :: ListListeners -> Text
$sel:nextToken:ListListeners' :: ListListeners -> Maybe Text
$sel:maxResults:ListListeners' :: ListListeners -> Maybe Natural
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"MaxResults" 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
maxResults,
(Key
"NextToken" 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
nextToken,
forall a. a -> Maybe a
Prelude.Just
(Key
"AcceleratorArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
acceleratorArn)
]
)
instance Data.ToPath ListListeners where
toPath :: ListListeners -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ListListeners where
toQuery :: ListListeners -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ListListenersResponse = ListListenersResponse'
{
ListListenersResponse -> Maybe [Listener]
listeners :: Prelude.Maybe [Listener],
ListListenersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListListenersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListListenersResponse -> ListListenersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListListenersResponse -> ListListenersResponse -> Bool
$c/= :: ListListenersResponse -> ListListenersResponse -> Bool
== :: ListListenersResponse -> ListListenersResponse -> Bool
$c== :: ListListenersResponse -> ListListenersResponse -> Bool
Prelude.Eq, ReadPrec [ListListenersResponse]
ReadPrec ListListenersResponse
Int -> ReadS ListListenersResponse
ReadS [ListListenersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListListenersResponse]
$creadListPrec :: ReadPrec [ListListenersResponse]
readPrec :: ReadPrec ListListenersResponse
$creadPrec :: ReadPrec ListListenersResponse
readList :: ReadS [ListListenersResponse]
$creadList :: ReadS [ListListenersResponse]
readsPrec :: Int -> ReadS ListListenersResponse
$creadsPrec :: Int -> ReadS ListListenersResponse
Prelude.Read, Int -> ListListenersResponse -> ShowS
[ListListenersResponse] -> ShowS
ListListenersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListListenersResponse] -> ShowS
$cshowList :: [ListListenersResponse] -> ShowS
show :: ListListenersResponse -> String
$cshow :: ListListenersResponse -> String
showsPrec :: Int -> ListListenersResponse -> ShowS
$cshowsPrec :: Int -> ListListenersResponse -> ShowS
Prelude.Show, forall x. Rep ListListenersResponse x -> ListListenersResponse
forall x. ListListenersResponse -> Rep ListListenersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListListenersResponse x -> ListListenersResponse
$cfrom :: forall x. ListListenersResponse -> Rep ListListenersResponse x
Prelude.Generic)
newListListenersResponse ::
Prelude.Int ->
ListListenersResponse
newListListenersResponse :: Int -> ListListenersResponse
newListListenersResponse Int
pHttpStatus_ =
ListListenersResponse'
{ $sel:listeners:ListListenersResponse' :: Maybe [Listener]
listeners = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListListenersResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListListenersResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listListenersResponse_listeners :: Lens.Lens' ListListenersResponse (Prelude.Maybe [Listener])
listListenersResponse_listeners :: Lens' ListListenersResponse (Maybe [Listener])
listListenersResponse_listeners = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListListenersResponse' {Maybe [Listener]
listeners :: Maybe [Listener]
$sel:listeners:ListListenersResponse' :: ListListenersResponse -> Maybe [Listener]
listeners} -> Maybe [Listener]
listeners) (\s :: ListListenersResponse
s@ListListenersResponse' {} Maybe [Listener]
a -> ListListenersResponse
s {$sel:listeners:ListListenersResponse' :: Maybe [Listener]
listeners = Maybe [Listener]
a} :: ListListenersResponse) 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
listListenersResponse_nextToken :: Lens.Lens' ListListenersResponse (Prelude.Maybe Prelude.Text)
listListenersResponse_nextToken :: Lens' ListListenersResponse (Maybe Text)
listListenersResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListListenersResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListListenersResponse' :: ListListenersResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListListenersResponse
s@ListListenersResponse' {} Maybe Text
a -> ListListenersResponse
s {$sel:nextToken:ListListenersResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListListenersResponse)
listListenersResponse_httpStatus :: Lens.Lens' ListListenersResponse Prelude.Int
listListenersResponse_httpStatus :: Lens' ListListenersResponse Int
listListenersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListListenersResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListListenersResponse' :: ListListenersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListListenersResponse
s@ListListenersResponse' {} Int
a -> ListListenersResponse
s {$sel:httpStatus:ListListenersResponse' :: Int
httpStatus = Int
a} :: ListListenersResponse)
instance Prelude.NFData ListListenersResponse where
rnf :: ListListenersResponse -> ()
rnf ListListenersResponse' {Int
Maybe [Listener]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
listeners :: Maybe [Listener]
$sel:httpStatus:ListListenersResponse' :: ListListenersResponse -> Int
$sel:nextToken:ListListenersResponse' :: ListListenersResponse -> Maybe Text
$sel:listeners:ListListenersResponse' :: ListListenersResponse -> Maybe [Listener]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Listener]
listeners
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