{-# 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.CloudSearch.UpdateAvailabilityOptions
(
updateAvailabilityOptions
, UpdateAvailabilityOptions
, uaoDomainName
, uaoMultiAZ
, updateAvailabilityOptionsResponse
, UpdateAvailabilityOptionsResponse
, uaorsAvailabilityOptions
, uaorsResponseStatus
) where
import Network.AWS.CloudSearch.Types
import Network.AWS.CloudSearch.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateAvailabilityOptions = UpdateAvailabilityOptions'
{ _uaoDomainName :: !Text
, _uaoMultiAZ :: !Bool
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateAvailabilityOptions
:: Text
-> Bool
-> UpdateAvailabilityOptions
updateAvailabilityOptions pDomainName_ pMultiAZ_ =
UpdateAvailabilityOptions'
{_uaoDomainName = pDomainName_, _uaoMultiAZ = pMultiAZ_}
uaoDomainName :: Lens' UpdateAvailabilityOptions Text
uaoDomainName = lens _uaoDomainName (\ s a -> s{_uaoDomainName = a})
uaoMultiAZ :: Lens' UpdateAvailabilityOptions Bool
uaoMultiAZ = lens _uaoMultiAZ (\ s a -> s{_uaoMultiAZ = a})
instance AWSRequest UpdateAvailabilityOptions where
type Rs UpdateAvailabilityOptions =
UpdateAvailabilityOptionsResponse
request = postQuery cloudSearch
response
= receiveXMLWrapper "UpdateAvailabilityOptionsResult"
(\ s h x ->
UpdateAvailabilityOptionsResponse' <$>
(x .@? "AvailabilityOptions") <*>
(pure (fromEnum s)))
instance Hashable UpdateAvailabilityOptions where
instance NFData UpdateAvailabilityOptions where
instance ToHeaders UpdateAvailabilityOptions where
toHeaders = const mempty
instance ToPath UpdateAvailabilityOptions where
toPath = const "/"
instance ToQuery UpdateAvailabilityOptions where
toQuery UpdateAvailabilityOptions'{..}
= mconcat
["Action" =:
("UpdateAvailabilityOptions" :: ByteString),
"Version" =: ("2013-01-01" :: ByteString),
"DomainName" =: _uaoDomainName,
"MultiAZ" =: _uaoMultiAZ]
data UpdateAvailabilityOptionsResponse = UpdateAvailabilityOptionsResponse'
{ _uaorsAvailabilityOptions :: !(Maybe AvailabilityOptionsStatus)
, _uaorsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateAvailabilityOptionsResponse
:: Int
-> UpdateAvailabilityOptionsResponse
updateAvailabilityOptionsResponse pResponseStatus_ =
UpdateAvailabilityOptionsResponse'
{ _uaorsAvailabilityOptions = Nothing
, _uaorsResponseStatus = pResponseStatus_
}
uaorsAvailabilityOptions :: Lens' UpdateAvailabilityOptionsResponse (Maybe AvailabilityOptionsStatus)
uaorsAvailabilityOptions = lens _uaorsAvailabilityOptions (\ s a -> s{_uaorsAvailabilityOptions = a})
uaorsResponseStatus :: Lens' UpdateAvailabilityOptionsResponse Int
uaorsResponseStatus = lens _uaorsResponseStatus (\ s a -> s{_uaorsResponseStatus = a})
instance NFData UpdateAvailabilityOptionsResponse
where