module Network.AWS.OpsWorksCM.UpdateServerEngineAttributes
(
updateServerEngineAttributes
, UpdateServerEngineAttributes
, useaAttributeValue
, useaServerName
, useaAttributeName
, updateServerEngineAttributesResponse
, UpdateServerEngineAttributesResponse
, usearsServer
, usearsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.OpsWorksCM.Types
import Network.AWS.OpsWorksCM.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateServerEngineAttributes = UpdateServerEngineAttributes'
{ _useaAttributeValue :: !(Maybe Text)
, _useaServerName :: !Text
, _useaAttributeName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateServerEngineAttributes
:: Text
-> Text
-> UpdateServerEngineAttributes
updateServerEngineAttributes pServerName_ pAttributeName_ =
UpdateServerEngineAttributes'
{ _useaAttributeValue = Nothing
, _useaServerName = pServerName_
, _useaAttributeName = pAttributeName_
}
useaAttributeValue :: Lens' UpdateServerEngineAttributes (Maybe Text)
useaAttributeValue = lens _useaAttributeValue (\ s a -> s{_useaAttributeValue = a});
useaServerName :: Lens' UpdateServerEngineAttributes Text
useaServerName = lens _useaServerName (\ s a -> s{_useaServerName = a});
useaAttributeName :: Lens' UpdateServerEngineAttributes Text
useaAttributeName = lens _useaAttributeName (\ s a -> s{_useaAttributeName = a});
instance AWSRequest UpdateServerEngineAttributes
where
type Rs UpdateServerEngineAttributes =
UpdateServerEngineAttributesResponse
request = postJSON opsWorksCM
response
= receiveJSON
(\ s h x ->
UpdateServerEngineAttributesResponse' <$>
(x .?> "Server") <*> (pure (fromEnum s)))
instance Hashable UpdateServerEngineAttributes where
instance NFData UpdateServerEngineAttributes where
instance ToHeaders UpdateServerEngineAttributes where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OpsWorksCM_V2016_11_01.UpdateServerEngineAttributes"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateServerEngineAttributes where
toJSON UpdateServerEngineAttributes'{..}
= object
(catMaybes
[("AttributeValue" .=) <$> _useaAttributeValue,
Just ("ServerName" .= _useaServerName),
Just ("AttributeName" .= _useaAttributeName)])
instance ToPath UpdateServerEngineAttributes where
toPath = const "/"
instance ToQuery UpdateServerEngineAttributes where
toQuery = const mempty
data UpdateServerEngineAttributesResponse = UpdateServerEngineAttributesResponse'
{ _usearsServer :: !(Maybe Server)
, _usearsResponseStatus :: !Int
} deriving (Eq, Show, Data, Typeable, Generic)
updateServerEngineAttributesResponse
:: Int
-> UpdateServerEngineAttributesResponse
updateServerEngineAttributesResponse pResponseStatus_ =
UpdateServerEngineAttributesResponse'
{_usearsServer = Nothing, _usearsResponseStatus = pResponseStatus_}
usearsServer :: Lens' UpdateServerEngineAttributesResponse (Maybe Server)
usearsServer = lens _usearsServer (\ s a -> s{_usearsServer = a});
usearsResponseStatus :: Lens' UpdateServerEngineAttributesResponse Int
usearsResponseStatus = lens _usearsResponseStatus (\ s a -> s{_usearsResponseStatus = a});
instance NFData UpdateServerEngineAttributesResponse
where