{-# 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.DescribeCustomRoutingAccelerator
(
DescribeCustomRoutingAccelerator (..),
newDescribeCustomRoutingAccelerator,
describeCustomRoutingAccelerator_acceleratorArn,
DescribeCustomRoutingAcceleratorResponse (..),
newDescribeCustomRoutingAcceleratorResponse,
describeCustomRoutingAcceleratorResponse_accelerator,
describeCustomRoutingAcceleratorResponse_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 DescribeCustomRoutingAccelerator = DescribeCustomRoutingAccelerator'
{
DescribeCustomRoutingAccelerator -> Text
acceleratorArn :: Prelude.Text
}
deriving (DescribeCustomRoutingAccelerator
-> DescribeCustomRoutingAccelerator -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCustomRoutingAccelerator
-> DescribeCustomRoutingAccelerator -> Bool
$c/= :: DescribeCustomRoutingAccelerator
-> DescribeCustomRoutingAccelerator -> Bool
== :: DescribeCustomRoutingAccelerator
-> DescribeCustomRoutingAccelerator -> Bool
$c== :: DescribeCustomRoutingAccelerator
-> DescribeCustomRoutingAccelerator -> Bool
Prelude.Eq, ReadPrec [DescribeCustomRoutingAccelerator]
ReadPrec DescribeCustomRoutingAccelerator
Int -> ReadS DescribeCustomRoutingAccelerator
ReadS [DescribeCustomRoutingAccelerator]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeCustomRoutingAccelerator]
$creadListPrec :: ReadPrec [DescribeCustomRoutingAccelerator]
readPrec :: ReadPrec DescribeCustomRoutingAccelerator
$creadPrec :: ReadPrec DescribeCustomRoutingAccelerator
readList :: ReadS [DescribeCustomRoutingAccelerator]
$creadList :: ReadS [DescribeCustomRoutingAccelerator]
readsPrec :: Int -> ReadS DescribeCustomRoutingAccelerator
$creadsPrec :: Int -> ReadS DescribeCustomRoutingAccelerator
Prelude.Read, Int -> DescribeCustomRoutingAccelerator -> ShowS
[DescribeCustomRoutingAccelerator] -> ShowS
DescribeCustomRoutingAccelerator -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCustomRoutingAccelerator] -> ShowS
$cshowList :: [DescribeCustomRoutingAccelerator] -> ShowS
show :: DescribeCustomRoutingAccelerator -> String
$cshow :: DescribeCustomRoutingAccelerator -> String
showsPrec :: Int -> DescribeCustomRoutingAccelerator -> ShowS
$cshowsPrec :: Int -> DescribeCustomRoutingAccelerator -> ShowS
Prelude.Show, forall x.
Rep DescribeCustomRoutingAccelerator x
-> DescribeCustomRoutingAccelerator
forall x.
DescribeCustomRoutingAccelerator
-> Rep DescribeCustomRoutingAccelerator x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeCustomRoutingAccelerator x
-> DescribeCustomRoutingAccelerator
$cfrom :: forall x.
DescribeCustomRoutingAccelerator
-> Rep DescribeCustomRoutingAccelerator x
Prelude.Generic)
newDescribeCustomRoutingAccelerator ::
Prelude.Text ->
DescribeCustomRoutingAccelerator
newDescribeCustomRoutingAccelerator :: Text -> DescribeCustomRoutingAccelerator
newDescribeCustomRoutingAccelerator Text
pAcceleratorArn_ =
DescribeCustomRoutingAccelerator'
{ $sel:acceleratorArn:DescribeCustomRoutingAccelerator' :: Text
acceleratorArn =
Text
pAcceleratorArn_
}
describeCustomRoutingAccelerator_acceleratorArn :: Lens.Lens' DescribeCustomRoutingAccelerator Prelude.Text
describeCustomRoutingAccelerator_acceleratorArn :: Lens' DescribeCustomRoutingAccelerator Text
describeCustomRoutingAccelerator_acceleratorArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCustomRoutingAccelerator' {Text
acceleratorArn :: Text
$sel:acceleratorArn:DescribeCustomRoutingAccelerator' :: DescribeCustomRoutingAccelerator -> Text
acceleratorArn} -> Text
acceleratorArn) (\s :: DescribeCustomRoutingAccelerator
s@DescribeCustomRoutingAccelerator' {} Text
a -> DescribeCustomRoutingAccelerator
s {$sel:acceleratorArn:DescribeCustomRoutingAccelerator' :: Text
acceleratorArn = Text
a} :: DescribeCustomRoutingAccelerator)
instance
Core.AWSRequest
DescribeCustomRoutingAccelerator
where
type
AWSResponse DescribeCustomRoutingAccelerator =
DescribeCustomRoutingAcceleratorResponse
request :: (Service -> Service)
-> DescribeCustomRoutingAccelerator
-> Request DescribeCustomRoutingAccelerator
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 DescribeCustomRoutingAccelerator
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DescribeCustomRoutingAccelerator)))
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 CustomRoutingAccelerator
-> Int -> DescribeCustomRoutingAcceleratorResponse
DescribeCustomRoutingAcceleratorResponse'
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
"Accelerator")
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
DescribeCustomRoutingAccelerator
where
hashWithSalt :: Int -> DescribeCustomRoutingAccelerator -> Int
hashWithSalt
Int
_salt
DescribeCustomRoutingAccelerator' {Text
acceleratorArn :: Text
$sel:acceleratorArn:DescribeCustomRoutingAccelerator' :: DescribeCustomRoutingAccelerator -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
acceleratorArn
instance
Prelude.NFData
DescribeCustomRoutingAccelerator
where
rnf :: DescribeCustomRoutingAccelerator -> ()
rnf DescribeCustomRoutingAccelerator' {Text
acceleratorArn :: Text
$sel:acceleratorArn:DescribeCustomRoutingAccelerator' :: DescribeCustomRoutingAccelerator -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
acceleratorArn
instance
Data.ToHeaders
DescribeCustomRoutingAccelerator
where
toHeaders :: DescribeCustomRoutingAccelerator -> 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.DescribeCustomRoutingAccelerator" ::
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 DescribeCustomRoutingAccelerator where
toJSON :: DescribeCustomRoutingAccelerator -> Value
toJSON DescribeCustomRoutingAccelerator' {Text
acceleratorArn :: Text
$sel:acceleratorArn:DescribeCustomRoutingAccelerator' :: DescribeCustomRoutingAccelerator -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ 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 DescribeCustomRoutingAccelerator where
toPath :: DescribeCustomRoutingAccelerator -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
DescribeCustomRoutingAccelerator
where
toQuery :: DescribeCustomRoutingAccelerator -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeCustomRoutingAcceleratorResponse = DescribeCustomRoutingAcceleratorResponse'
{
DescribeCustomRoutingAcceleratorResponse
-> Maybe CustomRoutingAccelerator
accelerator :: Prelude.Maybe CustomRoutingAccelerator,
DescribeCustomRoutingAcceleratorResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeCustomRoutingAcceleratorResponse
-> DescribeCustomRoutingAcceleratorResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCustomRoutingAcceleratorResponse
-> DescribeCustomRoutingAcceleratorResponse -> Bool
$c/= :: DescribeCustomRoutingAcceleratorResponse
-> DescribeCustomRoutingAcceleratorResponse -> Bool
== :: DescribeCustomRoutingAcceleratorResponse
-> DescribeCustomRoutingAcceleratorResponse -> Bool
$c== :: DescribeCustomRoutingAcceleratorResponse
-> DescribeCustomRoutingAcceleratorResponse -> Bool
Prelude.Eq, ReadPrec [DescribeCustomRoutingAcceleratorResponse]
ReadPrec DescribeCustomRoutingAcceleratorResponse
Int -> ReadS DescribeCustomRoutingAcceleratorResponse
ReadS [DescribeCustomRoutingAcceleratorResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeCustomRoutingAcceleratorResponse]
$creadListPrec :: ReadPrec [DescribeCustomRoutingAcceleratorResponse]
readPrec :: ReadPrec DescribeCustomRoutingAcceleratorResponse
$creadPrec :: ReadPrec DescribeCustomRoutingAcceleratorResponse
readList :: ReadS [DescribeCustomRoutingAcceleratorResponse]
$creadList :: ReadS [DescribeCustomRoutingAcceleratorResponse]
readsPrec :: Int -> ReadS DescribeCustomRoutingAcceleratorResponse
$creadsPrec :: Int -> ReadS DescribeCustomRoutingAcceleratorResponse
Prelude.Read, Int -> DescribeCustomRoutingAcceleratorResponse -> ShowS
[DescribeCustomRoutingAcceleratorResponse] -> ShowS
DescribeCustomRoutingAcceleratorResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCustomRoutingAcceleratorResponse] -> ShowS
$cshowList :: [DescribeCustomRoutingAcceleratorResponse] -> ShowS
show :: DescribeCustomRoutingAcceleratorResponse -> String
$cshow :: DescribeCustomRoutingAcceleratorResponse -> String
showsPrec :: Int -> DescribeCustomRoutingAcceleratorResponse -> ShowS
$cshowsPrec :: Int -> DescribeCustomRoutingAcceleratorResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeCustomRoutingAcceleratorResponse x
-> DescribeCustomRoutingAcceleratorResponse
forall x.
DescribeCustomRoutingAcceleratorResponse
-> Rep DescribeCustomRoutingAcceleratorResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeCustomRoutingAcceleratorResponse x
-> DescribeCustomRoutingAcceleratorResponse
$cfrom :: forall x.
DescribeCustomRoutingAcceleratorResponse
-> Rep DescribeCustomRoutingAcceleratorResponse x
Prelude.Generic)
newDescribeCustomRoutingAcceleratorResponse ::
Prelude.Int ->
DescribeCustomRoutingAcceleratorResponse
newDescribeCustomRoutingAcceleratorResponse :: Int -> DescribeCustomRoutingAcceleratorResponse
newDescribeCustomRoutingAcceleratorResponse
Int
pHttpStatus_ =
DescribeCustomRoutingAcceleratorResponse'
{ $sel:accelerator:DescribeCustomRoutingAcceleratorResponse' :: Maybe CustomRoutingAccelerator
accelerator =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeCustomRoutingAcceleratorResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeCustomRoutingAcceleratorResponse_accelerator :: Lens.Lens' DescribeCustomRoutingAcceleratorResponse (Prelude.Maybe CustomRoutingAccelerator)
describeCustomRoutingAcceleratorResponse_accelerator :: Lens'
DescribeCustomRoutingAcceleratorResponse
(Maybe CustomRoutingAccelerator)
describeCustomRoutingAcceleratorResponse_accelerator = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCustomRoutingAcceleratorResponse' {Maybe CustomRoutingAccelerator
accelerator :: Maybe CustomRoutingAccelerator
$sel:accelerator:DescribeCustomRoutingAcceleratorResponse' :: DescribeCustomRoutingAcceleratorResponse
-> Maybe CustomRoutingAccelerator
accelerator} -> Maybe CustomRoutingAccelerator
accelerator) (\s :: DescribeCustomRoutingAcceleratorResponse
s@DescribeCustomRoutingAcceleratorResponse' {} Maybe CustomRoutingAccelerator
a -> DescribeCustomRoutingAcceleratorResponse
s {$sel:accelerator:DescribeCustomRoutingAcceleratorResponse' :: Maybe CustomRoutingAccelerator
accelerator = Maybe CustomRoutingAccelerator
a} :: DescribeCustomRoutingAcceleratorResponse)
describeCustomRoutingAcceleratorResponse_httpStatus :: Lens.Lens' DescribeCustomRoutingAcceleratorResponse Prelude.Int
describeCustomRoutingAcceleratorResponse_httpStatus :: Lens' DescribeCustomRoutingAcceleratorResponse Int
describeCustomRoutingAcceleratorResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCustomRoutingAcceleratorResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeCustomRoutingAcceleratorResponse' :: DescribeCustomRoutingAcceleratorResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeCustomRoutingAcceleratorResponse
s@DescribeCustomRoutingAcceleratorResponse' {} Int
a -> DescribeCustomRoutingAcceleratorResponse
s {$sel:httpStatus:DescribeCustomRoutingAcceleratorResponse' :: Int
httpStatus = Int
a} :: DescribeCustomRoutingAcceleratorResponse)
instance
Prelude.NFData
DescribeCustomRoutingAcceleratorResponse
where
rnf :: DescribeCustomRoutingAcceleratorResponse -> ()
rnf DescribeCustomRoutingAcceleratorResponse' {Int
Maybe CustomRoutingAccelerator
httpStatus :: Int
accelerator :: Maybe CustomRoutingAccelerator
$sel:httpStatus:DescribeCustomRoutingAcceleratorResponse' :: DescribeCustomRoutingAcceleratorResponse -> Int
$sel:accelerator:DescribeCustomRoutingAcceleratorResponse' :: DescribeCustomRoutingAcceleratorResponse
-> Maybe CustomRoutingAccelerator
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CustomRoutingAccelerator
accelerator
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus