{-# 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.DirectoryService.GetDirectoryLimits
(
GetDirectoryLimits (..),
newGetDirectoryLimits,
GetDirectoryLimitsResponse (..),
newGetDirectoryLimitsResponse,
getDirectoryLimitsResponse_directoryLimits,
getDirectoryLimitsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DirectoryService.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetDirectoryLimits = GetDirectoryLimits'
{
}
deriving (GetDirectoryLimits -> GetDirectoryLimits -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetDirectoryLimits -> GetDirectoryLimits -> Bool
$c/= :: GetDirectoryLimits -> GetDirectoryLimits -> Bool
== :: GetDirectoryLimits -> GetDirectoryLimits -> Bool
$c== :: GetDirectoryLimits -> GetDirectoryLimits -> Bool
Prelude.Eq, ReadPrec [GetDirectoryLimits]
ReadPrec GetDirectoryLimits
Int -> ReadS GetDirectoryLimits
ReadS [GetDirectoryLimits]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetDirectoryLimits]
$creadListPrec :: ReadPrec [GetDirectoryLimits]
readPrec :: ReadPrec GetDirectoryLimits
$creadPrec :: ReadPrec GetDirectoryLimits
readList :: ReadS [GetDirectoryLimits]
$creadList :: ReadS [GetDirectoryLimits]
readsPrec :: Int -> ReadS GetDirectoryLimits
$creadsPrec :: Int -> ReadS GetDirectoryLimits
Prelude.Read, Int -> GetDirectoryLimits -> ShowS
[GetDirectoryLimits] -> ShowS
GetDirectoryLimits -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetDirectoryLimits] -> ShowS
$cshowList :: [GetDirectoryLimits] -> ShowS
show :: GetDirectoryLimits -> String
$cshow :: GetDirectoryLimits -> String
showsPrec :: Int -> GetDirectoryLimits -> ShowS
$cshowsPrec :: Int -> GetDirectoryLimits -> ShowS
Prelude.Show, forall x. Rep GetDirectoryLimits x -> GetDirectoryLimits
forall x. GetDirectoryLimits -> Rep GetDirectoryLimits x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetDirectoryLimits x -> GetDirectoryLimits
$cfrom :: forall x. GetDirectoryLimits -> Rep GetDirectoryLimits x
Prelude.Generic)
newGetDirectoryLimits ::
GetDirectoryLimits
newGetDirectoryLimits :: GetDirectoryLimits
newGetDirectoryLimits = GetDirectoryLimits
GetDirectoryLimits'
instance Core.AWSRequest GetDirectoryLimits where
type
AWSResponse GetDirectoryLimits =
GetDirectoryLimitsResponse
request :: (Service -> Service)
-> GetDirectoryLimits -> Request GetDirectoryLimits
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 GetDirectoryLimits
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetDirectoryLimits)))
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 DirectoryLimits -> Int -> GetDirectoryLimitsResponse
GetDirectoryLimitsResponse'
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
"DirectoryLimits")
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 GetDirectoryLimits where
hashWithSalt :: Int -> GetDirectoryLimits -> Int
hashWithSalt Int
_salt GetDirectoryLimits
_ =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()
instance Prelude.NFData GetDirectoryLimits where
rnf :: GetDirectoryLimits -> ()
rnf GetDirectoryLimits
_ = ()
instance Data.ToHeaders GetDirectoryLimits where
toHeaders :: GetDirectoryLimits -> 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
"DirectoryService_20150416.GetDirectoryLimits" ::
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 GetDirectoryLimits where
toJSON :: GetDirectoryLimits -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath GetDirectoryLimits where
toPath :: GetDirectoryLimits -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetDirectoryLimits where
toQuery :: GetDirectoryLimits -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetDirectoryLimitsResponse = GetDirectoryLimitsResponse'
{
GetDirectoryLimitsResponse -> Maybe DirectoryLimits
directoryLimits :: Prelude.Maybe DirectoryLimits,
GetDirectoryLimitsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetDirectoryLimitsResponse -> GetDirectoryLimitsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetDirectoryLimitsResponse -> GetDirectoryLimitsResponse -> Bool
$c/= :: GetDirectoryLimitsResponse -> GetDirectoryLimitsResponse -> Bool
== :: GetDirectoryLimitsResponse -> GetDirectoryLimitsResponse -> Bool
$c== :: GetDirectoryLimitsResponse -> GetDirectoryLimitsResponse -> Bool
Prelude.Eq, ReadPrec [GetDirectoryLimitsResponse]
ReadPrec GetDirectoryLimitsResponse
Int -> ReadS GetDirectoryLimitsResponse
ReadS [GetDirectoryLimitsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetDirectoryLimitsResponse]
$creadListPrec :: ReadPrec [GetDirectoryLimitsResponse]
readPrec :: ReadPrec GetDirectoryLimitsResponse
$creadPrec :: ReadPrec GetDirectoryLimitsResponse
readList :: ReadS [GetDirectoryLimitsResponse]
$creadList :: ReadS [GetDirectoryLimitsResponse]
readsPrec :: Int -> ReadS GetDirectoryLimitsResponse
$creadsPrec :: Int -> ReadS GetDirectoryLimitsResponse
Prelude.Read, Int -> GetDirectoryLimitsResponse -> ShowS
[GetDirectoryLimitsResponse] -> ShowS
GetDirectoryLimitsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetDirectoryLimitsResponse] -> ShowS
$cshowList :: [GetDirectoryLimitsResponse] -> ShowS
show :: GetDirectoryLimitsResponse -> String
$cshow :: GetDirectoryLimitsResponse -> String
showsPrec :: Int -> GetDirectoryLimitsResponse -> ShowS
$cshowsPrec :: Int -> GetDirectoryLimitsResponse -> ShowS
Prelude.Show, forall x.
Rep GetDirectoryLimitsResponse x -> GetDirectoryLimitsResponse
forall x.
GetDirectoryLimitsResponse -> Rep GetDirectoryLimitsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetDirectoryLimitsResponse x -> GetDirectoryLimitsResponse
$cfrom :: forall x.
GetDirectoryLimitsResponse -> Rep GetDirectoryLimitsResponse x
Prelude.Generic)
newGetDirectoryLimitsResponse ::
Prelude.Int ->
GetDirectoryLimitsResponse
newGetDirectoryLimitsResponse :: Int -> GetDirectoryLimitsResponse
newGetDirectoryLimitsResponse Int
pHttpStatus_ =
GetDirectoryLimitsResponse'
{ $sel:directoryLimits:GetDirectoryLimitsResponse' :: Maybe DirectoryLimits
directoryLimits =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetDirectoryLimitsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getDirectoryLimitsResponse_directoryLimits :: Lens.Lens' GetDirectoryLimitsResponse (Prelude.Maybe DirectoryLimits)
getDirectoryLimitsResponse_directoryLimits :: Lens' GetDirectoryLimitsResponse (Maybe DirectoryLimits)
getDirectoryLimitsResponse_directoryLimits = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDirectoryLimitsResponse' {Maybe DirectoryLimits
directoryLimits :: Maybe DirectoryLimits
$sel:directoryLimits:GetDirectoryLimitsResponse' :: GetDirectoryLimitsResponse -> Maybe DirectoryLimits
directoryLimits} -> Maybe DirectoryLimits
directoryLimits) (\s :: GetDirectoryLimitsResponse
s@GetDirectoryLimitsResponse' {} Maybe DirectoryLimits
a -> GetDirectoryLimitsResponse
s {$sel:directoryLimits:GetDirectoryLimitsResponse' :: Maybe DirectoryLimits
directoryLimits = Maybe DirectoryLimits
a} :: GetDirectoryLimitsResponse)
getDirectoryLimitsResponse_httpStatus :: Lens.Lens' GetDirectoryLimitsResponse Prelude.Int
getDirectoryLimitsResponse_httpStatus :: Lens' GetDirectoryLimitsResponse Int
getDirectoryLimitsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetDirectoryLimitsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetDirectoryLimitsResponse' :: GetDirectoryLimitsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetDirectoryLimitsResponse
s@GetDirectoryLimitsResponse' {} Int
a -> GetDirectoryLimitsResponse
s {$sel:httpStatus:GetDirectoryLimitsResponse' :: Int
httpStatus = Int
a} :: GetDirectoryLimitsResponse)
instance Prelude.NFData GetDirectoryLimitsResponse where
rnf :: GetDirectoryLimitsResponse -> ()
rnf GetDirectoryLimitsResponse' {Int
Maybe DirectoryLimits
httpStatus :: Int
directoryLimits :: Maybe DirectoryLimits
$sel:httpStatus:GetDirectoryLimitsResponse' :: GetDirectoryLimitsResponse -> Int
$sel:directoryLimits:GetDirectoryLimitsResponse' :: GetDirectoryLimitsResponse -> Maybe DirectoryLimits
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DirectoryLimits
directoryLimits
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus