-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Google TaskQueue SDK.
--
-- Accesses a Google App Engine Pull Task Queue over REST.
--
-- Warning: This is an experimental prototype/preview release
-- which is still under exploratory development and not intended for
-- public use, caveat emptor!
--
-- This library is compatible with version v1beta2 of the API.
@package gogol-taskqueue
@version 0.3.0
module Network.Google.TaskQueue.Types
-- | Default request referring to version v1beta2 of the TaskQueue
-- API. This contains the host and root path used as a starting point for
-- constructing service requests.
taskQueueService :: ServiceConfig
-- | Consume Tasks from your Taskqueues
taskQueueConsumerScope :: Proxy '["https://www.googleapis.com/auth/taskqueue.consumer"]
-- | Manage your Tasks and Taskqueues
taskQueueScope :: Proxy '["https://www.googleapis.com/auth/taskqueue"]
data Tasks2
-- | Creates a value of Tasks2 with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasks2 :: Tasks2
-- | The kind of object returned, a list of tasks.
tKind :: Lens' Tasks2 Text
-- | The actual list of tasks currently active in the TaskQueue.
tItems :: Lens' Tasks2 [Task]
data TaskQueue
-- | Creates a value of TaskQueue with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
taskQueue :: TaskQueue
-- | The kind of REST object returned, in this case taskqueue.
tqKind :: Lens' TaskQueue Text
-- | Statistics for the TaskQueue object in question.
tqStats :: Lens' TaskQueue (Maybe TaskQueueStats)
-- | The number of times we should lease out tasks before giving up on
-- them. If unset we lease them out forever until a worker deletes the
-- task.
tqMaxLeases :: Lens' TaskQueue (Maybe Int32)
-- | Name of the taskqueue.
tqId :: Lens' TaskQueue (Maybe Text)
-- | ACLs that are applicable to this TaskQueue object.
tqACL :: Lens' TaskQueue (Maybe TaskQueueACL)
-- | ACLs that are applicable to this TaskQueue object.
--
-- See: taskQueueACL smart constructor.
data TaskQueueACL
-- | Creates a value of TaskQueueACL with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
taskQueueACL :: TaskQueueACL
-- | Email addresses of users who can "produce" tasks into the TaskQueue.
-- This means they can Insert tasks into the queue.
tqaProducerEmails :: Lens' TaskQueueACL [Text]
-- | Email addresses of users who are "admins" of the TaskQueue. This means
-- they can control the queue, eg set ACLs for the queue.
tqaAdminEmails :: Lens' TaskQueueACL [Text]
-- | Email addresses of users who can "consume" tasks from the TaskQueue.
-- This means they can Dequeue and Delete tasks from the queue.
tqaConsumerEmails :: Lens' TaskQueueACL [Text]
-- | Statistics for the TaskQueue object in question.
--
-- See: taskQueueStats smart constructor.
data TaskQueueStats
-- | Creates a value of TaskQueueStats with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
taskQueueStats :: TaskQueueStats
-- | Number of tasks in the queue.
tqsTotalTasks :: Lens' TaskQueueStats (Maybe Int32)
-- | The timestamp (in seconds since the epoch) of the oldest unfinished
-- task.
tqsOldestTask :: Lens' TaskQueueStats (Maybe Int64)
-- | Number of tasks leased in the last hour.
tqsLeasedLastHour :: Lens' TaskQueueStats (Maybe Int64)
-- | Number of tasks leased in the last minute.
tqsLeasedLastMinute :: Lens' TaskQueueStats (Maybe Int64)
data Tasks
-- | Creates a value of Tasks with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasks :: Tasks
-- | The kind of object returned, a list of tasks.
tasKind :: Lens' Tasks Text
-- | The actual list of tasks returned as a result of the lease operation.
tasItems :: Lens' Tasks [Task]
data Task
-- | Creates a value of Task with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
task :: Task
-- | The number of leases applied to this task.
ttRetryCount :: Lens' Task (Maybe Int32)
-- | Time (in seconds since the epoch) at which the task was enqueued.
ttEnQueueTimestamp :: Lens' Task (Maybe Int64)
-- | Tag for the task, could be used later to lease tasks grouped by a
-- specific tag.
ttTag :: Lens' Task (Maybe Text)
-- | The kind of object returned, in this case set to task.
ttKind :: Lens' Task Text
-- | Name of the queue that the task is in.
ttQueueName :: Lens' Task (Maybe Text)
-- | A bag of bytes which is the task payload. The payload on the JSON side
-- is always Base64 encoded.
ttPayloadBase64 :: Lens' Task (Maybe Text)
-- | Name of the task.
ttId :: Lens' Task (Maybe Text)
-- | Time (in seconds since the epoch) at which the task lease will expire.
-- This value is 0 if the task isnt currently leased out to a worker.
ttLeaseTimestamp :: Lens' Task (Maybe Int64)
-- | Update tasks that are leased out of a TaskQueue.
--
-- See: TaskQueue API Reference for
-- taskqueue.tasks.update.
module Network.Google.Resource.TaskQueue.Tasks.Update
-- | A resource alias for taskqueue.tasks.update method which the
-- TasksUpdate request conforms to.
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))))))))))
-- | Creates a value of TasksUpdate with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasksUpdate :: Text -> Text -> Task -> Text -> Int32 -> TasksUpdate
-- | Update tasks that are leased out of a TaskQueue.
--
-- See: tasksUpdate smart constructor.
data TasksUpdate
tuTaskQueue :: Lens' TasksUpdate Text
-- | The project under which the queue lies.
tuProject :: Lens' TasksUpdate Text
-- | Multipart request metadata.
tuPayload :: Lens' TasksUpdate Task
tuTask :: Lens' TasksUpdate Text
-- | The new lease in seconds.
tuNewLeaseSeconds :: Lens' TasksUpdate Int32
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.Tasks.Update.TasksUpdate
instance Data.Data.Data Network.Google.Resource.TaskQueue.Tasks.Update.TasksUpdate
instance GHC.Show.Show Network.Google.Resource.TaskQueue.Tasks.Update.TasksUpdate
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.Tasks.Update.TasksUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.Tasks.Update.TasksUpdate
-- | Update tasks that are leased out of a TaskQueue. This method supports
-- patch semantics.
--
-- See: TaskQueue API Reference for
-- taskqueue.tasks.patch.
module Network.Google.Resource.TaskQueue.Tasks.Patch
-- | A resource alias for taskqueue.tasks.patch method which the
-- TasksPatch request conforms to.
type TasksPatchResource = "taskqueue" :> ("v1beta2" :> ("projects" :> (Capture "project" Text :> ("taskqueues" :> (Capture "taskqueue" Text :> ("tasks" :> (Capture "task" Text :> (QueryParam "newLeaseSeconds" (Textual Int32) :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Task :> Patch '[JSON] Task))))))))))
-- | Creates a value of TasksPatch with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasksPatch :: Text -> Text -> Task -> Text -> Int32 -> TasksPatch
-- | Update tasks that are leased out of a TaskQueue. This method supports
-- patch semantics.
--
-- See: tasksPatch smart constructor.
data TasksPatch
tpTaskQueue :: Lens' TasksPatch Text
-- | The project under which the queue lies.
tpProject :: Lens' TasksPatch Text
-- | Multipart request metadata.
tpPayload :: Lens' TasksPatch Task
tpTask :: Lens' TasksPatch Text
-- | The new lease in seconds.
tpNewLeaseSeconds :: Lens' TasksPatch Int32
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.Tasks.Patch.TasksPatch
instance Data.Data.Data Network.Google.Resource.TaskQueue.Tasks.Patch.TasksPatch
instance GHC.Show.Show Network.Google.Resource.TaskQueue.Tasks.Patch.TasksPatch
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.Tasks.Patch.TasksPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.Tasks.Patch.TasksPatch
-- | List Tasks in a TaskQueue
--
-- See: TaskQueue API Reference for
-- taskqueue.tasks.list.
module Network.Google.Resource.TaskQueue.Tasks.List
-- | A resource alias for taskqueue.tasks.list method which the
-- TasksList request conforms to.
type TasksListResource = "taskqueue" :> ("v1beta2" :> ("projects" :> (Capture "project" Text :> ("taskqueues" :> (Capture "taskqueue" Text :> ("tasks" :> (QueryParam "alt" AltJSON :> Get '[JSON] Tasks2)))))))
-- | Creates a value of TasksList with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasksList :: Text -> Text -> TasksList
-- | List Tasks in a TaskQueue
--
-- See: tasksList smart constructor.
data TasksList
-- | The id of the taskqueue to list tasks from.
tTaskQueue :: Lens' TasksList Text
-- | The project under which the queue lies.
tProject :: Lens' TasksList Text
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.Tasks.List.TasksList
instance Data.Data.Data Network.Google.Resource.TaskQueue.Tasks.List.TasksList
instance GHC.Show.Show Network.Google.Resource.TaskQueue.Tasks.List.TasksList
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.Tasks.List.TasksList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.Tasks.List.TasksList
-- | Lease 1 or more tasks from a TaskQueue.
--
-- See: TaskQueue API Reference for
-- taskqueue.tasks.lease.
module Network.Google.Resource.TaskQueue.Tasks.Lease
-- | A resource alias for taskqueue.tasks.lease method which the
-- TasksLease request conforms to.
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))))))))))))
-- | Creates a value of TasksLease with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasksLease :: Text -> Text -> Int32 -> Int32 -> TasksLease
-- | Lease 1 or more tasks from a TaskQueue.
--
-- See: tasksLease smart constructor.
data TasksLease
-- | The taskqueue to lease a task from.
tlTaskQueue :: Lens' TasksLease Text
-- | The tag allowed for tasks in the response. Must only be specified if
-- group_by_tag is true. If group_by_tag is true and tag is not specified
-- the tag will be that of the oldest task by eta, i.e. the first
-- available tag
tlTag :: Lens' TasksLease (Maybe Text)
-- | The project under which the queue lies.
tlProject :: Lens' TasksLease Text
-- | The number of tasks to lease.
tlNumTasks :: Lens' TasksLease Int32
-- | The lease in seconds.
tlLeaseSecs :: Lens' TasksLease Int32
-- | When true, all returned tasks will have the same tag
tlGroupByTag :: Lens' TasksLease (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.Tasks.Lease.TasksLease
instance Data.Data.Data Network.Google.Resource.TaskQueue.Tasks.Lease.TasksLease
instance GHC.Show.Show Network.Google.Resource.TaskQueue.Tasks.Lease.TasksLease
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.Tasks.Lease.TasksLease
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.Tasks.Lease.TasksLease
-- | Insert a new task in a TaskQueue
--
-- See: TaskQueue API Reference for
-- taskqueue.tasks.insert.
module Network.Google.Resource.TaskQueue.Tasks.Insert
-- | A resource alias for taskqueue.tasks.insert method which the
-- TasksInsert request conforms to.
type TasksInsertResource = "taskqueue" :> ("v1beta2" :> ("projects" :> (Capture "project" Text :> ("taskqueues" :> (Capture "taskqueue" Text :> ("tasks" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Task :> Post '[JSON] Task))))))))
-- | Creates a value of TasksInsert with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasksInsert :: Text -> Text -> Task -> TasksInsert
-- | Insert a new task in a TaskQueue
--
-- See: tasksInsert smart constructor.
data TasksInsert
-- | The taskqueue to insert the task into
tiTaskQueue :: Lens' TasksInsert Text
-- | The project under which the queue lies
tiProject :: Lens' TasksInsert Text
-- | Multipart request metadata.
tiPayload :: Lens' TasksInsert Task
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.Tasks.Insert.TasksInsert
instance Data.Data.Data Network.Google.Resource.TaskQueue.Tasks.Insert.TasksInsert
instance GHC.Show.Show Network.Google.Resource.TaskQueue.Tasks.Insert.TasksInsert
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.Tasks.Insert.TasksInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.Tasks.Insert.TasksInsert
-- | Get a particular task from a TaskQueue.
--
-- See: TaskQueue API Reference for
-- taskqueue.tasks.get.
module Network.Google.Resource.TaskQueue.Tasks.Get
-- | A resource alias for taskqueue.tasks.get method which the
-- TasksGet request conforms to.
type TasksGetResource = "taskqueue" :> ("v1beta2" :> ("projects" :> (Capture "project" Text :> ("taskqueues" :> (Capture "taskqueue" Text :> ("tasks" :> (Capture "task" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Task))))))))
-- | Creates a value of TasksGet with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasksGet :: Text -> Text -> Text -> TasksGet
-- | Get a particular task from a TaskQueue.
--
-- See: tasksGet smart constructor.
data TasksGet
-- | The taskqueue in which the task belongs.
tgTaskQueue :: Lens' TasksGet Text
-- | The project under which the queue lies.
tgProject :: Lens' TasksGet Text
-- | The task to get properties of.
tgTask :: Lens' TasksGet Text
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.Tasks.Get.TasksGet
instance Data.Data.Data Network.Google.Resource.TaskQueue.Tasks.Get.TasksGet
instance GHC.Show.Show Network.Google.Resource.TaskQueue.Tasks.Get.TasksGet
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.Tasks.Get.TasksGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.Tasks.Get.TasksGet
-- | Delete a task from a TaskQueue.
--
-- See: TaskQueue API Reference for
-- taskqueue.tasks.delete.
module Network.Google.Resource.TaskQueue.Tasks.Delete
-- | A resource alias for taskqueue.tasks.delete method which the
-- TasksDelete request conforms to.
type TasksDeleteResource = "taskqueue" :> ("v1beta2" :> ("projects" :> (Capture "project" Text :> ("taskqueues" :> (Capture "taskqueue" Text :> ("tasks" :> (Capture "task" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))
-- | Creates a value of TasksDelete with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasksDelete :: Text -> Text -> Text -> TasksDelete
-- | Delete a task from a TaskQueue.
--
-- See: tasksDelete smart constructor.
data TasksDelete
-- | The taskqueue to delete a task from.
tdTaskQueue :: Lens' TasksDelete Text
-- | The project under which the queue lies.
tdProject :: Lens' TasksDelete Text
-- | The id of the task to delete.
tdTask :: Lens' TasksDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.Tasks.Delete.TasksDelete
instance Data.Data.Data Network.Google.Resource.TaskQueue.Tasks.Delete.TasksDelete
instance GHC.Show.Show Network.Google.Resource.TaskQueue.Tasks.Delete.TasksDelete
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.Tasks.Delete.TasksDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.Tasks.Delete.TasksDelete
-- | Get detailed information about a TaskQueue.
--
-- See: TaskQueue API Reference for
-- taskqueue.taskqueues.get.
module Network.Google.Resource.TaskQueue.TaskQueues.Get
-- | A resource alias for taskqueue.taskqueues.get method which
-- the TaskQueuesGet request conforms to.
type TaskQueuesGetResource = "taskqueue" :> ("v1beta2" :> ("projects" :> (Capture "project" Text :> ("taskqueues" :> (Capture "taskqueue" Text :> (QueryParam "getStats" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] TaskQueue)))))))
-- | Creates a value of TaskQueuesGet with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
taskQueuesGet :: Text -> Text -> TaskQueuesGet
-- | Get detailed information about a TaskQueue.
--
-- See: taskQueuesGet smart constructor.
data TaskQueuesGet
-- | The id of the taskqueue to get the properties of.
tqgTaskQueue :: Lens' TaskQueuesGet Text
-- | The project under which the queue lies.
tqgProject :: Lens' TaskQueuesGet Text
-- | Whether to get stats. Optional.
tqgGetStats :: Lens' TaskQueuesGet (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.TaskQueue.TaskQueues.Get.TaskQueuesGet
instance Data.Data.Data Network.Google.Resource.TaskQueue.TaskQueues.Get.TaskQueuesGet
instance GHC.Show.Show Network.Google.Resource.TaskQueue.TaskQueues.Get.TaskQueuesGet
instance GHC.Classes.Eq Network.Google.Resource.TaskQueue.TaskQueues.Get.TaskQueuesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TaskQueue.TaskQueues.Get.TaskQueuesGet
-- | Accesses a Google App Engine Pull Task Queue over REST.
--
-- See: TaskQueue API Reference
module Network.Google.TaskQueue
-- | Default request referring to version v1beta2 of the TaskQueue
-- API. This contains the host and root path used as a starting point for
-- constructing service requests.
taskQueueService :: ServiceConfig
-- | Consume Tasks from your Taskqueues
taskQueueConsumerScope :: Proxy '["https://www.googleapis.com/auth/taskqueue.consumer"]
-- | Manage your Tasks and Taskqueues
taskQueueScope :: Proxy '["https://www.googleapis.com/auth/taskqueue"]
-- | Represents the entirety of the methods and resources available for the
-- TaskQueue API service.
type TaskQueueAPI = TasksInsertResource :<|> (TasksListResource :<|> (TasksPatchResource :<|> (TasksGetResource :<|> (TasksLeaseResource :<|> (TasksDeleteResource :<|> (TasksUpdateResource :<|> TaskQueuesGetResource))))))
data Tasks2
-- | Creates a value of Tasks2 with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasks2 :: Tasks2
-- | The kind of object returned, a list of tasks.
tKind :: Lens' Tasks2 Text
-- | The actual list of tasks currently active in the TaskQueue.
tItems :: Lens' Tasks2 [Task]
data TaskQueue
-- | Creates a value of TaskQueue with the minimum fields required
-- to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
taskQueue :: TaskQueue
-- | The kind of REST object returned, in this case taskqueue.
tqKind :: Lens' TaskQueue Text
-- | Statistics for the TaskQueue object in question.
tqStats :: Lens' TaskQueue (Maybe TaskQueueStats)
-- | The number of times we should lease out tasks before giving up on
-- them. If unset we lease them out forever until a worker deletes the
-- task.
tqMaxLeases :: Lens' TaskQueue (Maybe Int32)
-- | Name of the taskqueue.
tqId :: Lens' TaskQueue (Maybe Text)
-- | ACLs that are applicable to this TaskQueue object.
tqACL :: Lens' TaskQueue (Maybe TaskQueueACL)
-- | ACLs that are applicable to this TaskQueue object.
--
-- See: taskQueueACL smart constructor.
data TaskQueueACL
-- | Creates a value of TaskQueueACL with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
taskQueueACL :: TaskQueueACL
-- | Email addresses of users who can "produce" tasks into the TaskQueue.
-- This means they can Insert tasks into the queue.
tqaProducerEmails :: Lens' TaskQueueACL [Text]
-- | Email addresses of users who are "admins" of the TaskQueue. This means
-- they can control the queue, eg set ACLs for the queue.
tqaAdminEmails :: Lens' TaskQueueACL [Text]
-- | Email addresses of users who can "consume" tasks from the TaskQueue.
-- This means they can Dequeue and Delete tasks from the queue.
tqaConsumerEmails :: Lens' TaskQueueACL [Text]
-- | Statistics for the TaskQueue object in question.
--
-- See: taskQueueStats smart constructor.
data TaskQueueStats
-- | Creates a value of TaskQueueStats with the minimum fields
-- required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
taskQueueStats :: TaskQueueStats
-- | Number of tasks in the queue.
tqsTotalTasks :: Lens' TaskQueueStats (Maybe Int32)
-- | The timestamp (in seconds since the epoch) of the oldest unfinished
-- task.
tqsOldestTask :: Lens' TaskQueueStats (Maybe Int64)
-- | Number of tasks leased in the last hour.
tqsLeasedLastHour :: Lens' TaskQueueStats (Maybe Int64)
-- | Number of tasks leased in the last minute.
tqsLeasedLastMinute :: Lens' TaskQueueStats (Maybe Int64)
data Tasks
-- | Creates a value of Tasks with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
tasks :: Tasks
-- | The kind of object returned, a list of tasks.
tasKind :: Lens' Tasks Text
-- | The actual list of tasks returned as a result of the lease operation.
tasItems :: Lens' Tasks [Task]
data Task
-- | Creates a value of Task with the minimum fields required to
-- make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
--
task :: Task
-- | The number of leases applied to this task.
ttRetryCount :: Lens' Task (Maybe Int32)
-- | Time (in seconds since the epoch) at which the task was enqueued.
ttEnQueueTimestamp :: Lens' Task (Maybe Int64)
-- | Tag for the task, could be used later to lease tasks grouped by a
-- specific tag.
ttTag :: Lens' Task (Maybe Text)
-- | The kind of object returned, in this case set to task.
ttKind :: Lens' Task Text
-- | Name of the queue that the task is in.
ttQueueName :: Lens' Task (Maybe Text)
-- | A bag of bytes which is the task payload. The payload on the JSON side
-- is always Base64 encoded.
ttPayloadBase64 :: Lens' Task (Maybe Text)
-- | Name of the task.
ttId :: Lens' Task (Maybe Text)
-- | Time (in seconds since the epoch) at which the task lease will expire.
-- This value is 0 if the task isnt currently leased out to a worker.
ttLeaseTimestamp :: Lens' Task (Maybe Int64)