module Network.AWS.ElasticBeanstalk.UpdateApplicationResourceLifecycle
(
updateApplicationResourceLifecycle
, UpdateApplicationResourceLifecycle
, uarlApplicationName
, uarlResourceLifecycleConfig
, updateApplicationResourceLifecycleResponse
, UpdateApplicationResourceLifecycleResponse
, uarlrsApplicationName
, uarlrsResourceLifecycleConfig
, uarlrsResponseStatus
) where
import Network.AWS.ElasticBeanstalk.Types
import Network.AWS.ElasticBeanstalk.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateApplicationResourceLifecycle = UpdateApplicationResourceLifecycle'
{ _uarlApplicationName :: !Text
, _uarlResourceLifecycleConfig :: !ApplicationResourceLifecycleConfig
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateApplicationResourceLifecycle
:: Text
-> ApplicationResourceLifecycleConfig
-> UpdateApplicationResourceLifecycle
updateApplicationResourceLifecycle pApplicationName_ pResourceLifecycleConfig_ =
UpdateApplicationResourceLifecycle'
{ _uarlApplicationName = pApplicationName_
, _uarlResourceLifecycleConfig = pResourceLifecycleConfig_
}
uarlApplicationName :: Lens' UpdateApplicationResourceLifecycle Text
uarlApplicationName = lens _uarlApplicationName (\ s a -> s{_uarlApplicationName = a});
uarlResourceLifecycleConfig :: Lens' UpdateApplicationResourceLifecycle ApplicationResourceLifecycleConfig
uarlResourceLifecycleConfig = lens _uarlResourceLifecycleConfig (\ s a -> s{_uarlResourceLifecycleConfig = a});
instance AWSRequest
UpdateApplicationResourceLifecycle
where
type Rs UpdateApplicationResourceLifecycle =
UpdateApplicationResourceLifecycleResponse
request = postQuery elasticBeanstalk
response
= receiveXMLWrapper
"UpdateApplicationResourceLifecycleResult"
(\ s h x ->
UpdateApplicationResourceLifecycleResponse' <$>
(x .@? "ApplicationName") <*>
(x .@? "ResourceLifecycleConfig")
<*> (pure (fromEnum s)))
instance Hashable UpdateApplicationResourceLifecycle
where
instance NFData UpdateApplicationResourceLifecycle
where
instance ToHeaders UpdateApplicationResourceLifecycle
where
toHeaders = const mempty
instance ToPath UpdateApplicationResourceLifecycle
where
toPath = const "/"
instance ToQuery UpdateApplicationResourceLifecycle
where
toQuery UpdateApplicationResourceLifecycle'{..}
= mconcat
["Action" =:
("UpdateApplicationResourceLifecycle" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"ApplicationName" =: _uarlApplicationName,
"ResourceLifecycleConfig" =:
_uarlResourceLifecycleConfig]
data UpdateApplicationResourceLifecycleResponse = UpdateApplicationResourceLifecycleResponse'
{ _uarlrsApplicationName :: !(Maybe Text)
, _uarlrsResourceLifecycleConfig :: !(Maybe ApplicationResourceLifecycleConfig)
, _uarlrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateApplicationResourceLifecycleResponse
:: Int
-> UpdateApplicationResourceLifecycleResponse
updateApplicationResourceLifecycleResponse pResponseStatus_ =
UpdateApplicationResourceLifecycleResponse'
{ _uarlrsApplicationName = Nothing
, _uarlrsResourceLifecycleConfig = Nothing
, _uarlrsResponseStatus = pResponseStatus_
}
uarlrsApplicationName :: Lens' UpdateApplicationResourceLifecycleResponse (Maybe Text)
uarlrsApplicationName = lens _uarlrsApplicationName (\ s a -> s{_uarlrsApplicationName = a});
uarlrsResourceLifecycleConfig :: Lens' UpdateApplicationResourceLifecycleResponse (Maybe ApplicationResourceLifecycleConfig)
uarlrsResourceLifecycleConfig = lens _uarlrsResourceLifecycleConfig (\ s a -> s{_uarlrsResourceLifecycleConfig = a});
uarlrsResponseStatus :: Lens' UpdateApplicationResourceLifecycleResponse Int
uarlrsResponseStatus = lens _uarlrsResponseStatus (\ s a -> s{_uarlrsResponseStatus = a});
instance NFData
UpdateApplicationResourceLifecycleResponse
where