1{ 2 "basePath": "/_ah/api", 3 "consumes": [ 4 "application/json" 5 ], 6 "definitions": { 7 "WebappSrcProtoModelBuildInfoMessage": { 8 "properties": { 9 "artifact_type": { 10 "type": "string" 11 }, 12 "artifacts": { 13 "items": { 14 "type": "string" 15 }, 16 "type": "array" 17 }, 18 "build_id": { 19 "type": "string" 20 }, 21 "build_target": { 22 "type": "string" 23 }, 24 "build_type": { 25 "type": "string" 26 }, 27 "manifest_branch": { 28 "type": "string" 29 }, 30 "signed": { 31 "type": "boolean" 32 } 33 }, 34 "type": "object" 35 }, 36 "WebappSrcProtoModelBuildResponseMessage": { 37 "properties": { 38 "builds": { 39 "description": "A message for representing an individual build entry.", 40 "items": { 41 "$ref": "#/definitions/#/definitions/#/definitions/#/definitions/#/definitions/WebappSrcProtoModelBuildInfoMessage" 42 }, 43 "type": "array" 44 }, 45 "has_next": { 46 "type": "boolean" 47 } 48 }, 49 "type": "object" 50 }, 51 "WebappSrcProtoModelCountRequestMessage": { 52 "properties": { 53 "filter": { 54 "type": "string" 55 } 56 }, 57 "type": "object" 58 }, 59 "WebappSrcProtoModelCountResponseMessage": { 60 "properties": { 61 "count": { 62 "format": "int64", 63 "type": "string" 64 } 65 }, 66 "type": "object" 67 }, 68 "WebappSrcProtoModelDefaultResponse": { 69 "properties": { 70 "return_code": { 71 "enum": [ 72 "SUCCESS", 73 "FAIL" 74 ], 75 "type": "string" 76 } 77 }, 78 "type": "object" 79 }, 80 "WebappSrcProtoModelDeviceInfoMessage": { 81 "properties": { 82 "product": { 83 "type": "string" 84 }, 85 "scheduling_status": { 86 "format": "int64", 87 "type": "string" 88 }, 89 "serial": { 90 "type": "string" 91 }, 92 "status": { 93 "format": "int64", 94 "type": "string" 95 } 96 }, 97 "type": "object" 98 }, 99 "WebappSrcProtoModelDeviceResponseMessage": { 100 "properties": { 101 "devices": { 102 "description": "A message for representing an individual host's device entry.", 103 "items": { 104 "$ref": "#/definitions/#/definitions/#/definitions/#/definitions/WebappSrcProtoModelDeviceInfoMessage" 105 }, 106 "type": "array" 107 }, 108 "has_next": { 109 "type": "boolean" 110 } 111 }, 112 "type": "object" 113 }, 114 "WebappSrcProtoModelGetRequestMessage": { 115 "properties": { 116 "direction": { 117 "type": "string" 118 }, 119 "filter": { 120 "type": "string" 121 }, 122 "offset": { 123 "format": "int64", 124 "type": "string" 125 }, 126 "size": { 127 "format": "int64", 128 "type": "string" 129 }, 130 "sort": { 131 "type": "string" 132 } 133 }, 134 "type": "object" 135 }, 136 "WebappSrcProtoModelHostInfoMessage": { 137 "properties": { 138 "devices": { 139 "description": "A message for representing an individual host's device entry.", 140 "items": { 141 "$ref": "#/definitions/#/definitions/#/definitions/#/definitions/WebappSrcProtoModelDeviceInfoMessage" 142 }, 143 "type": "array" 144 }, 145 "hostname": { 146 "type": "string" 147 } 148 }, 149 "type": "object" 150 }, 151 "WebappSrcProtoModelJobLeaseResponse": { 152 "properties": { 153 "jobs": { 154 "description": "A message for representing an individual job entry.", 155 "items": { 156 "$ref": "#/definitions/WebappSrcProtoModelJobMessage" 157 }, 158 "type": "array" 159 }, 160 "return_code": { 161 "enum": [ 162 "SUCCESS", 163 "FAIL" 164 ], 165 "type": "string" 166 } 167 }, 168 "type": "object" 169 }, 170 "WebappSrcProtoModelJobMessage": { 171 "properties": { 172 "build_id": { 173 "type": "string" 174 }, 175 "build_storage_type": { 176 "format": "int64", 177 "type": "string" 178 }, 179 "build_target": { 180 "type": "string" 181 }, 182 "device": { 183 "type": "string" 184 }, 185 "gsi_branch": { 186 "type": "string" 187 }, 188 "gsi_build_id": { 189 "type": "string" 190 }, 191 "gsi_build_target": { 192 "type": "string" 193 }, 194 "gsi_pab_account_id": { 195 "type": "string" 196 }, 197 "gsi_storage_type": { 198 "format": "int64", 199 "type": "string" 200 }, 201 "gsi_vendor_version": { 202 "type": "string" 203 }, 204 "has_bootloader_img": { 205 "type": "boolean" 206 }, 207 "has_radio_img": { 208 "type": "boolean" 209 }, 210 "hostname": { 211 "type": "string" 212 }, 213 "image_package_repo_base": { 214 "type": "string" 215 }, 216 "infra_log_url": { 217 "type": "string" 218 }, 219 "manifest_branch": { 220 "type": "string" 221 }, 222 "pab_account_id": { 223 "type": "string" 224 }, 225 "param": { 226 "items": { 227 "type": "string" 228 }, 229 "type": "array" 230 }, 231 "period": { 232 "format": "int64", 233 "type": "string" 234 }, 235 "priority": { 236 "type": "string" 237 }, 238 "report_bucket": { 239 "items": { 240 "type": "string" 241 }, 242 "type": "array" 243 }, 244 "report_persistent_url": { 245 "items": { 246 "type": "string" 247 }, 248 "type": "array" 249 }, 250 "report_reference_url": { 251 "items": { 252 "type": "string" 253 }, 254 "type": "array" 255 }, 256 "report_spreadsheet_id": { 257 "items": { 258 "type": "string" 259 }, 260 "type": "array" 261 }, 262 "require_signed_device_build": { 263 "type": "boolean" 264 }, 265 "retry_count": { 266 "format": "int64", 267 "type": "string" 268 }, 269 "serial": { 270 "items": { 271 "type": "string" 272 }, 273 "type": "array" 274 }, 275 "shards": { 276 "format": "int64", 277 "type": "string" 278 }, 279 "status": { 280 "format": "int64", 281 "type": "string" 282 }, 283 "test_branch": { 284 "type": "string" 285 }, 286 "test_build_id": { 287 "type": "string" 288 }, 289 "test_build_target": { 290 "type": "string" 291 }, 292 "test_name": { 293 "type": "string" 294 }, 295 "test_pab_account_id": { 296 "type": "string" 297 }, 298 "test_storage_type": { 299 "format": "int64", 300 "type": "string" 301 }, 302 "test_type": { 303 "format": "int64", 304 "type": "string" 305 } 306 }, 307 "type": "object" 308 }, 309 "WebappSrcProtoModelJobResponseMessage": { 310 "properties": { 311 "has_next": { 312 "type": "boolean" 313 }, 314 "jobs": { 315 "description": "A message for representing an individual job entry.", 316 "items": { 317 "$ref": "#/definitions/WebappSrcProtoModelJobMessage" 318 }, 319 "type": "array" 320 } 321 }, 322 "type": "object" 323 }, 324 "WebappSrcProtoModelLabDeviceInfoMessage": { 325 "properties": { 326 "device_equipment": { 327 "items": { 328 "type": "string" 329 }, 330 "type": "array" 331 }, 332 "product": { 333 "type": "string" 334 }, 335 "serial": { 336 "type": "string" 337 } 338 }, 339 "type": "object" 340 }, 341 "WebappSrcProtoModelLabHostInfoMessage": { 342 "properties": { 343 "device": { 344 "description": "A message for representing an individual lab host's device entry.", 345 "items": { 346 "$ref": "#/definitions/#/definitions/#/definitions/WebappSrcProtoModelLabDeviceInfoMessage" 347 }, 348 "type": "array" 349 }, 350 "host_equipment": { 351 "items": { 352 "type": "string" 353 }, 354 "type": "array" 355 }, 356 "hostname": { 357 "type": "string" 358 }, 359 "ip": { 360 "type": "string" 361 }, 362 "script": { 363 "type": "string" 364 }, 365 "vtslab_version": { 366 "type": "string" 367 } 368 }, 369 "type": "object" 370 }, 371 "WebappSrcProtoModelLabInfoMessage": { 372 "properties": { 373 "admin": { 374 "items": { 375 "type": "string" 376 }, 377 "type": "array" 378 }, 379 "host": { 380 "description": "A message for representing an individual lab's host entry.", 381 "items": { 382 "$ref": "#/definitions/#/definitions/#/definitions/WebappSrcProtoModelLabHostInfoMessage" 383 }, 384 "type": "array" 385 }, 386 "name": { 387 "type": "string" 388 }, 389 "owner": { 390 "type": "string" 391 } 392 }, 393 "type": "object" 394 }, 395 "WebappSrcProtoModelLabMessage": { 396 "properties": { 397 "admin": { 398 "items": { 399 "type": "string" 400 }, 401 "type": "array" 402 }, 403 "devices": { 404 "type": "string" 405 }, 406 "host_equipment": { 407 "items": { 408 "type": "string" 409 }, 410 "type": "array" 411 }, 412 "hostname": { 413 "type": "string" 414 }, 415 "ip": { 416 "type": "string" 417 }, 418 "name": { 419 "type": "string" 420 }, 421 "owner": { 422 "type": "string" 423 }, 424 "vtslab_version": { 425 "type": "string" 426 } 427 }, 428 "type": "object" 429 }, 430 "WebappSrcProtoModelLabResponseMessage": { 431 "properties": { 432 "has_next": { 433 "type": "boolean" 434 }, 435 "labs": { 436 "description": "A model for representing a LabModel entity.", 437 "items": { 438 "$ref": "#/definitions/#/definitions/#/definitions/WebappSrcProtoModelLabMessage" 439 }, 440 "type": "array" 441 } 442 }, 443 "type": "object" 444 }, 445 "WebappSrcProtoModelScheduleInfoMessage": { 446 "properties": { 447 "build_storage_type": { 448 "format": "int64", 449 "type": "string" 450 }, 451 "build_target": { 452 "type": "string" 453 }, 454 "device": { 455 "items": { 456 "type": "string" 457 }, 458 "type": "array" 459 }, 460 "device_pab_account_id": { 461 "type": "string" 462 }, 463 "gsi_branch": { 464 "type": "string" 465 }, 466 "gsi_build_target": { 467 "type": "string" 468 }, 469 "gsi_pab_account_id": { 470 "type": "string" 471 }, 472 "gsi_storage_type": { 473 "format": "int64", 474 "type": "string" 475 }, 476 "gsi_vendor_version": { 477 "type": "string" 478 }, 479 "has_bootloader_img": { 480 "type": "boolean" 481 }, 482 "has_radio_img": { 483 "type": "boolean" 484 }, 485 "image_package_repo_base": { 486 "type": "string" 487 }, 488 "manifest_branch": { 489 "type": "string" 490 }, 491 "name": { 492 "type": "string" 493 }, 494 "owner": { 495 "items": { 496 "type": "string" 497 }, 498 "type": "array" 499 }, 500 "param": { 501 "items": { 502 "type": "string" 503 }, 504 "type": "array" 505 }, 506 "period": { 507 "format": "int64", 508 "type": "string" 509 }, 510 "priority": { 511 "type": "string" 512 }, 513 "report_bucket": { 514 "items": { 515 "type": "string" 516 }, 517 "type": "array" 518 }, 519 "report_persistent_url": { 520 "items": { 521 "type": "string" 522 }, 523 "type": "array" 524 }, 525 "report_reference_url": { 526 "items": { 527 "type": "string" 528 }, 529 "type": "array" 530 }, 531 "report_spreadsheet_id": { 532 "items": { 533 "type": "string" 534 }, 535 "type": "array" 536 }, 537 "require_signed_device_build": { 538 "type": "boolean" 539 }, 540 "required_device_equipment": { 541 "items": { 542 "type": "string" 543 }, 544 "type": "array" 545 }, 546 "required_host_equipment": { 547 "items": { 548 "type": "string" 549 }, 550 "type": "array" 551 }, 552 "retry_count": { 553 "format": "int64", 554 "type": "string" 555 }, 556 "schedule": { 557 "type": "string" 558 }, 559 "schedule_type": { 560 "type": "string" 561 }, 562 "shards": { 563 "format": "int64", 564 "type": "string" 565 }, 566 "test_branch": { 567 "type": "string" 568 }, 569 "test_build_target": { 570 "type": "string" 571 }, 572 "test_name": { 573 "type": "string" 574 }, 575 "test_pab_account_id": { 576 "type": "string" 577 }, 578 "test_storage_type": { 579 "format": "int64", 580 "type": "string" 581 }, 582 "timestamp": { 583 "format": "date-time", 584 "type": "string" 585 } 586 }, 587 "type": "object" 588 }, 589 "WebappSrcProtoModelScheduleResponseMessage": { 590 "properties": { 591 "has_next": { 592 "type": "boolean" 593 }, 594 "schedules": { 595 "description": "A message for representing an individual schedule entry.", 596 "items": { 597 "$ref": "#/definitions/#/definitions/WebappSrcProtoModelScheduleInfoMessage" 598 }, 599 "type": "array" 600 } 601 }, 602 "type": "object" 603 } 604 }, 605 "host": "vtslab-schedule-prod.appspot.com", 606 "info": { 607 "description": "Endpoint API for job_queue.", 608 "title": "job", 609 "version": "v1" 610 }, 611 "paths": { 612 "/job/v1/count": { 613 "post": { 614 "operationId": "JobQueueApi_count", 615 "parameters": [ 616 { 617 "in": "body", 618 "name": "body", 619 "schema": { 620 "$ref": "#/definitions/WebappSrcProtoModelCountRequestMessage" 621 } 622 } 623 ], 624 "responses": { 625 "200": { 626 "description": "A successful response", 627 "schema": { 628 "$ref": "#/definitions/WebappSrcProtoModelCountResponseMessage" 629 } 630 } 631 } 632 } 633 }, 634 "/job/v1/get": { 635 "post": { 636 "operationId": "JobQueueApi_get", 637 "parameters": [ 638 { 639 "in": "body", 640 "name": "body", 641 "schema": { 642 "$ref": "#/definitions/WebappSrcProtoModelGetRequestMessage" 643 } 644 } 645 ], 646 "responses": { 647 "200": { 648 "description": "A successful response", 649 "schema": { 650 "$ref": "#/definitions/WebappSrcProtoModelJobResponseMessage" 651 } 652 } 653 } 654 } 655 }, 656 "/job/v1/heartbeat": { 657 "post": { 658 "operationId": "JobQueueApi_heartbeat", 659 "parameters": [ 660 { 661 "in": "body", 662 "name": "body", 663 "schema": { 664 "$ref": "#/definitions/WebappSrcProtoModelJobMessage" 665 } 666 } 667 ], 668 "responses": { 669 "200": { 670 "description": "A successful response", 671 "schema": { 672 "$ref": "#/definitions/WebappSrcProtoModelJobLeaseResponse" 673 } 674 } 675 } 676 } 677 }, 678 "/job/v1/lease": { 679 "post": { 680 "operationId": "JobQueueApi_lease", 681 "parameters": [ 682 { 683 "in": "body", 684 "name": "body", 685 "schema": { 686 "$ref": "#/definitions/WebappSrcProtoModelJobMessage" 687 } 688 } 689 ], 690 "responses": { 691 "200": { 692 "description": "A successful response", 693 "schema": { 694 "$ref": "#/definitions/WebappSrcProtoModelJobLeaseResponse" 695 } 696 } 697 } 698 } 699 } 700 }, 701 "produces": [ 702 "application/json" 703 ], 704 "schemes": [ 705 "https" 706 ], 707 "securityDefinitions": { 708 "google_id_token": { 709 "authorizationUrl": "", 710 "flow": "implicit", 711 "type": "oauth2", 712 "x-google-issuer": "https://accounts.google.com", 713 "x-google-jwks_uri": "https://www.googleapis.com/oauth2/v3/certs" 714 } 715 }, 716 "swagger": "2.0", 717 "x-google-api-name": "job" 718}