| { |
| "basePath": "/_ah/api", |
| "consumes": [ |
| "application/json" |
| ], |
| "definitions": { |
| "WebappSrcProtoModelBuildInfoMessage": { |
| "properties": { |
| "artifact_type": { |
| "type": "string" |
| }, |
| "artifacts": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "build_id": { |
| "type": "string" |
| }, |
| "build_target": { |
| "type": "string" |
| }, |
| "build_type": { |
| "type": "string" |
| }, |
| "manifest_branch": { |
| "type": "string" |
| }, |
| "signed": { |
| "type": "boolean" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelBuildResponseMessage": { |
| "properties": { |
| "builds": { |
| "description": "A message for representing an individual build entry.", |
| "items": { |
| "$ref": "#/definitions/#/definitions/#/definitions/#/definitions/#/definitions/WebappSrcProtoModelBuildInfoMessage" |
| }, |
| "type": "array" |
| }, |
| "has_next": { |
| "type": "boolean" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelCountRequestMessage": { |
| "properties": { |
| "filter": { |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelCountResponseMessage": { |
| "properties": { |
| "count": { |
| "format": "int64", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelDefaultResponse": { |
| "properties": { |
| "return_code": { |
| "enum": [ |
| "SUCCESS", |
| "FAIL" |
| ], |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelDeviceInfoMessage": { |
| "properties": { |
| "product": { |
| "type": "string" |
| }, |
| "scheduling_status": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "serial": { |
| "type": "string" |
| }, |
| "status": { |
| "format": "int64", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelDeviceResponseMessage": { |
| "properties": { |
| "devices": { |
| "description": "A message for representing an individual host's device entry.", |
| "items": { |
| "$ref": "#/definitions/#/definitions/#/definitions/#/definitions/WebappSrcProtoModelDeviceInfoMessage" |
| }, |
| "type": "array" |
| }, |
| "has_next": { |
| "type": "boolean" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelGetRequestMessage": { |
| "properties": { |
| "direction": { |
| "type": "string" |
| }, |
| "filter": { |
| "type": "string" |
| }, |
| "offset": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "size": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "sort": { |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelHostInfoMessage": { |
| "properties": { |
| "devices": { |
| "description": "A message for representing an individual host's device entry.", |
| "items": { |
| "$ref": "#/definitions/#/definitions/#/definitions/#/definitions/WebappSrcProtoModelDeviceInfoMessage" |
| }, |
| "type": "array" |
| }, |
| "hostname": { |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelJobLeaseResponse": { |
| "properties": { |
| "jobs": { |
| "description": "A message for representing an individual job entry.", |
| "items": { |
| "$ref": "#/definitions/WebappSrcProtoModelJobMessage" |
| }, |
| "type": "array" |
| }, |
| "return_code": { |
| "enum": [ |
| "SUCCESS", |
| "FAIL" |
| ], |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelJobMessage": { |
| "properties": { |
| "build_id": { |
| "type": "string" |
| }, |
| "build_storage_type": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "build_target": { |
| "type": "string" |
| }, |
| "device": { |
| "type": "string" |
| }, |
| "gsi_branch": { |
| "type": "string" |
| }, |
| "gsi_build_id": { |
| "type": "string" |
| }, |
| "gsi_build_target": { |
| "type": "string" |
| }, |
| "gsi_pab_account_id": { |
| "type": "string" |
| }, |
| "gsi_storage_type": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "gsi_vendor_version": { |
| "type": "string" |
| }, |
| "has_bootloader_img": { |
| "type": "boolean" |
| }, |
| "has_radio_img": { |
| "type": "boolean" |
| }, |
| "hostname": { |
| "type": "string" |
| }, |
| "image_package_repo_base": { |
| "type": "string" |
| }, |
| "infra_log_url": { |
| "type": "string" |
| }, |
| "manifest_branch": { |
| "type": "string" |
| }, |
| "pab_account_id": { |
| "type": "string" |
| }, |
| "param": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "period": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "priority": { |
| "type": "string" |
| }, |
| "report_bucket": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "report_persistent_url": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "report_reference_url": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "report_spreadsheet_id": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "require_signed_device_build": { |
| "type": "boolean" |
| }, |
| "retry_count": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "serial": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "shards": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "status": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "test_branch": { |
| "type": "string" |
| }, |
| "test_build_id": { |
| "type": "string" |
| }, |
| "test_build_target": { |
| "type": "string" |
| }, |
| "test_name": { |
| "type": "string" |
| }, |
| "test_pab_account_id": { |
| "type": "string" |
| }, |
| "test_storage_type": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "test_type": { |
| "format": "int64", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelJobResponseMessage": { |
| "properties": { |
| "has_next": { |
| "type": "boolean" |
| }, |
| "jobs": { |
| "description": "A message for representing an individual job entry.", |
| "items": { |
| "$ref": "#/definitions/WebappSrcProtoModelJobMessage" |
| }, |
| "type": "array" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelLabDeviceInfoMessage": { |
| "properties": { |
| "device_equipment": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "product": { |
| "type": "string" |
| }, |
| "serial": { |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelLabHostInfoMessage": { |
| "properties": { |
| "device": { |
| "description": "A message for representing an individual lab host's device entry.", |
| "items": { |
| "$ref": "#/definitions/#/definitions/#/definitions/WebappSrcProtoModelLabDeviceInfoMessage" |
| }, |
| "type": "array" |
| }, |
| "host_equipment": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "hostname": { |
| "type": "string" |
| }, |
| "ip": { |
| "type": "string" |
| }, |
| "script": { |
| "type": "string" |
| }, |
| "vtslab_version": { |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelLabInfoMessage": { |
| "properties": { |
| "admin": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "host": { |
| "description": "A message for representing an individual lab's host entry.", |
| "items": { |
| "$ref": "#/definitions/#/definitions/#/definitions/WebappSrcProtoModelLabHostInfoMessage" |
| }, |
| "type": "array" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "owner": { |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelLabMessage": { |
| "properties": { |
| "admin": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "devices": { |
| "type": "string" |
| }, |
| "host_equipment": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "hostname": { |
| "type": "string" |
| }, |
| "ip": { |
| "type": "string" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "owner": { |
| "type": "string" |
| }, |
| "vtslab_version": { |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelLabResponseMessage": { |
| "properties": { |
| "has_next": { |
| "type": "boolean" |
| }, |
| "labs": { |
| "description": "A model for representing a LabModel entity.", |
| "items": { |
| "$ref": "#/definitions/#/definitions/#/definitions/WebappSrcProtoModelLabMessage" |
| }, |
| "type": "array" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelScheduleInfoMessage": { |
| "properties": { |
| "build_storage_type": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "build_target": { |
| "type": "string" |
| }, |
| "device": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "device_pab_account_id": { |
| "type": "string" |
| }, |
| "gsi_branch": { |
| "type": "string" |
| }, |
| "gsi_build_target": { |
| "type": "string" |
| }, |
| "gsi_pab_account_id": { |
| "type": "string" |
| }, |
| "gsi_storage_type": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "gsi_vendor_version": { |
| "type": "string" |
| }, |
| "has_bootloader_img": { |
| "type": "boolean" |
| }, |
| "has_radio_img": { |
| "type": "boolean" |
| }, |
| "image_package_repo_base": { |
| "type": "string" |
| }, |
| "manifest_branch": { |
| "type": "string" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "owner": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "param": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "period": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "priority": { |
| "type": "string" |
| }, |
| "report_bucket": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "report_persistent_url": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "report_reference_url": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "report_spreadsheet_id": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "require_signed_device_build": { |
| "type": "boolean" |
| }, |
| "required_device_equipment": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "required_host_equipment": { |
| "items": { |
| "type": "string" |
| }, |
| "type": "array" |
| }, |
| "retry_count": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "schedule": { |
| "type": "string" |
| }, |
| "schedule_type": { |
| "type": "string" |
| }, |
| "shards": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "test_branch": { |
| "type": "string" |
| }, |
| "test_build_target": { |
| "type": "string" |
| }, |
| "test_name": { |
| "type": "string" |
| }, |
| "test_pab_account_id": { |
| "type": "string" |
| }, |
| "test_storage_type": { |
| "format": "int64", |
| "type": "string" |
| }, |
| "timestamp": { |
| "format": "date-time", |
| "type": "string" |
| } |
| }, |
| "type": "object" |
| }, |
| "WebappSrcProtoModelScheduleResponseMessage": { |
| "properties": { |
| "has_next": { |
| "type": "boolean" |
| }, |
| "schedules": { |
| "description": "A message for representing an individual schedule entry.", |
| "items": { |
| "$ref": "#/definitions/#/definitions/WebappSrcProtoModelScheduleInfoMessage" |
| }, |
| "type": "array" |
| } |
| }, |
| "type": "object" |
| } |
| }, |
| "host": "vtslab-schedule-prod.appspot.com", |
| "info": { |
| "description": "Endpoint API for job_queue.", |
| "title": "job", |
| "version": "v1" |
| }, |
| "paths": { |
| "/job/v1/count": { |
| "post": { |
| "operationId": "JobQueueApi_count", |
| "parameters": [ |
| { |
| "in": "body", |
| "name": "body", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelCountRequestMessage" |
| } |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "A successful response", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelCountResponseMessage" |
| } |
| } |
| } |
| } |
| }, |
| "/job/v1/get": { |
| "post": { |
| "operationId": "JobQueueApi_get", |
| "parameters": [ |
| { |
| "in": "body", |
| "name": "body", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelGetRequestMessage" |
| } |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "A successful response", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelJobResponseMessage" |
| } |
| } |
| } |
| } |
| }, |
| "/job/v1/heartbeat": { |
| "post": { |
| "operationId": "JobQueueApi_heartbeat", |
| "parameters": [ |
| { |
| "in": "body", |
| "name": "body", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelJobMessage" |
| } |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "A successful response", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelJobLeaseResponse" |
| } |
| } |
| } |
| } |
| }, |
| "/job/v1/lease": { |
| "post": { |
| "operationId": "JobQueueApi_lease", |
| "parameters": [ |
| { |
| "in": "body", |
| "name": "body", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelJobMessage" |
| } |
| } |
| ], |
| "responses": { |
| "200": { |
| "description": "A successful response", |
| "schema": { |
| "$ref": "#/definitions/WebappSrcProtoModelJobLeaseResponse" |
| } |
| } |
| } |
| } |
| } |
| }, |
| "produces": [ |
| "application/json" |
| ], |
| "schemes": [ |
| "https" |
| ], |
| "securityDefinitions": { |
| "google_id_token": { |
| "authorizationUrl": "", |
| "flow": "implicit", |
| "type": "oauth2", |
| "x-google-issuer": "https://accounts.google.com", |
| "x-google-jwks_uri": "https://www.googleapis.com/oauth2/v3/certs" |
| } |
| }, |
| "swagger": "2.0", |
| "x-google-api-name": "job" |
| } |