module Network.AWS.MigrationHub.NotifyApplicationState
(
notifyApplicationState
, NotifyApplicationState
, nasDryRun
, nasApplicationId
, nasStatus
, notifyApplicationStateResponse
, NotifyApplicationStateResponse
, nasrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MigrationHub.Types
import Network.AWS.MigrationHub.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data NotifyApplicationState = NotifyApplicationState'
{ _nasDryRun :: !(Maybe Bool)
, _nasApplicationId :: !Text
, _nasStatus :: !ApplicationStatus
} deriving (Eq, Read, Show, Data, Typeable, Generic)
notifyApplicationState
:: Text
-> ApplicationStatus
-> NotifyApplicationState
notifyApplicationState pApplicationId_ pStatus_ =
NotifyApplicationState'
{ _nasDryRun = Nothing
, _nasApplicationId = pApplicationId_
, _nasStatus = pStatus_
}
nasDryRun :: Lens' NotifyApplicationState (Maybe Bool)
nasDryRun = lens _nasDryRun (\ s a -> s{_nasDryRun = a});
nasApplicationId :: Lens' NotifyApplicationState Text
nasApplicationId = lens _nasApplicationId (\ s a -> s{_nasApplicationId = a});
nasStatus :: Lens' NotifyApplicationState ApplicationStatus
nasStatus = lens _nasStatus (\ s a -> s{_nasStatus = a});
instance AWSRequest NotifyApplicationState where
type Rs NotifyApplicationState =
NotifyApplicationStateResponse
request = postJSON migrationHub
response
= receiveEmpty
(\ s h x ->
NotifyApplicationStateResponse' <$>
(pure (fromEnum s)))
instance Hashable NotifyApplicationState where
instance NFData NotifyApplicationState where
instance ToHeaders NotifyApplicationState where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSMigrationHub.NotifyApplicationState" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON NotifyApplicationState where
toJSON NotifyApplicationState'{..}
= object
(catMaybes
[("DryRun" .=) <$> _nasDryRun,
Just ("ApplicationId" .= _nasApplicationId),
Just ("Status" .= _nasStatus)])
instance ToPath NotifyApplicationState where
toPath = const "/"
instance ToQuery NotifyApplicationState where
toQuery = const mempty
newtype NotifyApplicationStateResponse = NotifyApplicationStateResponse'
{ _nasrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
notifyApplicationStateResponse
:: Int
-> NotifyApplicationStateResponse
notifyApplicationStateResponse pResponseStatus_ =
NotifyApplicationStateResponse' {_nasrsResponseStatus = pResponseStatus_}
nasrsResponseStatus :: Lens' NotifyApplicationStateResponse Int
nasrsResponseStatus = lens _nasrsResponseStatus (\ s a -> s{_nasrsResponseStatus = a});
instance NFData NotifyApplicationStateResponse where