{-# 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.UpdateNumberOfDomainControllers
(
UpdateNumberOfDomainControllers (..),
newUpdateNumberOfDomainControllers,
updateNumberOfDomainControllers_directoryId,
updateNumberOfDomainControllers_desiredNumber,
UpdateNumberOfDomainControllersResponse (..),
newUpdateNumberOfDomainControllersResponse,
updateNumberOfDomainControllersResponse_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 UpdateNumberOfDomainControllers = UpdateNumberOfDomainControllers'
{
UpdateNumberOfDomainControllers -> Text
directoryId :: Prelude.Text,
UpdateNumberOfDomainControllers -> Natural
desiredNumber :: Prelude.Natural
}
deriving (UpdateNumberOfDomainControllers
-> UpdateNumberOfDomainControllers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateNumberOfDomainControllers
-> UpdateNumberOfDomainControllers -> Bool
$c/= :: UpdateNumberOfDomainControllers
-> UpdateNumberOfDomainControllers -> Bool
== :: UpdateNumberOfDomainControllers
-> UpdateNumberOfDomainControllers -> Bool
$c== :: UpdateNumberOfDomainControllers
-> UpdateNumberOfDomainControllers -> Bool
Prelude.Eq, ReadPrec [UpdateNumberOfDomainControllers]
ReadPrec UpdateNumberOfDomainControllers
Int -> ReadS UpdateNumberOfDomainControllers
ReadS [UpdateNumberOfDomainControllers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateNumberOfDomainControllers]
$creadListPrec :: ReadPrec [UpdateNumberOfDomainControllers]
readPrec :: ReadPrec UpdateNumberOfDomainControllers
$creadPrec :: ReadPrec UpdateNumberOfDomainControllers
readList :: ReadS [UpdateNumberOfDomainControllers]
$creadList :: ReadS [UpdateNumberOfDomainControllers]
readsPrec :: Int -> ReadS UpdateNumberOfDomainControllers
$creadsPrec :: Int -> ReadS UpdateNumberOfDomainControllers
Prelude.Read, Int -> UpdateNumberOfDomainControllers -> ShowS
[UpdateNumberOfDomainControllers] -> ShowS
UpdateNumberOfDomainControllers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateNumberOfDomainControllers] -> ShowS
$cshowList :: [UpdateNumberOfDomainControllers] -> ShowS
show :: UpdateNumberOfDomainControllers -> String
$cshow :: UpdateNumberOfDomainControllers -> String
showsPrec :: Int -> UpdateNumberOfDomainControllers -> ShowS
$cshowsPrec :: Int -> UpdateNumberOfDomainControllers -> ShowS
Prelude.Show, forall x.
Rep UpdateNumberOfDomainControllers x
-> UpdateNumberOfDomainControllers
forall x.
UpdateNumberOfDomainControllers
-> Rep UpdateNumberOfDomainControllers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateNumberOfDomainControllers x
-> UpdateNumberOfDomainControllers
$cfrom :: forall x.
UpdateNumberOfDomainControllers
-> Rep UpdateNumberOfDomainControllers x
Prelude.Generic)
newUpdateNumberOfDomainControllers ::
Prelude.Text ->
Prelude.Natural ->
UpdateNumberOfDomainControllers
newUpdateNumberOfDomainControllers :: Text -> Natural -> UpdateNumberOfDomainControllers
newUpdateNumberOfDomainControllers
Text
pDirectoryId_
Natural
pDesiredNumber_ =
UpdateNumberOfDomainControllers'
{ $sel:directoryId:UpdateNumberOfDomainControllers' :: Text
directoryId =
Text
pDirectoryId_,
$sel:desiredNumber:UpdateNumberOfDomainControllers' :: Natural
desiredNumber = Natural
pDesiredNumber_
}
updateNumberOfDomainControllers_directoryId :: Lens.Lens' UpdateNumberOfDomainControllers Prelude.Text
updateNumberOfDomainControllers_directoryId :: Lens' UpdateNumberOfDomainControllers Text
updateNumberOfDomainControllers_directoryId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNumberOfDomainControllers' {Text
directoryId :: Text
$sel:directoryId:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Text
directoryId} -> Text
directoryId) (\s :: UpdateNumberOfDomainControllers
s@UpdateNumberOfDomainControllers' {} Text
a -> UpdateNumberOfDomainControllers
s {$sel:directoryId:UpdateNumberOfDomainControllers' :: Text
directoryId = Text
a} :: UpdateNumberOfDomainControllers)
updateNumberOfDomainControllers_desiredNumber :: Lens.Lens' UpdateNumberOfDomainControllers Prelude.Natural
updateNumberOfDomainControllers_desiredNumber :: Lens' UpdateNumberOfDomainControllers Natural
updateNumberOfDomainControllers_desiredNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNumberOfDomainControllers' {Natural
desiredNumber :: Natural
$sel:desiredNumber:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Natural
desiredNumber} -> Natural
desiredNumber) (\s :: UpdateNumberOfDomainControllers
s@UpdateNumberOfDomainControllers' {} Natural
a -> UpdateNumberOfDomainControllers
s {$sel:desiredNumber:UpdateNumberOfDomainControllers' :: Natural
desiredNumber = Natural
a} :: UpdateNumberOfDomainControllers)
instance
Core.AWSRequest
UpdateNumberOfDomainControllers
where
type
AWSResponse UpdateNumberOfDomainControllers =
UpdateNumberOfDomainControllersResponse
request :: (Service -> Service)
-> UpdateNumberOfDomainControllers
-> Request UpdateNumberOfDomainControllers
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 UpdateNumberOfDomainControllers
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse UpdateNumberOfDomainControllers)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> UpdateNumberOfDomainControllersResponse
UpdateNumberOfDomainControllersResponse'
forall (f :: * -> *) a b. Functor 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
UpdateNumberOfDomainControllers
where
hashWithSalt :: Int -> UpdateNumberOfDomainControllers -> Int
hashWithSalt
Int
_salt
UpdateNumberOfDomainControllers' {Natural
Text
desiredNumber :: Natural
directoryId :: Text
$sel:desiredNumber:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Natural
$sel:directoryId:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
directoryId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
desiredNumber
instance
Prelude.NFData
UpdateNumberOfDomainControllers
where
rnf :: UpdateNumberOfDomainControllers -> ()
rnf UpdateNumberOfDomainControllers' {Natural
Text
desiredNumber :: Natural
directoryId :: Text
$sel:desiredNumber:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Natural
$sel:directoryId:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
directoryId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
desiredNumber
instance
Data.ToHeaders
UpdateNumberOfDomainControllers
where
toHeaders :: UpdateNumberOfDomainControllers -> 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.UpdateNumberOfDomainControllers" ::
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 UpdateNumberOfDomainControllers where
toJSON :: UpdateNumberOfDomainControllers -> Value
toJSON UpdateNumberOfDomainControllers' {Natural
Text
desiredNumber :: Natural
directoryId :: Text
$sel:desiredNumber:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Natural
$sel:directoryId:UpdateNumberOfDomainControllers' :: UpdateNumberOfDomainControllers -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"DirectoryId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
directoryId),
forall a. a -> Maybe a
Prelude.Just
(Key
"DesiredNumber" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Natural
desiredNumber)
]
)
instance Data.ToPath UpdateNumberOfDomainControllers where
toPath :: UpdateNumberOfDomainControllers -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateNumberOfDomainControllers where
toQuery :: UpdateNumberOfDomainControllers -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateNumberOfDomainControllersResponse = UpdateNumberOfDomainControllersResponse'
{
UpdateNumberOfDomainControllersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateNumberOfDomainControllersResponse
-> UpdateNumberOfDomainControllersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateNumberOfDomainControllersResponse
-> UpdateNumberOfDomainControllersResponse -> Bool
$c/= :: UpdateNumberOfDomainControllersResponse
-> UpdateNumberOfDomainControllersResponse -> Bool
== :: UpdateNumberOfDomainControllersResponse
-> UpdateNumberOfDomainControllersResponse -> Bool
$c== :: UpdateNumberOfDomainControllersResponse
-> UpdateNumberOfDomainControllersResponse -> Bool
Prelude.Eq, ReadPrec [UpdateNumberOfDomainControllersResponse]
ReadPrec UpdateNumberOfDomainControllersResponse
Int -> ReadS UpdateNumberOfDomainControllersResponse
ReadS [UpdateNumberOfDomainControllersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateNumberOfDomainControllersResponse]
$creadListPrec :: ReadPrec [UpdateNumberOfDomainControllersResponse]
readPrec :: ReadPrec UpdateNumberOfDomainControllersResponse
$creadPrec :: ReadPrec UpdateNumberOfDomainControllersResponse
readList :: ReadS [UpdateNumberOfDomainControllersResponse]
$creadList :: ReadS [UpdateNumberOfDomainControllersResponse]
readsPrec :: Int -> ReadS UpdateNumberOfDomainControllersResponse
$creadsPrec :: Int -> ReadS UpdateNumberOfDomainControllersResponse
Prelude.Read, Int -> UpdateNumberOfDomainControllersResponse -> ShowS
[UpdateNumberOfDomainControllersResponse] -> ShowS
UpdateNumberOfDomainControllersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateNumberOfDomainControllersResponse] -> ShowS
$cshowList :: [UpdateNumberOfDomainControllersResponse] -> ShowS
show :: UpdateNumberOfDomainControllersResponse -> String
$cshow :: UpdateNumberOfDomainControllersResponse -> String
showsPrec :: Int -> UpdateNumberOfDomainControllersResponse -> ShowS
$cshowsPrec :: Int -> UpdateNumberOfDomainControllersResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateNumberOfDomainControllersResponse x
-> UpdateNumberOfDomainControllersResponse
forall x.
UpdateNumberOfDomainControllersResponse
-> Rep UpdateNumberOfDomainControllersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateNumberOfDomainControllersResponse x
-> UpdateNumberOfDomainControllersResponse
$cfrom :: forall x.
UpdateNumberOfDomainControllersResponse
-> Rep UpdateNumberOfDomainControllersResponse x
Prelude.Generic)
newUpdateNumberOfDomainControllersResponse ::
Prelude.Int ->
UpdateNumberOfDomainControllersResponse
newUpdateNumberOfDomainControllersResponse :: Int -> UpdateNumberOfDomainControllersResponse
newUpdateNumberOfDomainControllersResponse
Int
pHttpStatus_ =
UpdateNumberOfDomainControllersResponse'
{ $sel:httpStatus:UpdateNumberOfDomainControllersResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
updateNumberOfDomainControllersResponse_httpStatus :: Lens.Lens' UpdateNumberOfDomainControllersResponse Prelude.Int
updateNumberOfDomainControllersResponse_httpStatus :: Lens' UpdateNumberOfDomainControllersResponse Int
updateNumberOfDomainControllersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNumberOfDomainControllersResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateNumberOfDomainControllersResponse' :: UpdateNumberOfDomainControllersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateNumberOfDomainControllersResponse
s@UpdateNumberOfDomainControllersResponse' {} Int
a -> UpdateNumberOfDomainControllersResponse
s {$sel:httpStatus:UpdateNumberOfDomainControllersResponse' :: Int
httpStatus = Int
a} :: UpdateNumberOfDomainControllersResponse)
instance
Prelude.NFData
UpdateNumberOfDomainControllersResponse
where
rnf :: UpdateNumberOfDomainControllersResponse -> ()
rnf UpdateNumberOfDomainControllersResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateNumberOfDomainControllersResponse' :: UpdateNumberOfDomainControllersResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus