module Network.AWS.Lambda.UpdateFunctionConfiguration
(
UpdateFunctionConfiguration
, updateFunctionConfiguration
, ufcDescription
, ufcFunctionName
, ufcHandler
, ufcMemorySize
, ufcRole
, ufcTimeout
, UpdateFunctionConfigurationResponse
, updateFunctionConfigurationResponse
, ufcrCodeSize
, ufcrConfigurationId
, ufcrDescription
, ufcrFunctionARN
, ufcrFunctionName
, ufcrHandler
, ufcrLastModified
, ufcrMemorySize
, ufcrMode
, ufcrRole
, ufcrRuntime
, ufcrTimeout
) where
import Network.AWS.Prelude
import Network.AWS.Request.RestJSON
import Network.AWS.Lambda.Types
import qualified GHC.Exts
data UpdateFunctionConfiguration = UpdateFunctionConfiguration
{ _ufcDescription :: Maybe Text
, _ufcFunctionName :: Text
, _ufcHandler :: Maybe Text
, _ufcMemorySize :: Maybe Nat
, _ufcRole :: Maybe Text
, _ufcTimeout :: Maybe Nat
} deriving (Eq, Ord, Show)
updateFunctionConfiguration :: Text
-> UpdateFunctionConfiguration
updateFunctionConfiguration p1 = UpdateFunctionConfiguration
{ _ufcFunctionName = p1
, _ufcRole = Nothing
, _ufcHandler = Nothing
, _ufcDescription = Nothing
, _ufcTimeout = Nothing
, _ufcMemorySize = Nothing
}
ufcDescription :: Lens' UpdateFunctionConfiguration (Maybe Text)
ufcDescription = lens _ufcDescription (\s a -> s { _ufcDescription = a })
ufcFunctionName :: Lens' UpdateFunctionConfiguration Text
ufcFunctionName = lens _ufcFunctionName (\s a -> s { _ufcFunctionName = a })
ufcHandler :: Lens' UpdateFunctionConfiguration (Maybe Text)
ufcHandler = lens _ufcHandler (\s a -> s { _ufcHandler = a })
ufcMemorySize :: Lens' UpdateFunctionConfiguration (Maybe Natural)
ufcMemorySize = lens _ufcMemorySize (\s a -> s { _ufcMemorySize = a }) . mapping _Nat
ufcRole :: Lens' UpdateFunctionConfiguration (Maybe Text)
ufcRole = lens _ufcRole (\s a -> s { _ufcRole = a })
ufcTimeout :: Lens' UpdateFunctionConfiguration (Maybe Natural)
ufcTimeout = lens _ufcTimeout (\s a -> s { _ufcTimeout = a }) . mapping _Nat
data UpdateFunctionConfigurationResponse = UpdateFunctionConfigurationResponse
{ _ufcrCodeSize :: Maybe Integer
, _ufcrConfigurationId :: Maybe Text
, _ufcrDescription :: Maybe Text
, _ufcrFunctionARN :: Maybe Text
, _ufcrFunctionName :: Maybe Text
, _ufcrHandler :: Maybe Text
, _ufcrLastModified :: Maybe ISO8601
, _ufcrMemorySize :: Maybe Nat
, _ufcrMode :: Maybe Mode
, _ufcrRole :: Maybe Text
, _ufcrRuntime :: Maybe Runtime
, _ufcrTimeout :: Maybe Nat
} deriving (Eq, Show)
updateFunctionConfigurationResponse :: UpdateFunctionConfigurationResponse
updateFunctionConfigurationResponse = UpdateFunctionConfigurationResponse
{ _ufcrFunctionName = Nothing
, _ufcrFunctionARN = Nothing
, _ufcrConfigurationId = Nothing
, _ufcrRuntime = Nothing
, _ufcrRole = Nothing
, _ufcrHandler = Nothing
, _ufcrMode = Nothing
, _ufcrCodeSize = Nothing
, _ufcrDescription = Nothing
, _ufcrTimeout = Nothing
, _ufcrMemorySize = Nothing
, _ufcrLastModified = Nothing
}
ufcrCodeSize :: Lens' UpdateFunctionConfigurationResponse (Maybe Integer)
ufcrCodeSize = lens _ufcrCodeSize (\s a -> s { _ufcrCodeSize = a })
ufcrConfigurationId :: Lens' UpdateFunctionConfigurationResponse (Maybe Text)
ufcrConfigurationId =
lens _ufcrConfigurationId (\s a -> s { _ufcrConfigurationId = a })
ufcrDescription :: Lens' UpdateFunctionConfigurationResponse (Maybe Text)
ufcrDescription = lens _ufcrDescription (\s a -> s { _ufcrDescription = a })
ufcrFunctionARN :: Lens' UpdateFunctionConfigurationResponse (Maybe Text)
ufcrFunctionARN = lens _ufcrFunctionARN (\s a -> s { _ufcrFunctionARN = a })
ufcrFunctionName :: Lens' UpdateFunctionConfigurationResponse (Maybe Text)
ufcrFunctionName = lens _ufcrFunctionName (\s a -> s { _ufcrFunctionName = a })
ufcrHandler :: Lens' UpdateFunctionConfigurationResponse (Maybe Text)
ufcrHandler = lens _ufcrHandler (\s a -> s { _ufcrHandler = a })
ufcrLastModified :: Lens' UpdateFunctionConfigurationResponse (Maybe UTCTime)
ufcrLastModified = lens _ufcrLastModified (\s a -> s { _ufcrLastModified = a }) . mapping _Time
ufcrMemorySize :: Lens' UpdateFunctionConfigurationResponse (Maybe Natural)
ufcrMemorySize = lens _ufcrMemorySize (\s a -> s { _ufcrMemorySize = a }) . mapping _Nat
ufcrMode :: Lens' UpdateFunctionConfigurationResponse (Maybe Mode)
ufcrMode = lens _ufcrMode (\s a -> s { _ufcrMode = a })
ufcrRole :: Lens' UpdateFunctionConfigurationResponse (Maybe Text)
ufcrRole = lens _ufcrRole (\s a -> s { _ufcrRole = a })
ufcrRuntime :: Lens' UpdateFunctionConfigurationResponse (Maybe Runtime)
ufcrRuntime = lens _ufcrRuntime (\s a -> s { _ufcrRuntime = a })
ufcrTimeout :: Lens' UpdateFunctionConfigurationResponse (Maybe Natural)
ufcrTimeout = lens _ufcrTimeout (\s a -> s { _ufcrTimeout = a }) . mapping _Nat
instance ToPath UpdateFunctionConfiguration where
toPath UpdateFunctionConfiguration{..} = mconcat
[ "/2014-11-13/functions/"
, toText _ufcFunctionName
, "/configuration"
]
instance ToQuery UpdateFunctionConfiguration where
toQuery UpdateFunctionConfiguration{..} = mconcat
[ "Role" =? _ufcRole
, "Handler" =? _ufcHandler
, "Description" =? _ufcDescription
, "Timeout" =? _ufcTimeout
, "MemorySize" =? _ufcMemorySize
]
instance ToHeaders UpdateFunctionConfiguration
instance ToJSON UpdateFunctionConfiguration where
toJSON = const (toJSON Empty)
instance AWSRequest UpdateFunctionConfiguration where
type Sv UpdateFunctionConfiguration = Lambda
type Rs UpdateFunctionConfiguration = UpdateFunctionConfigurationResponse
request = put
response = jsonResponse
instance FromJSON UpdateFunctionConfigurationResponse where
parseJSON = withObject "UpdateFunctionConfigurationResponse" $ \o -> UpdateFunctionConfigurationResponse
<$> o .:? "CodeSize"
<*> o .:? "ConfigurationId"
<*> o .:? "Description"
<*> o .:? "FunctionARN"
<*> o .:? "FunctionName"
<*> o .:? "Handler"
<*> o .:? "LastModified"
<*> o .:? "MemorySize"
<*> o .:? "Mode"
<*> o .:? "Role"
<*> o .:? "Runtime"
<*> o .:? "Timeout"