{-# 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.GameLift.UpdateRuntimeConfiguration
(
updateRuntimeConfiguration
, UpdateRuntimeConfiguration
, urcFleetId
, urcRuntimeConfiguration
, updateRuntimeConfigurationResponse
, UpdateRuntimeConfigurationResponse
, urcrsRuntimeConfiguration
, urcrsResponseStatus
) where
import Network.AWS.GameLift.Types
import Network.AWS.GameLift.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateRuntimeConfiguration = UpdateRuntimeConfiguration'
{ _urcFleetId :: !Text
, _urcRuntimeConfiguration :: !RuntimeConfiguration
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateRuntimeConfiguration
:: Text
-> RuntimeConfiguration
-> UpdateRuntimeConfiguration
updateRuntimeConfiguration pFleetId_ pRuntimeConfiguration_ =
UpdateRuntimeConfiguration'
{ _urcFleetId = pFleetId_
, _urcRuntimeConfiguration = pRuntimeConfiguration_
}
urcFleetId :: Lens' UpdateRuntimeConfiguration Text
urcFleetId = lens _urcFleetId (\ s a -> s{_urcFleetId = a});
urcRuntimeConfiguration :: Lens' UpdateRuntimeConfiguration RuntimeConfiguration
urcRuntimeConfiguration = lens _urcRuntimeConfiguration (\ s a -> s{_urcRuntimeConfiguration = a});
instance AWSRequest UpdateRuntimeConfiguration where
type Rs UpdateRuntimeConfiguration =
UpdateRuntimeConfigurationResponse
request = postJSON gameLift
response
= receiveJSON
(\ s h x ->
UpdateRuntimeConfigurationResponse' <$>
(x .?> "RuntimeConfiguration") <*>
(pure (fromEnum s)))
instance Hashable UpdateRuntimeConfiguration
instance NFData UpdateRuntimeConfiguration
instance ToHeaders UpdateRuntimeConfiguration where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("GameLift.UpdateRuntimeConfiguration" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateRuntimeConfiguration where
toJSON UpdateRuntimeConfiguration'{..}
= object
(catMaybes
[Just ("FleetId" .= _urcFleetId),
Just
("RuntimeConfiguration" .=
_urcRuntimeConfiguration)])
instance ToPath UpdateRuntimeConfiguration where
toPath = const "/"
instance ToQuery UpdateRuntimeConfiguration where
toQuery = const mempty
data UpdateRuntimeConfigurationResponse = UpdateRuntimeConfigurationResponse'
{ _urcrsRuntimeConfiguration :: !(Maybe RuntimeConfiguration)
, _urcrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateRuntimeConfigurationResponse
:: Int
-> UpdateRuntimeConfigurationResponse
updateRuntimeConfigurationResponse pResponseStatus_ =
UpdateRuntimeConfigurationResponse'
{ _urcrsRuntimeConfiguration = Nothing
, _urcrsResponseStatus = pResponseStatus_
}
urcrsRuntimeConfiguration :: Lens' UpdateRuntimeConfigurationResponse (Maybe RuntimeConfiguration)
urcrsRuntimeConfiguration = lens _urcrsRuntimeConfiguration (\ s a -> s{_urcrsRuntimeConfiguration = a});
urcrsResponseStatus :: Lens' UpdateRuntimeConfigurationResponse Int
urcrsResponseStatus = lens _urcrsResponseStatus (\ s a -> s{_urcrsResponseStatus = a});
instance NFData UpdateRuntimeConfigurationResponse