blob: e7a3fc80310499383d8d10f42fb30a100ae7b64c [file] [log] [blame]
// 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;
}