| // Copyright 2020 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package test_platform.result_flow; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/result_flow"; |
| |
| import "google/protobuf/timestamp.proto"; |
| |
| // CTPRequest defines the input of `result_flow ctp`. |
| message CTPRequest { |
| // How long the client could subscribe to the Pub/Sub. |
| // It should stop the subscription before the overall |
| // deadline. |
| google.protobuf.Timestamp subscription_deadline = 1; |
| // Hard deadline for execution. |
| // |
| // CTP command should abort beyond this deadline. |
| google.protobuf.Timestamp deadline = 2; |
| } |
| |
| // CTPResponse defines the output of `result_flow ctp`. |
| message CTPResponse { |
| // Values should be consistent with https://aip.dev/216 |
| enum State { |
| // Should not be used. |
| STATE_UNSPECIFIED = 0; |
| // Successfully pulled the CTP build IDs from Pub/Sub. |
| SUCCEEDED = 1; |
| // Failed to pull the CTP build IDs. |
| FAILED = 2; |
| // CTP command has hit the predefined timeout. |
| TIMED_OUT = 3; |
| // CTP command was aborted externally. |
| ABORTED = 4; |
| } |
| |
| // `result_flow ctp` exits with exit code 0 unless there is an |
| // infrastructure failure. When the exit code is 0, `state` indicates the |
| // best known state of the ctp command execution (see comments on State enum). |
| State state = 1; |
| } |