{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.MigrationHub.NotifyMigrationTaskState
(
notifyMigrationTaskState
, NotifyMigrationTaskState
, nmtsDryRun
, nmtsProgressUpdateStream
, nmtsMigrationTaskName
, nmtsTask
, nmtsUpdateDateTime
, nmtsNextUpdateSeconds
, notifyMigrationTaskStateResponse
, NotifyMigrationTaskStateResponse
, nmtsrsResponseStatus
) 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 NotifyMigrationTaskState = NotifyMigrationTaskState'
{ _nmtsDryRun :: !(Maybe Bool)
, _nmtsProgressUpdateStream :: !Text
, _nmtsMigrationTaskName :: !Text
, _nmtsTask :: !Task
, _nmtsUpdateDateTime :: !POSIX
, _nmtsNextUpdateSeconds :: !Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
notifyMigrationTaskState
:: Text
-> Text
-> Task
-> UTCTime
-> Natural
-> NotifyMigrationTaskState
notifyMigrationTaskState pProgressUpdateStream_ pMigrationTaskName_ pTask_ pUpdateDateTime_ pNextUpdateSeconds_ =
NotifyMigrationTaskState'
{ _nmtsDryRun = Nothing
, _nmtsProgressUpdateStream = pProgressUpdateStream_
, _nmtsMigrationTaskName = pMigrationTaskName_
, _nmtsTask = pTask_
, _nmtsUpdateDateTime = _Time # pUpdateDateTime_
, _nmtsNextUpdateSeconds = _Nat # pNextUpdateSeconds_
}
nmtsDryRun :: Lens' NotifyMigrationTaskState (Maybe Bool)
nmtsDryRun = lens _nmtsDryRun (\ s a -> s{_nmtsDryRun = a})
nmtsProgressUpdateStream :: Lens' NotifyMigrationTaskState Text
nmtsProgressUpdateStream = lens _nmtsProgressUpdateStream (\ s a -> s{_nmtsProgressUpdateStream = a})
nmtsMigrationTaskName :: Lens' NotifyMigrationTaskState Text
nmtsMigrationTaskName = lens _nmtsMigrationTaskName (\ s a -> s{_nmtsMigrationTaskName = a})
nmtsTask :: Lens' NotifyMigrationTaskState Task
nmtsTask = lens _nmtsTask (\ s a -> s{_nmtsTask = a})
nmtsUpdateDateTime :: Lens' NotifyMigrationTaskState UTCTime
nmtsUpdateDateTime = lens _nmtsUpdateDateTime (\ s a -> s{_nmtsUpdateDateTime = a}) . _Time
nmtsNextUpdateSeconds :: Lens' NotifyMigrationTaskState Natural
nmtsNextUpdateSeconds = lens _nmtsNextUpdateSeconds (\ s a -> s{_nmtsNextUpdateSeconds = a}) . _Nat
instance AWSRequest NotifyMigrationTaskState where
type Rs NotifyMigrationTaskState =
NotifyMigrationTaskStateResponse
request = postJSON migrationHub
response
= receiveEmpty
(\ s h x ->
NotifyMigrationTaskStateResponse' <$>
(pure (fromEnum s)))
instance Hashable NotifyMigrationTaskState where
instance NFData NotifyMigrationTaskState where
instance ToHeaders NotifyMigrationTaskState where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSMigrationHub.NotifyMigrationTaskState" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON NotifyMigrationTaskState where
toJSON NotifyMigrationTaskState'{..}
= object
(catMaybes
[("DryRun" .=) <$> _nmtsDryRun,
Just
("ProgressUpdateStream" .=
_nmtsProgressUpdateStream),
Just ("MigrationTaskName" .= _nmtsMigrationTaskName),
Just ("Task" .= _nmtsTask),
Just ("UpdateDateTime" .= _nmtsUpdateDateTime),
Just
("NextUpdateSeconds" .= _nmtsNextUpdateSeconds)])
instance ToPath NotifyMigrationTaskState where
toPath = const "/"
instance ToQuery NotifyMigrationTaskState where
toQuery = const mempty
newtype NotifyMigrationTaskStateResponse = NotifyMigrationTaskStateResponse'
{ _nmtsrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
notifyMigrationTaskStateResponse
:: Int
-> NotifyMigrationTaskStateResponse
notifyMigrationTaskStateResponse pResponseStatus_ =
NotifyMigrationTaskStateResponse' {_nmtsrsResponseStatus = pResponseStatus_}
nmtsrsResponseStatus :: Lens' NotifyMigrationTaskStateResponse Int
nmtsrsResponseStatus = lens _nmtsrsResponseStatus (\ s a -> s{_nmtsrsResponseStatus = a})
instance NFData NotifyMigrationTaskStateResponse
where