module Network.Google.Resource.TaskQueue.Tasks.Lease
(
TasksLeaseResource
, tasksLease
, TasksLease
, tlTaskQueue
, tlTag
, tlProject
, tlNumTasks
, tlLeaseSecs
, tlGroupByTag
) where
import Network.Google.Prelude
import Network.Google.TaskQueue.Types
type TasksLeaseResource =
"taskqueue" :>
"v1beta2" :>
"projects" :>
Capture "project" Text :>
"taskqueues" :>
Capture "taskqueue" Text :>
"tasks" :>
"lease" :>
QueryParam "numTasks" (Textual Int32) :>
QueryParam "leaseSecs" (Textual Int32) :>
QueryParam "tag" Text :>
QueryParam "groupByTag" Bool :>
QueryParam "alt" AltJSON :> Post '[JSON] Tasks
data TasksLease = TasksLease'
{ _tlTaskQueue :: !Text
, _tlTag :: !(Maybe Text)
, _tlProject :: !Text
, _tlNumTasks :: !(Textual Int32)
, _tlLeaseSecs :: !(Textual Int32)
, _tlGroupByTag :: !(Maybe Bool)
} deriving (Eq,Show,Data,Typeable,Generic)
tasksLease
:: Text
-> Text
-> Int32
-> Int32
-> TasksLease
tasksLease pTlTaskQueue_ pTlProject_ pTlNumTasks_ pTlLeaseSecs_ =
TasksLease'
{ _tlTaskQueue = pTlTaskQueue_
, _tlTag = Nothing
, _tlProject = pTlProject_
, _tlNumTasks = _Coerce # pTlNumTasks_
, _tlLeaseSecs = _Coerce # pTlLeaseSecs_
, _tlGroupByTag = Nothing
}
tlTaskQueue :: Lens' TasksLease Text
tlTaskQueue
= lens _tlTaskQueue (\ s a -> s{_tlTaskQueue = a})
tlTag :: Lens' TasksLease (Maybe Text)
tlTag = lens _tlTag (\ s a -> s{_tlTag = a})
tlProject :: Lens' TasksLease Text
tlProject
= lens _tlProject (\ s a -> s{_tlProject = a})
tlNumTasks :: Lens' TasksLease Int32
tlNumTasks
= lens _tlNumTasks (\ s a -> s{_tlNumTasks = a}) .
_Coerce
tlLeaseSecs :: Lens' TasksLease Int32
tlLeaseSecs
= lens _tlLeaseSecs (\ s a -> s{_tlLeaseSecs = a}) .
_Coerce
tlGroupByTag :: Lens' TasksLease (Maybe Bool)
tlGroupByTag
= lens _tlGroupByTag (\ s a -> s{_tlGroupByTag = a})
instance GoogleRequest TasksLease where
type Rs TasksLease = Tasks
type Scopes TasksLease =
'["https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"]
requestClient TasksLease'{..}
= go _tlProject _tlTaskQueue (Just _tlNumTasks)
(Just _tlLeaseSecs)
_tlTag
_tlGroupByTag
(Just AltJSON)
taskQueueService
where go
= buildClient (Proxy :: Proxy TasksLeaseResource)
mempty