{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.DirectoryService.UpdateNumberOfDomainControllers
(
updateNumberOfDomainControllers
, UpdateNumberOfDomainControllers
, unodcDirectoryId
, unodcDesiredNumber
, updateNumberOfDomainControllersResponse
, UpdateNumberOfDomainControllersResponse
, unodcrsResponseStatus
) where
import Network.AWS.DirectoryService.Types
import Network.AWS.DirectoryService.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateNumberOfDomainControllers = UpdateNumberOfDomainControllers'
{ _unodcDirectoryId :: !Text
, _unodcDesiredNumber :: !Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateNumberOfDomainControllers
:: Text
-> Natural
-> UpdateNumberOfDomainControllers
updateNumberOfDomainControllers pDirectoryId_ pDesiredNumber_ =
UpdateNumberOfDomainControllers'
{ _unodcDirectoryId = pDirectoryId_
, _unodcDesiredNumber = _Nat # pDesiredNumber_
}
unodcDirectoryId :: Lens' UpdateNumberOfDomainControllers Text
unodcDirectoryId = lens _unodcDirectoryId (\ s a -> s{_unodcDirectoryId = a})
unodcDesiredNumber :: Lens' UpdateNumberOfDomainControllers Natural
unodcDesiredNumber = lens _unodcDesiredNumber (\ s a -> s{_unodcDesiredNumber = a}) . _Nat
instance AWSRequest UpdateNumberOfDomainControllers
where
type Rs UpdateNumberOfDomainControllers =
UpdateNumberOfDomainControllersResponse
request = postJSON directoryService
response
= receiveEmpty
(\ s h x ->
UpdateNumberOfDomainControllersResponse' <$>
(pure (fromEnum s)))
instance Hashable UpdateNumberOfDomainControllers
where
instance NFData UpdateNumberOfDomainControllers where
instance ToHeaders UpdateNumberOfDomainControllers
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DirectoryService_20150416.UpdateNumberOfDomainControllers"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateNumberOfDomainControllers where
toJSON UpdateNumberOfDomainControllers'{..}
= object
(catMaybes
[Just ("DirectoryId" .= _unodcDirectoryId),
Just ("DesiredNumber" .= _unodcDesiredNumber)])
instance ToPath UpdateNumberOfDomainControllers where
toPath = const "/"
instance ToQuery UpdateNumberOfDomainControllers
where
toQuery = const mempty
newtype UpdateNumberOfDomainControllersResponse = UpdateNumberOfDomainControllersResponse'
{ _unodcrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateNumberOfDomainControllersResponse
:: Int
-> UpdateNumberOfDomainControllersResponse
updateNumberOfDomainControllersResponse pResponseStatus_ =
UpdateNumberOfDomainControllersResponse'
{_unodcrsResponseStatus = pResponseStatus_}
unodcrsResponseStatus :: Lens' UpdateNumberOfDomainControllersResponse Int
unodcrsResponseStatus = lens _unodcrsResponseStatus (\ s a -> s{_unodcrsResponseStatus = a})
instance NFData
UpdateNumberOfDomainControllersResponse
where