module Network.Google.Resource.TaskQueue.Tasks.Update
(
TasksUpdateResource
, tasksUpdate
, TasksUpdate
, tuTaskQueue
, tuProject
, tuPayload
, tuTask
, tuNewLeaseSeconds
) where
import Network.Google.Prelude
import Network.Google.TaskQueue.Types
type TasksUpdateResource =
"taskqueue" :>
"v1beta2" :>
"projects" :>
Capture "project" Text :>
"taskqueues" :>
Capture "taskqueue" Text :>
"tasks" :>
Capture "task" Text :>
QueryParam "newLeaseSeconds" (Textual Int32) :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] Task :> Post '[JSON] Task
data TasksUpdate = TasksUpdate'
{ _tuTaskQueue :: !Text
, _tuProject :: !Text
, _tuPayload :: !Task
, _tuTask :: !Text
, _tuNewLeaseSeconds :: !(Textual Int32)
} deriving (Eq,Show,Data,Typeable,Generic)
tasksUpdate
:: Text
-> Text
-> Task
-> Text
-> Int32
-> TasksUpdate
tasksUpdate pTuTaskQueue_ pTuProject_ pTuPayload_ pTuTask_ pTuNewLeaseSeconds_ =
TasksUpdate'
{ _tuTaskQueue = pTuTaskQueue_
, _tuProject = pTuProject_
, _tuPayload = pTuPayload_
, _tuTask = pTuTask_
, _tuNewLeaseSeconds = _Coerce # pTuNewLeaseSeconds_
}
tuTaskQueue :: Lens' TasksUpdate Text
tuTaskQueue
= lens _tuTaskQueue (\ s a -> s{_tuTaskQueue = a})
tuProject :: Lens' TasksUpdate Text
tuProject
= lens _tuProject (\ s a -> s{_tuProject = a})
tuPayload :: Lens' TasksUpdate Task
tuPayload
= lens _tuPayload (\ s a -> s{_tuPayload = a})
tuTask :: Lens' TasksUpdate Text
tuTask = lens _tuTask (\ s a -> s{_tuTask = a})
tuNewLeaseSeconds :: Lens' TasksUpdate Int32
tuNewLeaseSeconds
= lens _tuNewLeaseSeconds
(\ s a -> s{_tuNewLeaseSeconds = a})
. _Coerce
instance GoogleRequest TasksUpdate where
type Rs TasksUpdate = Task
type Scopes TasksUpdate =
'["https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"]
requestClient TasksUpdate'{..}
= go _tuProject _tuTaskQueue _tuTask
(Just _tuNewLeaseSeconds)
(Just AltJSON)
_tuPayload
taskQueueService
where go
= buildClient (Proxy :: Proxy TasksUpdateResource)
mempty