{-# 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.UpdateCustomRoutingListener
(
UpdateCustomRoutingListener (..),
newUpdateCustomRoutingListener,
updateCustomRoutingListener_listenerArn,
updateCustomRoutingListener_portRanges,
UpdateCustomRoutingListenerResponse (..),
newUpdateCustomRoutingListenerResponse,
updateCustomRoutingListenerResponse_listener,
updateCustomRoutingListenerResponse_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 UpdateCustomRoutingListener = UpdateCustomRoutingListener'
{
UpdateCustomRoutingListener -> Text
listenerArn :: Prelude.Text,
UpdateCustomRoutingListener -> NonEmpty PortRange
portRanges :: Prelude.NonEmpty PortRange
}
deriving (UpdateCustomRoutingListener -> UpdateCustomRoutingListener -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateCustomRoutingListener -> UpdateCustomRoutingListener -> Bool
$c/= :: UpdateCustomRoutingListener -> UpdateCustomRoutingListener -> Bool
== :: UpdateCustomRoutingListener -> UpdateCustomRoutingListener -> Bool
$c== :: UpdateCustomRoutingListener -> UpdateCustomRoutingListener -> Bool
Prelude.Eq, ReadPrec [UpdateCustomRoutingListener]
ReadPrec UpdateCustomRoutingListener
Int -> ReadS UpdateCustomRoutingListener
ReadS [UpdateCustomRoutingListener]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateCustomRoutingListener]
$creadListPrec :: ReadPrec [UpdateCustomRoutingListener]
readPrec :: ReadPrec UpdateCustomRoutingListener
$creadPrec :: ReadPrec UpdateCustomRoutingListener
readList :: ReadS [UpdateCustomRoutingListener]
$creadList :: ReadS [UpdateCustomRoutingListener]
readsPrec :: Int -> ReadS UpdateCustomRoutingListener
$creadsPrec :: Int -> ReadS UpdateCustomRoutingListener
Prelude.Read, Int -> UpdateCustomRoutingListener -> ShowS
[UpdateCustomRoutingListener] -> ShowS
UpdateCustomRoutingListener -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateCustomRoutingListener] -> ShowS
$cshowList :: [UpdateCustomRoutingListener] -> ShowS
show :: UpdateCustomRoutingListener -> String
$cshow :: UpdateCustomRoutingListener -> String
showsPrec :: Int -> UpdateCustomRoutingListener -> ShowS
$cshowsPrec :: Int -> UpdateCustomRoutingListener -> ShowS
Prelude.Show, forall x.
Rep UpdateCustomRoutingListener x -> UpdateCustomRoutingListener
forall x.
UpdateCustomRoutingListener -> Rep UpdateCustomRoutingListener x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateCustomRoutingListener x -> UpdateCustomRoutingListener
$cfrom :: forall x.
UpdateCustomRoutingListener -> Rep UpdateCustomRoutingListener x
Prelude.Generic)
newUpdateCustomRoutingListener ::
Prelude.Text ->
Prelude.NonEmpty PortRange ->
UpdateCustomRoutingListener
newUpdateCustomRoutingListener :: Text -> NonEmpty PortRange -> UpdateCustomRoutingListener
newUpdateCustomRoutingListener
Text
pListenerArn_
NonEmpty PortRange
pPortRanges_ =
UpdateCustomRoutingListener'
{ $sel:listenerArn:UpdateCustomRoutingListener' :: Text
listenerArn =
Text
pListenerArn_,
$sel:portRanges:UpdateCustomRoutingListener' :: NonEmpty PortRange
portRanges = forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty PortRange
pPortRanges_
}
updateCustomRoutingListener_listenerArn :: Lens.Lens' UpdateCustomRoutingListener Prelude.Text
updateCustomRoutingListener_listenerArn :: Lens' UpdateCustomRoutingListener Text
updateCustomRoutingListener_listenerArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCustomRoutingListener' {Text
listenerArn :: Text
$sel:listenerArn:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> Text
listenerArn} -> Text
listenerArn) (\s :: UpdateCustomRoutingListener
s@UpdateCustomRoutingListener' {} Text
a -> UpdateCustomRoutingListener
s {$sel:listenerArn:UpdateCustomRoutingListener' :: Text
listenerArn = Text
a} :: UpdateCustomRoutingListener)
updateCustomRoutingListener_portRanges :: Lens.Lens' UpdateCustomRoutingListener (Prelude.NonEmpty PortRange)
updateCustomRoutingListener_portRanges :: Lens' UpdateCustomRoutingListener (NonEmpty PortRange)
updateCustomRoutingListener_portRanges = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCustomRoutingListener' {NonEmpty PortRange
portRanges :: NonEmpty PortRange
$sel:portRanges:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> NonEmpty PortRange
portRanges} -> NonEmpty PortRange
portRanges) (\s :: UpdateCustomRoutingListener
s@UpdateCustomRoutingListener' {} NonEmpty PortRange
a -> UpdateCustomRoutingListener
s {$sel:portRanges:UpdateCustomRoutingListener' :: NonEmpty PortRange
portRanges = NonEmpty PortRange
a} :: UpdateCustomRoutingListener) 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
instance Core.AWSRequest UpdateCustomRoutingListener where
type
AWSResponse UpdateCustomRoutingListener =
UpdateCustomRoutingListenerResponse
request :: (Service -> Service)
-> UpdateCustomRoutingListener
-> Request UpdateCustomRoutingListener
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 UpdateCustomRoutingListener
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateCustomRoutingListener)))
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 -> UpdateCustomRoutingListenerResponse
UpdateCustomRoutingListenerResponse'
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 UpdateCustomRoutingListener where
hashWithSalt :: Int -> UpdateCustomRoutingListener -> Int
hashWithSalt Int
_salt UpdateCustomRoutingListener' {NonEmpty PortRange
Text
portRanges :: NonEmpty PortRange
listenerArn :: Text
$sel:portRanges:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> NonEmpty PortRange
$sel:listenerArn:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
listenerArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty PortRange
portRanges
instance Prelude.NFData UpdateCustomRoutingListener where
rnf :: UpdateCustomRoutingListener -> ()
rnf UpdateCustomRoutingListener' {NonEmpty PortRange
Text
portRanges :: NonEmpty PortRange
listenerArn :: Text
$sel:portRanges:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> NonEmpty PortRange
$sel:listenerArn:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
listenerArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty PortRange
portRanges
instance Data.ToHeaders UpdateCustomRoutingListener where
toHeaders :: UpdateCustomRoutingListener -> 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.UpdateCustomRoutingListener" ::
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 UpdateCustomRoutingListener where
toJSON :: UpdateCustomRoutingListener -> Value
toJSON UpdateCustomRoutingListener' {NonEmpty PortRange
Text
portRanges :: NonEmpty PortRange
listenerArn :: Text
$sel:portRanges:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> NonEmpty PortRange
$sel:listenerArn:UpdateCustomRoutingListener' :: UpdateCustomRoutingListener -> 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),
forall a. a -> Maybe a
Prelude.Just (Key
"PortRanges" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty PortRange
portRanges)
]
)
instance Data.ToPath UpdateCustomRoutingListener where
toPath :: UpdateCustomRoutingListener -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateCustomRoutingListener where
toQuery :: UpdateCustomRoutingListener -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateCustomRoutingListenerResponse = UpdateCustomRoutingListenerResponse'
{
UpdateCustomRoutingListenerResponse -> Maybe CustomRoutingListener
listener :: Prelude.Maybe CustomRoutingListener,
UpdateCustomRoutingListenerResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateCustomRoutingListenerResponse
-> UpdateCustomRoutingListenerResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateCustomRoutingListenerResponse
-> UpdateCustomRoutingListenerResponse -> Bool
$c/= :: UpdateCustomRoutingListenerResponse
-> UpdateCustomRoutingListenerResponse -> Bool
== :: UpdateCustomRoutingListenerResponse
-> UpdateCustomRoutingListenerResponse -> Bool
$c== :: UpdateCustomRoutingListenerResponse
-> UpdateCustomRoutingListenerResponse -> Bool
Prelude.Eq, ReadPrec [UpdateCustomRoutingListenerResponse]
ReadPrec UpdateCustomRoutingListenerResponse
Int -> ReadS UpdateCustomRoutingListenerResponse
ReadS [UpdateCustomRoutingListenerResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateCustomRoutingListenerResponse]
$creadListPrec :: ReadPrec [UpdateCustomRoutingListenerResponse]
readPrec :: ReadPrec UpdateCustomRoutingListenerResponse
$creadPrec :: ReadPrec UpdateCustomRoutingListenerResponse
readList :: ReadS [UpdateCustomRoutingListenerResponse]
$creadList :: ReadS [UpdateCustomRoutingListenerResponse]
readsPrec :: Int -> ReadS UpdateCustomRoutingListenerResponse
$creadsPrec :: Int -> ReadS UpdateCustomRoutingListenerResponse
Prelude.Read, Int -> UpdateCustomRoutingListenerResponse -> ShowS
[UpdateCustomRoutingListenerResponse] -> ShowS
UpdateCustomRoutingListenerResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateCustomRoutingListenerResponse] -> ShowS
$cshowList :: [UpdateCustomRoutingListenerResponse] -> ShowS
show :: UpdateCustomRoutingListenerResponse -> String
$cshow :: UpdateCustomRoutingListenerResponse -> String
showsPrec :: Int -> UpdateCustomRoutingListenerResponse -> ShowS
$cshowsPrec :: Int -> UpdateCustomRoutingListenerResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateCustomRoutingListenerResponse x
-> UpdateCustomRoutingListenerResponse
forall x.
UpdateCustomRoutingListenerResponse
-> Rep UpdateCustomRoutingListenerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateCustomRoutingListenerResponse x
-> UpdateCustomRoutingListenerResponse
$cfrom :: forall x.
UpdateCustomRoutingListenerResponse
-> Rep UpdateCustomRoutingListenerResponse x
Prelude.Generic)
newUpdateCustomRoutingListenerResponse ::
Prelude.Int ->
UpdateCustomRoutingListenerResponse
newUpdateCustomRoutingListenerResponse :: Int -> UpdateCustomRoutingListenerResponse
newUpdateCustomRoutingListenerResponse Int
pHttpStatus_ =
UpdateCustomRoutingListenerResponse'
{ $sel:listener:UpdateCustomRoutingListenerResponse' :: Maybe CustomRoutingListener
listener =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateCustomRoutingListenerResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateCustomRoutingListenerResponse_listener :: Lens.Lens' UpdateCustomRoutingListenerResponse (Prelude.Maybe CustomRoutingListener)
updateCustomRoutingListenerResponse_listener :: Lens'
UpdateCustomRoutingListenerResponse (Maybe CustomRoutingListener)
updateCustomRoutingListenerResponse_listener = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCustomRoutingListenerResponse' {Maybe CustomRoutingListener
listener :: Maybe CustomRoutingListener
$sel:listener:UpdateCustomRoutingListenerResponse' :: UpdateCustomRoutingListenerResponse -> Maybe CustomRoutingListener
listener} -> Maybe CustomRoutingListener
listener) (\s :: UpdateCustomRoutingListenerResponse
s@UpdateCustomRoutingListenerResponse' {} Maybe CustomRoutingListener
a -> UpdateCustomRoutingListenerResponse
s {$sel:listener:UpdateCustomRoutingListenerResponse' :: Maybe CustomRoutingListener
listener = Maybe CustomRoutingListener
a} :: UpdateCustomRoutingListenerResponse)
updateCustomRoutingListenerResponse_httpStatus :: Lens.Lens' UpdateCustomRoutingListenerResponse Prelude.Int
updateCustomRoutingListenerResponse_httpStatus :: Lens' UpdateCustomRoutingListenerResponse Int
updateCustomRoutingListenerResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateCustomRoutingListenerResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateCustomRoutingListenerResponse' :: UpdateCustomRoutingListenerResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateCustomRoutingListenerResponse
s@UpdateCustomRoutingListenerResponse' {} Int
a -> UpdateCustomRoutingListenerResponse
s {$sel:httpStatus:UpdateCustomRoutingListenerResponse' :: Int
httpStatus = Int
a} :: UpdateCustomRoutingListenerResponse)
instance
Prelude.NFData
UpdateCustomRoutingListenerResponse
where
rnf :: UpdateCustomRoutingListenerResponse -> ()
rnf UpdateCustomRoutingListenerResponse' {Int
Maybe CustomRoutingListener
httpStatus :: Int
listener :: Maybe CustomRoutingListener
$sel:httpStatus:UpdateCustomRoutingListenerResponse' :: UpdateCustomRoutingListenerResponse -> Int
$sel:listener:UpdateCustomRoutingListenerResponse' :: UpdateCustomRoutingListenerResponse -> 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