{-# 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.DynamoDB.DescribeLimits
(
DescribeLimits (..),
newDescribeLimits,
DescribeLimitsResponse (..),
newDescribeLimitsResponse,
describeLimitsResponse_accountMaxReadCapacityUnits,
describeLimitsResponse_accountMaxWriteCapacityUnits,
describeLimitsResponse_tableMaxReadCapacityUnits,
describeLimitsResponse_tableMaxWriteCapacityUnits,
describeLimitsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DynamoDB.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeLimits = DescribeLimits'
{
}
deriving (DescribeLimits -> DescribeLimits -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLimits -> DescribeLimits -> Bool
$c/= :: DescribeLimits -> DescribeLimits -> Bool
== :: DescribeLimits -> DescribeLimits -> Bool
$c== :: DescribeLimits -> DescribeLimits -> Bool
Prelude.Eq, ReadPrec [DescribeLimits]
ReadPrec DescribeLimits
Int -> ReadS DescribeLimits
ReadS [DescribeLimits]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLimits]
$creadListPrec :: ReadPrec [DescribeLimits]
readPrec :: ReadPrec DescribeLimits
$creadPrec :: ReadPrec DescribeLimits
readList :: ReadS [DescribeLimits]
$creadList :: ReadS [DescribeLimits]
readsPrec :: Int -> ReadS DescribeLimits
$creadsPrec :: Int -> ReadS DescribeLimits
Prelude.Read, Int -> DescribeLimits -> ShowS
[DescribeLimits] -> ShowS
DescribeLimits -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLimits] -> ShowS
$cshowList :: [DescribeLimits] -> ShowS
show :: DescribeLimits -> String
$cshow :: DescribeLimits -> String
showsPrec :: Int -> DescribeLimits -> ShowS
$cshowsPrec :: Int -> DescribeLimits -> ShowS
Prelude.Show, forall x. Rep DescribeLimits x -> DescribeLimits
forall x. DescribeLimits -> Rep DescribeLimits x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeLimits x -> DescribeLimits
$cfrom :: forall x. DescribeLimits -> Rep DescribeLimits x
Prelude.Generic)
newDescribeLimits ::
DescribeLimits
newDescribeLimits :: DescribeLimits
newDescribeLimits = DescribeLimits
DescribeLimits'
instance Core.AWSRequest DescribeLimits where
type
AWSResponse DescribeLimits =
DescribeLimitsResponse
request :: (Service -> Service) -> DescribeLimits -> Request DescribeLimits
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 DescribeLimits
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeLimits)))
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 Natural
-> Maybe Natural
-> Maybe Natural
-> Maybe Natural
-> Int
-> DescribeLimitsResponse
DescribeLimitsResponse'
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
"AccountMaxReadCapacityUnits")
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
"AccountMaxWriteCapacityUnits")
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
"TableMaxReadCapacityUnits")
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
"TableMaxWriteCapacityUnits")
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 DescribeLimits where
hashWithSalt :: Int -> DescribeLimits -> Int
hashWithSalt Int
_salt DescribeLimits
_ =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()
instance Prelude.NFData DescribeLimits where
rnf :: DescribeLimits -> ()
rnf DescribeLimits
_ = ()
instance Data.ToHeaders DescribeLimits where
toHeaders :: DescribeLimits -> 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
"DynamoDB_20120810.DescribeLimits" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeLimits where
toJSON :: DescribeLimits -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath DescribeLimits where
toPath :: DescribeLimits -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeLimits where
toQuery :: DescribeLimits -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeLimitsResponse = DescribeLimitsResponse'
{
DescribeLimitsResponse -> Maybe Natural
accountMaxReadCapacityUnits :: Prelude.Maybe Prelude.Natural,
DescribeLimitsResponse -> Maybe Natural
accountMaxWriteCapacityUnits :: Prelude.Maybe Prelude.Natural,
DescribeLimitsResponse -> Maybe Natural
tableMaxReadCapacityUnits :: Prelude.Maybe Prelude.Natural,
DescribeLimitsResponse -> Maybe Natural
tableMaxWriteCapacityUnits :: Prelude.Maybe Prelude.Natural,
DescribeLimitsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeLimitsResponse -> DescribeLimitsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLimitsResponse -> DescribeLimitsResponse -> Bool
$c/= :: DescribeLimitsResponse -> DescribeLimitsResponse -> Bool
== :: DescribeLimitsResponse -> DescribeLimitsResponse -> Bool
$c== :: DescribeLimitsResponse -> DescribeLimitsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeLimitsResponse]
ReadPrec DescribeLimitsResponse
Int -> ReadS DescribeLimitsResponse
ReadS [DescribeLimitsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLimitsResponse]
$creadListPrec :: ReadPrec [DescribeLimitsResponse]
readPrec :: ReadPrec DescribeLimitsResponse
$creadPrec :: ReadPrec DescribeLimitsResponse
readList :: ReadS [DescribeLimitsResponse]
$creadList :: ReadS [DescribeLimitsResponse]
readsPrec :: Int -> ReadS DescribeLimitsResponse
$creadsPrec :: Int -> ReadS DescribeLimitsResponse
Prelude.Read, Int -> DescribeLimitsResponse -> ShowS
[DescribeLimitsResponse] -> ShowS
DescribeLimitsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLimitsResponse] -> ShowS
$cshowList :: [DescribeLimitsResponse] -> ShowS
show :: DescribeLimitsResponse -> String
$cshow :: DescribeLimitsResponse -> String
showsPrec :: Int -> DescribeLimitsResponse -> ShowS
$cshowsPrec :: Int -> DescribeLimitsResponse -> ShowS
Prelude.Show, forall x. Rep DescribeLimitsResponse x -> DescribeLimitsResponse
forall x. DescribeLimitsResponse -> Rep DescribeLimitsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeLimitsResponse x -> DescribeLimitsResponse
$cfrom :: forall x. DescribeLimitsResponse -> Rep DescribeLimitsResponse x
Prelude.Generic)
newDescribeLimitsResponse ::
Prelude.Int ->
DescribeLimitsResponse
newDescribeLimitsResponse :: Int -> DescribeLimitsResponse
newDescribeLimitsResponse Int
pHttpStatus_ =
DescribeLimitsResponse'
{ $sel:accountMaxReadCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
accountMaxReadCapacityUnits =
forall a. Maybe a
Prelude.Nothing,
$sel:accountMaxWriteCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
accountMaxWriteCapacityUnits = forall a. Maybe a
Prelude.Nothing,
$sel:tableMaxReadCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
tableMaxReadCapacityUnits = forall a. Maybe a
Prelude.Nothing,
$sel:tableMaxWriteCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
tableMaxWriteCapacityUnits = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeLimitsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeLimitsResponse_accountMaxReadCapacityUnits :: Lens.Lens' DescribeLimitsResponse (Prelude.Maybe Prelude.Natural)
describeLimitsResponse_accountMaxReadCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)
describeLimitsResponse_accountMaxReadCapacityUnits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLimitsResponse' {Maybe Natural
accountMaxReadCapacityUnits :: Maybe Natural
$sel:accountMaxReadCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
accountMaxReadCapacityUnits} -> Maybe Natural
accountMaxReadCapacityUnits) (\s :: DescribeLimitsResponse
s@DescribeLimitsResponse' {} Maybe Natural
a -> DescribeLimitsResponse
s {$sel:accountMaxReadCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
accountMaxReadCapacityUnits = Maybe Natural
a} :: DescribeLimitsResponse)
describeLimitsResponse_accountMaxWriteCapacityUnits :: Lens.Lens' DescribeLimitsResponse (Prelude.Maybe Prelude.Natural)
describeLimitsResponse_accountMaxWriteCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)
describeLimitsResponse_accountMaxWriteCapacityUnits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLimitsResponse' {Maybe Natural
accountMaxWriteCapacityUnits :: Maybe Natural
$sel:accountMaxWriteCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
accountMaxWriteCapacityUnits} -> Maybe Natural
accountMaxWriteCapacityUnits) (\s :: DescribeLimitsResponse
s@DescribeLimitsResponse' {} Maybe Natural
a -> DescribeLimitsResponse
s {$sel:accountMaxWriteCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
accountMaxWriteCapacityUnits = Maybe Natural
a} :: DescribeLimitsResponse)
describeLimitsResponse_tableMaxReadCapacityUnits :: Lens.Lens' DescribeLimitsResponse (Prelude.Maybe Prelude.Natural)
describeLimitsResponse_tableMaxReadCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)
describeLimitsResponse_tableMaxReadCapacityUnits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLimitsResponse' {Maybe Natural
tableMaxReadCapacityUnits :: Maybe Natural
$sel:tableMaxReadCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
tableMaxReadCapacityUnits} -> Maybe Natural
tableMaxReadCapacityUnits) (\s :: DescribeLimitsResponse
s@DescribeLimitsResponse' {} Maybe Natural
a -> DescribeLimitsResponse
s {$sel:tableMaxReadCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
tableMaxReadCapacityUnits = Maybe Natural
a} :: DescribeLimitsResponse)
describeLimitsResponse_tableMaxWriteCapacityUnits :: Lens.Lens' DescribeLimitsResponse (Prelude.Maybe Prelude.Natural)
describeLimitsResponse_tableMaxWriteCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)
describeLimitsResponse_tableMaxWriteCapacityUnits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLimitsResponse' {Maybe Natural
tableMaxWriteCapacityUnits :: Maybe Natural
$sel:tableMaxWriteCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
tableMaxWriteCapacityUnits} -> Maybe Natural
tableMaxWriteCapacityUnits) (\s :: DescribeLimitsResponse
s@DescribeLimitsResponse' {} Maybe Natural
a -> DescribeLimitsResponse
s {$sel:tableMaxWriteCapacityUnits:DescribeLimitsResponse' :: Maybe Natural
tableMaxWriteCapacityUnits = Maybe Natural
a} :: DescribeLimitsResponse)
describeLimitsResponse_httpStatus :: Lens.Lens' DescribeLimitsResponse Prelude.Int
describeLimitsResponse_httpStatus :: Lens' DescribeLimitsResponse Int
describeLimitsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLimitsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeLimitsResponse' :: DescribeLimitsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeLimitsResponse
s@DescribeLimitsResponse' {} Int
a -> DescribeLimitsResponse
s {$sel:httpStatus:DescribeLimitsResponse' :: Int
httpStatus = Int
a} :: DescribeLimitsResponse)
instance Prelude.NFData DescribeLimitsResponse where
rnf :: DescribeLimitsResponse -> ()
rnf DescribeLimitsResponse' {Int
Maybe Natural
httpStatus :: Int
tableMaxWriteCapacityUnits :: Maybe Natural
tableMaxReadCapacityUnits :: Maybe Natural
accountMaxWriteCapacityUnits :: Maybe Natural
accountMaxReadCapacityUnits :: Maybe Natural
$sel:httpStatus:DescribeLimitsResponse' :: DescribeLimitsResponse -> Int
$sel:tableMaxWriteCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
$sel:tableMaxReadCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
$sel:accountMaxWriteCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
$sel:accountMaxReadCapacityUnits:DescribeLimitsResponse' :: DescribeLimitsResponse -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
accountMaxReadCapacityUnits
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
accountMaxWriteCapacityUnits
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
tableMaxReadCapacityUnits
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
tableMaxWriteCapacityUnits
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus