module Network.AWS.Discovery.UpdateApplication
(
updateApplication
, UpdateApplication
, uaName
, uaDescription
, uaConfigurationId
, updateApplicationResponse
, UpdateApplicationResponse
, uarsResponseStatus
) where
import Network.AWS.Discovery.Types
import Network.AWS.Discovery.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateApplication = UpdateApplication'
{ _uaName :: !(Maybe Text)
, _uaDescription :: !(Maybe Text)
, _uaConfigurationId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateApplication
:: Text
-> UpdateApplication
updateApplication pConfigurationId_ =
UpdateApplication'
{ _uaName = Nothing
, _uaDescription = Nothing
, _uaConfigurationId = pConfigurationId_
}
uaName :: Lens' UpdateApplication (Maybe Text)
uaName = lens _uaName (\ s a -> s{_uaName = a});
uaDescription :: Lens' UpdateApplication (Maybe Text)
uaDescription = lens _uaDescription (\ s a -> s{_uaDescription = a});
uaConfigurationId :: Lens' UpdateApplication Text
uaConfigurationId = lens _uaConfigurationId (\ s a -> s{_uaConfigurationId = a});
instance AWSRequest UpdateApplication where
type Rs UpdateApplication = UpdateApplicationResponse
request = postJSON discovery
response
= receiveEmpty
(\ s h x ->
UpdateApplicationResponse' <$> (pure (fromEnum s)))
instance Hashable UpdateApplication where
instance NFData UpdateApplication where
instance ToHeaders UpdateApplication where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSPoseidonService_V2015_11_01.UpdateApplication"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateApplication where
toJSON UpdateApplication'{..}
= object
(catMaybes
[("name" .=) <$> _uaName,
("description" .=) <$> _uaDescription,
Just ("configurationId" .= _uaConfigurationId)])
instance ToPath UpdateApplication where
toPath = const "/"
instance ToQuery UpdateApplication where
toQuery = const mempty
newtype UpdateApplicationResponse = UpdateApplicationResponse'
{ _uarsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateApplicationResponse
:: Int
-> UpdateApplicationResponse
updateApplicationResponse pResponseStatus_ =
UpdateApplicationResponse' {_uarsResponseStatus = pResponseStatus_}
uarsResponseStatus :: Lens' UpdateApplicationResponse Int
uarsResponseStatus = lens _uarsResponseStatus (\ s a -> s{_uarsResponseStatus = a});
instance NFData UpdateApplicationResponse where