Files
fn-serverless/vendor/google.golang.org/api/taskqueue/v1beta2/taskqueue-api.json
Reed Allman 9eaf824398 add jaeger support, link hot container & req span (#840)
* add jaeger support, link hot container & req span

* adds jaeger support now with FN_JAEGER_URL, there's a simple tutorial in the
operating/metrics.md file now and it's pretty easy to get up and running.
* links a hot request span to a hot container span. when we change this to
sample at a lower ratio we'll need to finagle the hot container span to always
sample or something, otherwise we'll hide that info. at least, since we're
sampling at 100% for now if this is flipped on, can see freeze/unfreeze etc.
if they hit. this is useful for debugging. note that zipkin's exporter does
not follow the link at all, hence jaeger... and they're backed by the Cloud
Empire now (CNCF) so we'll probably use it anyway.

* vendor: add thrift for jaeger
2018-03-13 15:57:12 -07:00

569 lines
18 KiB
JSON

{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/taskqueue": {
"description": "Manage your Tasks and Taskqueues"
},
"https://www.googleapis.com/auth/taskqueue.consumer": {
"description": "Consume Tasks from your Taskqueues"
}
}
}
},
"basePath": "/taskqueue/v1beta2/projects/",
"baseUrl": "https://www.googleapis.com/taskqueue/v1beta2/projects/",
"batchPath": "batch/taskqueue/v1beta2",
"description": "Accesses a Google App Engine Pull Task Queue over REST.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/appengine/docs/python/taskqueue/rest",
"etag": "\"-iA1DTNe4s-I6JZXPt1t1Ypy8IU/rBU1z2tHcOAAx8ktsJNBvusBoYw\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/app_engine-16.png",
"x32": "https://www.google.com/images/icons/product/app_engine-32.png"
},
"id": "taskqueue:v1beta2",
"kind": "discovery#restDescription",
"name": "taskqueue",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"taskqueues": {
"methods": {
"get": {
"description": "Get detailed information about a TaskQueue.",
"httpMethod": "GET",
"id": "taskqueue.taskqueues.get",
"parameterOrder": [
"project",
"taskqueue"
],
"parameters": {
"getStats": {
"description": "Whether to get stats. Optional.",
"location": "query",
"type": "boolean"
},
"project": {
"description": "The project under which the queue lies.",
"location": "path",
"required": true,
"type": "string"
},
"taskqueue": {
"description": "The id of the taskqueue to get the properties of.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}",
"response": {
"$ref": "TaskQueue"
},
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
}
}
},
"tasks": {
"methods": {
"delete": {
"description": "Delete a task from a TaskQueue.",
"httpMethod": "DELETE",
"id": "taskqueue.tasks.delete",
"parameterOrder": [
"project",
"taskqueue",
"task"
],
"parameters": {
"project": {
"description": "The project under which the queue lies.",
"location": "path",
"required": true,
"type": "string"
},
"task": {
"description": "The id of the task to delete.",
"location": "path",
"required": true,
"type": "string"
},
"taskqueue": {
"description": "The taskqueue to delete a task from.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}/tasks/{task}",
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
},
"get": {
"description": "Get a particular task from a TaskQueue.",
"httpMethod": "GET",
"id": "taskqueue.tasks.get",
"parameterOrder": [
"project",
"taskqueue",
"task"
],
"parameters": {
"project": {
"description": "The project under which the queue lies.",
"location": "path",
"required": true,
"type": "string"
},
"task": {
"description": "The task to get properties of.",
"location": "path",
"required": true,
"type": "string"
},
"taskqueue": {
"description": "The taskqueue in which the task belongs.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}/tasks/{task}",
"response": {
"$ref": "Task"
},
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
},
"insert": {
"description": "Insert a new task in a TaskQueue",
"httpMethod": "POST",
"id": "taskqueue.tasks.insert",
"parameterOrder": [
"project",
"taskqueue"
],
"parameters": {
"project": {
"description": "The project under which the queue lies",
"location": "path",
"required": true,
"type": "string"
},
"taskqueue": {
"description": "The taskqueue to insert the task into",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}/tasks",
"request": {
"$ref": "Task"
},
"response": {
"$ref": "Task"
},
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
},
"lease": {
"description": "Lease 1 or more tasks from a TaskQueue.",
"httpMethod": "POST",
"id": "taskqueue.tasks.lease",
"parameterOrder": [
"project",
"taskqueue",
"numTasks",
"leaseSecs"
],
"parameters": {
"groupByTag": {
"description": "When true, all returned tasks will have the same tag",
"location": "query",
"type": "boolean"
},
"leaseSecs": {
"description": "The lease in seconds.",
"format": "int32",
"location": "query",
"required": true,
"type": "integer"
},
"numTasks": {
"description": "The number of tasks to lease.",
"format": "int32",
"location": "query",
"required": true,
"type": "integer"
},
"project": {
"description": "The project under which the queue lies.",
"location": "path",
"required": true,
"type": "string"
},
"tag": {
"description": "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",
"location": "query",
"type": "string"
},
"taskqueue": {
"description": "The taskqueue to lease a task from.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}/tasks/lease",
"response": {
"$ref": "Tasks"
},
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
},
"list": {
"description": "List Tasks in a TaskQueue",
"httpMethod": "GET",
"id": "taskqueue.tasks.list",
"parameterOrder": [
"project",
"taskqueue"
],
"parameters": {
"project": {
"description": "The project under which the queue lies.",
"location": "path",
"required": true,
"type": "string"
},
"taskqueue": {
"description": "The id of the taskqueue to list tasks from.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}/tasks",
"response": {
"$ref": "Tasks2"
},
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
},
"patch": {
"description": "Update tasks that are leased out of a TaskQueue. This method supports patch semantics.",
"httpMethod": "PATCH",
"id": "taskqueue.tasks.patch",
"parameterOrder": [
"project",
"taskqueue",
"task",
"newLeaseSeconds"
],
"parameters": {
"newLeaseSeconds": {
"description": "The new lease in seconds.",
"format": "int32",
"location": "query",
"required": true,
"type": "integer"
},
"project": {
"description": "The project under which the queue lies.",
"location": "path",
"required": true,
"type": "string"
},
"task": {
"location": "path",
"required": true,
"type": "string"
},
"taskqueue": {
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}/tasks/{task}",
"request": {
"$ref": "Task"
},
"response": {
"$ref": "Task"
},
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
},
"update": {
"description": "Update tasks that are leased out of a TaskQueue.",
"httpMethod": "POST",
"id": "taskqueue.tasks.update",
"parameterOrder": [
"project",
"taskqueue",
"task",
"newLeaseSeconds"
],
"parameters": {
"newLeaseSeconds": {
"description": "The new lease in seconds.",
"format": "int32",
"location": "query",
"required": true,
"type": "integer"
},
"project": {
"description": "The project under which the queue lies.",
"location": "path",
"required": true,
"type": "string"
},
"task": {
"location": "path",
"required": true,
"type": "string"
},
"taskqueue": {
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{project}/taskqueues/{taskqueue}/tasks/{task}",
"request": {
"$ref": "Task"
},
"response": {
"$ref": "Task"
},
"scopes": [
"https://www.googleapis.com/auth/taskqueue",
"https://www.googleapis.com/auth/taskqueue.consumer"
]
}
}
}
},
"revision": "20160428",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"Task": {
"id": "Task",
"properties": {
"enqueueTimestamp": {
"description": "Time (in seconds since the epoch) at which the task was enqueued.",
"format": "int64",
"type": "string"
},
"id": {
"description": "Name of the task.",
"type": "string"
},
"kind": {
"default": "taskqueues#task",
"description": "The kind of object returned, in this case set to task.",
"type": "string"
},
"leaseTimestamp": {
"description": "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.",
"format": "int64",
"type": "string"
},
"payloadBase64": {
"description": "A bag of bytes which is the task payload. The payload on the JSON side is always Base64 encoded.",
"type": "string"
},
"queueName": {
"description": "Name of the queue that the task is in.",
"type": "string"
},
"retry_count": {
"description": "The number of leases applied to this task.",
"format": "int32",
"type": "integer"
},
"tag": {
"description": "Tag for the task, could be used later to lease tasks grouped by a specific tag.",
"type": "string"
}
},
"type": "object"
},
"TaskQueue": {
"id": "TaskQueue",
"properties": {
"acl": {
"description": "ACLs that are applicable to this TaskQueue object.",
"properties": {
"adminEmails": {
"description": "Email addresses of users who are \"admins\" of the TaskQueue. This means they can control the queue, eg set ACLs for the queue.",
"items": {
"type": "string"
},
"type": "array"
},
"consumerEmails": {
"description": "Email addresses of users who can \"consume\" tasks from the TaskQueue. This means they can Dequeue and Delete tasks from the queue.",
"items": {
"type": "string"
},
"type": "array"
},
"producerEmails": {
"description": "Email addresses of users who can \"produce\" tasks into the TaskQueue. This means they can Insert tasks into the queue.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "Name of the taskqueue.",
"type": "string"
},
"kind": {
"default": "taskqueues#taskqueue",
"description": "The kind of REST object returned, in this case taskqueue.",
"type": "string"
},
"maxLeases": {
"description": "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.",
"format": "int32",
"type": "integer"
},
"stats": {
"description": "Statistics for the TaskQueue object in question.",
"properties": {
"leasedLastHour": {
"description": "Number of tasks leased in the last hour.",
"format": "int64",
"type": "string"
},
"leasedLastMinute": {
"description": "Number of tasks leased in the last minute.",
"format": "int64",
"type": "string"
},
"oldestTask": {
"description": "The timestamp (in seconds since the epoch) of the oldest unfinished task.",
"format": "int64",
"type": "string"
},
"totalTasks": {
"description": "Number of tasks in the queue.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"Tasks": {
"id": "Tasks",
"properties": {
"items": {
"description": "The actual list of tasks returned as a result of the lease operation.",
"items": {
"$ref": "Task"
},
"type": "array"
},
"kind": {
"default": "taskqueue#tasks",
"description": "The kind of object returned, a list of tasks.",
"type": "string"
}
},
"type": "object"
},
"Tasks2": {
"id": "Tasks2",
"properties": {
"items": {
"description": "The actual list of tasks currently active in the TaskQueue.",
"items": {
"$ref": "Task"
},
"type": "array"
},
"kind": {
"default": "taskqueues#tasks",
"description": "The kind of object returned, a list of tasks.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "taskqueue/v1beta2/projects/",
"title": "TaskQueue API",
"version": "v1beta2"
}