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