{-# 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.DescribeCustomRoutingListener
(
DescribeCustomRoutingListener (..),
newDescribeCustomRoutingListener,
describeCustomRoutingListener_listenerArn,
DescribeCustomRoutingListenerResponse (..),
newDescribeCustomRoutingListenerResponse,
describeCustomRoutingListenerResponse_listener,
describeCustomRoutingListenerResponse_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 DescribeCustomRoutingListener = DescribeCustomRoutingListener'
{
DescribeCustomRoutingListener -> Text
listenerArn :: Prelude.Text
}
deriving (DescribeCustomRoutingListener
-> DescribeCustomRoutingListener -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCustomRoutingListener
-> DescribeCustomRoutingListener -> Bool
$c/= :: DescribeCustomRoutingListener
-> DescribeCustomRoutingListener -> Bool
== :: DescribeCustomRoutingListener
-> DescribeCustomRoutingListener -> Bool
$c== :: DescribeCustomRoutingListener
-> DescribeCustomRoutingListener -> Bool
Prelude.Eq, ReadPrec [DescribeCustomRoutingListener]
ReadPrec DescribeCustomRoutingListener
Int -> ReadS DescribeCustomRoutingListener
ReadS [DescribeCustomRoutingListener]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeCustomRoutingListener]
$creadListPrec :: ReadPrec [DescribeCustomRoutingListener]
readPrec :: ReadPrec DescribeCustomRoutingListener
$creadPrec :: ReadPrec DescribeCustomRoutingListener
readList :: ReadS [DescribeCustomRoutingListener]
$creadList :: ReadS [DescribeCustomRoutingListener]
readsPrec :: Int -> ReadS DescribeCustomRoutingListener
$creadsPrec :: Int -> ReadS DescribeCustomRoutingListener
Prelude.Read, Int -> DescribeCustomRoutingListener -> ShowS
[DescribeCustomRoutingListener] -> ShowS
DescribeCustomRoutingListener -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCustomRoutingListener] -> ShowS
$cshowList :: [DescribeCustomRoutingListener] -> ShowS
show :: DescribeCustomRoutingListener -> String
$cshow :: DescribeCustomRoutingListener -> String
showsPrec :: Int -> DescribeCustomRoutingListener -> ShowS
$cshowsPrec :: Int -> DescribeCustomRoutingListener -> ShowS
Prelude.Show, forall x.
Rep DescribeCustomRoutingListener x
-> DescribeCustomRoutingListener
forall x.
DescribeCustomRoutingListener
-> Rep DescribeCustomRoutingListener x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeCustomRoutingListener x
-> DescribeCustomRoutingListener
$cfrom :: forall x.
DescribeCustomRoutingListener
-> Rep DescribeCustomRoutingListener x
Prelude.Generic)
newDescribeCustomRoutingListener ::
Prelude.Text ->
DescribeCustomRoutingListener
newDescribeCustomRoutingListener :: Text -> DescribeCustomRoutingListener
newDescribeCustomRoutingListener Text
pListenerArn_ =
DescribeCustomRoutingListener'
{ $sel:listenerArn:DescribeCustomRoutingListener' :: Text
listenerArn =
Text
pListenerArn_
}
describeCustomRoutingListener_listenerArn :: Lens.Lens' DescribeCustomRoutingListener Prelude.Text
describeCustomRoutingListener_listenerArn :: Lens' DescribeCustomRoutingListener Text
describeCustomRoutingListener_listenerArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCustomRoutingListener' {Text
listenerArn :: Text
$sel:listenerArn:DescribeCustomRoutingListener' :: DescribeCustomRoutingListener -> Text
listenerArn} -> Text
listenerArn) (\s :: DescribeCustomRoutingListener
s@DescribeCustomRoutingListener' {} Text
a -> DescribeCustomRoutingListener
s {$sel:listenerArn:DescribeCustomRoutingListener' :: Text
listenerArn = Text
a} :: DescribeCustomRoutingListener)
instance
Core.AWSRequest
DescribeCustomRoutingListener
where
type
AWSResponse DescribeCustomRoutingListener =
DescribeCustomRoutingListenerResponse
request :: (Service -> Service)
-> DescribeCustomRoutingListener
-> Request DescribeCustomRoutingListener
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 DescribeCustomRoutingListener
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeCustomRoutingListener)))
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 CustomRoutingListener
-> Int -> DescribeCustomRoutingListenerResponse
DescribeCustomRoutingListenerResponse'
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
"Listener")
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
DescribeCustomRoutingListener
where
hashWithSalt :: Int -> DescribeCustomRoutingListener -> Int
hashWithSalt Int
_salt DescribeCustomRoutingListener' {Text
listenerArn :: Text
$sel:listenerArn:DescribeCustomRoutingListener' :: DescribeCustomRoutingListener -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
listenerArn
instance Prelude.NFData DescribeCustomRoutingListener where
rnf :: DescribeCustomRoutingListener -> ()
rnf DescribeCustomRoutingListener' {Text
listenerArn :: Text
$sel:listenerArn:DescribeCustomRoutingListener' :: DescribeCustomRoutingListener -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
listenerArn
instance Data.ToHeaders DescribeCustomRoutingListener where
toHeaders :: DescribeCustomRoutingListener -> 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.DescribeCustomRoutingListener" ::
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 DescribeCustomRoutingListener where
toJSON :: DescribeCustomRoutingListener -> Value
toJSON DescribeCustomRoutingListener' {Text
listenerArn :: Text
$sel:listenerArn:DescribeCustomRoutingListener' :: DescribeCustomRoutingListener -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"ListenerArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
listenerArn)]
)
instance Data.ToPath DescribeCustomRoutingListener where
toPath :: DescribeCustomRoutingListener -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeCustomRoutingListener where
toQuery :: DescribeCustomRoutingListener -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeCustomRoutingListenerResponse = DescribeCustomRoutingListenerResponse'
{
DescribeCustomRoutingListenerResponse
-> Maybe CustomRoutingListener
listener :: Prelude.Maybe CustomRoutingListener,
DescribeCustomRoutingListenerResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeCustomRoutingListenerResponse
-> DescribeCustomRoutingListenerResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCustomRoutingListenerResponse
-> DescribeCustomRoutingListenerResponse -> Bool
$c/= :: DescribeCustomRoutingListenerResponse
-> DescribeCustomRoutingListenerResponse -> Bool
== :: DescribeCustomRoutingListenerResponse
-> DescribeCustomRoutingListenerResponse -> Bool
$c== :: DescribeCustomRoutingListenerResponse
-> DescribeCustomRoutingListenerResponse -> Bool
Prelude.Eq, ReadPrec [DescribeCustomRoutingListenerResponse]
ReadPrec DescribeCustomRoutingListenerResponse
Int -> ReadS DescribeCustomRoutingListenerResponse
ReadS [DescribeCustomRoutingListenerResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeCustomRoutingListenerResponse]
$creadListPrec :: ReadPrec [DescribeCustomRoutingListenerResponse]
readPrec :: ReadPrec DescribeCustomRoutingListenerResponse
$creadPrec :: ReadPrec DescribeCustomRoutingListenerResponse
readList :: ReadS [DescribeCustomRoutingListenerResponse]
$creadList :: ReadS [DescribeCustomRoutingListenerResponse]
readsPrec :: Int -> ReadS DescribeCustomRoutingListenerResponse
$creadsPrec :: Int -> ReadS DescribeCustomRoutingListenerResponse
Prelude.Read, Int -> DescribeCustomRoutingListenerResponse -> ShowS
[DescribeCustomRoutingListenerResponse] -> ShowS
DescribeCustomRoutingListenerResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCustomRoutingListenerResponse] -> ShowS
$cshowList :: [DescribeCustomRoutingListenerResponse] -> ShowS
show :: DescribeCustomRoutingListenerResponse -> String
$cshow :: DescribeCustomRoutingListenerResponse -> String
showsPrec :: Int -> DescribeCustomRoutingListenerResponse -> ShowS
$cshowsPrec :: Int -> DescribeCustomRoutingListenerResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeCustomRoutingListenerResponse x
-> DescribeCustomRoutingListenerResponse
forall x.
DescribeCustomRoutingListenerResponse
-> Rep DescribeCustomRoutingListenerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeCustomRoutingListenerResponse x
-> DescribeCustomRoutingListenerResponse
$cfrom :: forall x.
DescribeCustomRoutingListenerResponse
-> Rep DescribeCustomRoutingListenerResponse x
Prelude.Generic)
newDescribeCustomRoutingListenerResponse ::
Prelude.Int ->
DescribeCustomRoutingListenerResponse
newDescribeCustomRoutingListenerResponse :: Int -> DescribeCustomRoutingListenerResponse
newDescribeCustomRoutingListenerResponse Int
pHttpStatus_ =
DescribeCustomRoutingListenerResponse'
{ $sel:listener:DescribeCustomRoutingListenerResponse' :: Maybe CustomRoutingListener
listener =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeCustomRoutingListenerResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeCustomRoutingListenerResponse_listener :: Lens.Lens' DescribeCustomRoutingListenerResponse (Prelude.Maybe CustomRoutingListener)
describeCustomRoutingListenerResponse_listener :: Lens'
DescribeCustomRoutingListenerResponse (Maybe CustomRoutingListener)
describeCustomRoutingListenerResponse_listener = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCustomRoutingListenerResponse' {Maybe CustomRoutingListener
listener :: Maybe CustomRoutingListener
$sel:listener:DescribeCustomRoutingListenerResponse' :: DescribeCustomRoutingListenerResponse
-> Maybe CustomRoutingListener
listener} -> Maybe CustomRoutingListener
listener) (\s :: DescribeCustomRoutingListenerResponse
s@DescribeCustomRoutingListenerResponse' {} Maybe CustomRoutingListener
a -> DescribeCustomRoutingListenerResponse
s {$sel:listener:DescribeCustomRoutingListenerResponse' :: Maybe CustomRoutingListener
listener = Maybe CustomRoutingListener
a} :: DescribeCustomRoutingListenerResponse)
describeCustomRoutingListenerResponse_httpStatus :: Lens.Lens' DescribeCustomRoutingListenerResponse Prelude.Int
describeCustomRoutingListenerResponse_httpStatus :: Lens' DescribeCustomRoutingListenerResponse Int
describeCustomRoutingListenerResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCustomRoutingListenerResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeCustomRoutingListenerResponse' :: DescribeCustomRoutingListenerResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeCustomRoutingListenerResponse
s@DescribeCustomRoutingListenerResponse' {} Int
a -> DescribeCustomRoutingListenerResponse
s {$sel:httpStatus:DescribeCustomRoutingListenerResponse' :: Int
httpStatus = Int
a} :: DescribeCustomRoutingListenerResponse)
instance
Prelude.NFData
DescribeCustomRoutingListenerResponse
where
rnf :: DescribeCustomRoutingListenerResponse -> ()
rnf DescribeCustomRoutingListenerResponse' {Int
Maybe CustomRoutingListener
httpStatus :: Int
listener :: Maybe CustomRoutingListener
$sel:httpStatus:DescribeCustomRoutingListenerResponse' :: DescribeCustomRoutingListenerResponse -> Int
$sel:listener:DescribeCustomRoutingListenerResponse' :: DescribeCustomRoutingListenerResponse
-> Maybe CustomRoutingListener
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CustomRoutingListener
listener
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus