blob: be0c10eda9402ac38152470f0263f185790c8887 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc v3.17.1
// source: chromite/api/test.proto
package api
import (
api "go.chromium.org/chromiumos/config/go/build/api"
api1 "go.chromium.org/chromiumos/config/go/test/api"
plan "go.chromium.org/chromiumos/config/go/test/plan"
chromiumos "go.chromium.org/chromiumos/infra/proto/go/chromiumos"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// The program that manages and runs the tests in the VM.
type VmTestRequest_TestHarness int32
const (
// No test harness specified.
VmTestRequest_UNSPECIFIED VmTestRequest_TestHarness = 0
// Run tests with Tast.
VmTestRequest_TAST VmTestRequest_TestHarness = 1
// Run tests with Autotest.
VmTestRequest_AUTOTEST VmTestRequest_TestHarness = 2
)
// Enum value maps for VmTestRequest_TestHarness.
var (
VmTestRequest_TestHarness_name = map[int32]string{
0: "UNSPECIFIED",
1: "TAST",
2: "AUTOTEST",
}
VmTestRequest_TestHarness_value = map[string]int32{
"UNSPECIFIED": 0,
"TAST": 1,
"AUTOTEST": 2,
}
)
func (x VmTestRequest_TestHarness) Enum() *VmTestRequest_TestHarness {
p := new(VmTestRequest_TestHarness)
*p = x
return p
}
func (x VmTestRequest_TestHarness) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (VmTestRequest_TestHarness) Descriptor() protoreflect.EnumDescriptor {
return file_chromite_api_test_proto_enumTypes[0].Descriptor()
}
func (VmTestRequest_TestHarness) Type() protoreflect.EnumType {
return &file_chromite_api_test_proto_enumTypes[0]
}
func (x VmTestRequest_TestHarness) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use VmTestRequest_TestHarness.Descriptor instead.
func (VmTestRequest_TestHarness) EnumDescriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{13, 0}
}
type TestServiceContainerBuildResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Human friendly name of the container built (for debugging/reporting only).
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Types that are assignable to Result:
// *TestServiceContainerBuildResult_Success_
// *TestServiceContainerBuildResult_Failure_
Result isTestServiceContainerBuildResult_Result `protobuf_oneof:"result"`
}
func (x *TestServiceContainerBuildResult) Reset() {
*x = TestServiceContainerBuildResult{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestServiceContainerBuildResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestServiceContainerBuildResult) ProtoMessage() {}
func (x *TestServiceContainerBuildResult) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestServiceContainerBuildResult.ProtoReflect.Descriptor instead.
func (*TestServiceContainerBuildResult) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{0}
}
func (x *TestServiceContainerBuildResult) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (m *TestServiceContainerBuildResult) GetResult() isTestServiceContainerBuildResult_Result {
if m != nil {
return m.Result
}
return nil
}
func (x *TestServiceContainerBuildResult) GetSuccess() *TestServiceContainerBuildResult_Success {
if x, ok := x.GetResult().(*TestServiceContainerBuildResult_Success_); ok {
return x.Success
}
return nil
}
func (x *TestServiceContainerBuildResult) GetFailure() *TestServiceContainerBuildResult_Failure {
if x, ok := x.GetResult().(*TestServiceContainerBuildResult_Failure_); ok {
return x.Failure
}
return nil
}
type isTestServiceContainerBuildResult_Result interface {
isTestServiceContainerBuildResult_Result()
}
type TestServiceContainerBuildResult_Success_ struct {
Success *TestServiceContainerBuildResult_Success `protobuf:"bytes,2,opt,name=success,proto3,oneof"`
}
type TestServiceContainerBuildResult_Failure_ struct {
Failure *TestServiceContainerBuildResult_Failure `protobuf:"bytes,3,opt,name=failure,proto3,oneof"`
}
func (*TestServiceContainerBuildResult_Success_) isTestServiceContainerBuildResult_Result() {}
func (*TestServiceContainerBuildResult_Failure_) isTestServiceContainerBuildResult_Result() {}
type BuildTestServiceContainersRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The build target the test service containers are being build for.
BuildTarget *chromiumos.BuildTarget `protobuf:"bytes,1,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
// The chroot containing the sysroot.
Chroot *chromiumos.Chroot `protobuf:"bytes,2,opt,name=chroot,proto3" json:"chroot,omitempty"`
// Build version number, which matches the build artifact version
// number that will be tested ultimately.
// NOTE: deprecated, remove once we migrate requests to new tag/label semantics
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
// Repository to push to
Repository *api.GcrRepository `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"`
// Tags to apply to built images. Note that Docker tags are limited in
// what they can contain. They can contain [A-Za-z0-9_.-], but may not
// start with . or -, and are a maximum of 128 characters.
Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"`
// Labels to apply to docker image. Labels are string key=value pairs which
// are added to the image itself. These are useful for things like eg:
// adding the full build URL to the container image for the build that
// produced them.
Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *BuildTestServiceContainersRequest) Reset() {
*x = BuildTestServiceContainersRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildTestServiceContainersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildTestServiceContainersRequest) ProtoMessage() {}
func (x *BuildTestServiceContainersRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildTestServiceContainersRequest.ProtoReflect.Descriptor instead.
func (*BuildTestServiceContainersRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{1}
}
func (x *BuildTestServiceContainersRequest) GetBuildTarget() *chromiumos.BuildTarget {
if x != nil {
return x.BuildTarget
}
return nil
}
func (x *BuildTestServiceContainersRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
func (x *BuildTestServiceContainersRequest) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *BuildTestServiceContainersRequest) GetRepository() *api.GcrRepository {
if x != nil {
return x.Repository
}
return nil
}
func (x *BuildTestServiceContainersRequest) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *BuildTestServiceContainersRequest) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
type BuildTestServiceContainersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of containers that were attempted to be built and the success/failure
// results for each.
Results []*TestServiceContainerBuildResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
}
func (x *BuildTestServiceContainersResponse) Reset() {
*x = BuildTestServiceContainersResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildTestServiceContainersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildTestServiceContainersResponse) ProtoMessage() {}
func (x *BuildTestServiceContainersResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildTestServiceContainersResponse.ProtoReflect.Descriptor instead.
func (*BuildTestServiceContainersResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{2}
}
func (x *BuildTestServiceContainersResponse) GetResults() []*TestServiceContainerBuildResult {
if x != nil {
return x.Results
}
return nil
}
type BuildTargetUnitTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The build target being tested.
BuildTarget *chromiumos.BuildTarget `protobuf:"bytes,1,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
// The path where the result tarball should be saved.
ResultPath string `protobuf:"bytes,2,opt,name=result_path,json=resultPath,proto3" json:"result_path,omitempty"`
// The chroot containing the sysroot.
Chroot *chromiumos.Chroot `protobuf:"bytes,3,opt,name=chroot,proto3" json:"chroot,omitempty"`
// The flags.
Flags *BuildTargetUnitTestRequest_Flags `protobuf:"bytes,4,opt,name=flags,proto3" json:"flags,omitempty"`
// Packages to be tested.
// Defaults to all testable packages when none are given.
Packages []*chromiumos.PackageInfo `protobuf:"bytes,6,rep,name=packages,proto3" json:"packages,omitempty"`
// Skipped packages.
PackageBlocklist []*chromiumos.PackageInfo `protobuf:"bytes,7,rep,name=package_blocklist,json=packageBlocklist,proto3" json:"package_blocklist,omitempty"`
}
func (x *BuildTargetUnitTestRequest) Reset() {
*x = BuildTargetUnitTestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildTargetUnitTestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildTargetUnitTestRequest) ProtoMessage() {}
func (x *BuildTargetUnitTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildTargetUnitTestRequest.ProtoReflect.Descriptor instead.
func (*BuildTargetUnitTestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{3}
}
func (x *BuildTargetUnitTestRequest) GetBuildTarget() *chromiumos.BuildTarget {
if x != nil {
return x.BuildTarget
}
return nil
}
func (x *BuildTargetUnitTestRequest) GetResultPath() string {
if x != nil {
return x.ResultPath
}
return ""
}
func (x *BuildTargetUnitTestRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
func (x *BuildTargetUnitTestRequest) GetFlags() *BuildTargetUnitTestRequest_Flags {
if x != nil {
return x.Flags
}
return nil
}
func (x *BuildTargetUnitTestRequest) GetPackages() []*chromiumos.PackageInfo {
if x != nil {
return x.Packages
}
return nil
}
func (x *BuildTargetUnitTestRequest) GetPackageBlocklist() []*chromiumos.PackageInfo {
if x != nil {
return x.PackageBlocklist
}
return nil
}
type BuildTargetUnitTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The unittest tarball that was created.
TarballPath string `protobuf:"bytes,1,opt,name=tarball_path,json=tarballPath,proto3" json:"tarball_path,omitempty"`
// The list of packages that failed.
FailedPackages []*chromiumos.PackageInfo `protobuf:"bytes,2,rep,name=failed_packages,json=failedPackages,proto3" json:"failed_packages,omitempty"`
// The metric events that occurred during the running of BuildTargetUnitTest.
Events []*chromiumos.MetricEvent `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"`
}
func (x *BuildTargetUnitTestResponse) Reset() {
*x = BuildTargetUnitTestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildTargetUnitTestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildTargetUnitTestResponse) ProtoMessage() {}
func (x *BuildTargetUnitTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildTargetUnitTestResponse.ProtoReflect.Descriptor instead.
func (*BuildTargetUnitTestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{4}
}
func (x *BuildTargetUnitTestResponse) GetTarballPath() string {
if x != nil {
return x.TarballPath
}
return ""
}
func (x *BuildTargetUnitTestResponse) GetFailedPackages() []*chromiumos.PackageInfo {
if x != nil {
return x.FailedPackages
}
return nil
}
func (x *BuildTargetUnitTestResponse) GetEvents() []*chromiumos.MetricEvent {
if x != nil {
return x.Events
}
return nil
}
// Chromite UnitTest request.
type ChromiteUnitTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The chroot to use to execute the endpoint.
Chroot *chromiumos.Chroot `protobuf:"bytes,1,opt,name=chroot,proto3" json:"chroot,omitempty"`
}
func (x *ChromiteUnitTestRequest) Reset() {
*x = ChromiteUnitTestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChromiteUnitTestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChromiteUnitTestRequest) ProtoMessage() {}
func (x *ChromiteUnitTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChromiteUnitTestRequest.ProtoReflect.Descriptor instead.
func (*ChromiteUnitTestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{5}
}
func (x *ChromiteUnitTestRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
type ChromiteUnitTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ChromiteUnitTestResponse) Reset() {
*x = ChromiteUnitTestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChromiteUnitTestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChromiteUnitTestResponse) ProtoMessage() {}
func (x *ChromiteUnitTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChromiteUnitTestResponse.ProtoReflect.Descriptor instead.
func (*ChromiteUnitTestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{6}
}
type ChromitePytestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The chroot to use to execute the endpoint.
Chroot *chromiumos.Chroot `protobuf:"bytes,1,opt,name=chroot,proto3" json:"chroot,omitempty"`
}
func (x *ChromitePytestRequest) Reset() {
*x = ChromitePytestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChromitePytestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChromitePytestRequest) ProtoMessage() {}
func (x *ChromitePytestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChromitePytestRequest.ProtoReflect.Descriptor instead.
func (*ChromitePytestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{7}
}
func (x *ChromitePytestRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
type ChromitePytestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ChromitePytestResponse) Reset() {
*x = ChromitePytestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChromitePytestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChromitePytestResponse) ProtoMessage() {}
func (x *ChromitePytestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChromitePytestResponse.ProtoReflect.Descriptor instead.
func (*ChromitePytestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{8}
}
type CrosSigningTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required if not in default location.
// The chroot where the tests should be executed.
Chroot *chromiumos.Chroot `protobuf:"bytes,1,opt,name=chroot,proto3" json:"chroot,omitempty"`
}
func (x *CrosSigningTestRequest) Reset() {
*x = CrosSigningTestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CrosSigningTestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CrosSigningTestRequest) ProtoMessage() {}
func (x *CrosSigningTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CrosSigningTestRequest.ProtoReflect.Descriptor instead.
func (*CrosSigningTestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{9}
}
func (x *CrosSigningTestRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
type CrosSigningTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CrosSigningTestResponse) Reset() {
*x = CrosSigningTestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CrosSigningTestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CrosSigningTestResponse) ProtoMessage() {}
func (x *CrosSigningTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CrosSigningTestResponse.ProtoReflect.Descriptor instead.
func (*CrosSigningTestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{10}
}
// Run the debug_info_test script.
type DebugInfoTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The sysroot to tests.
Sysroot *Sysroot `protobuf:"bytes,1,opt,name=sysroot,proto3" json:"sysroot,omitempty"`
// The chroot to use to execute the endpoint.
Chroot *chromiumos.Chroot `protobuf:"bytes,2,opt,name=chroot,proto3" json:"chroot,omitempty"`
}
func (x *DebugInfoTestRequest) Reset() {
*x = DebugInfoTestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DebugInfoTestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DebugInfoTestRequest) ProtoMessage() {}
func (x *DebugInfoTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DebugInfoTestRequest.ProtoReflect.Descriptor instead.
func (*DebugInfoTestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{11}
}
func (x *DebugInfoTestRequest) GetSysroot() *Sysroot {
if x != nil {
return x.Sysroot
}
return nil
}
func (x *DebugInfoTestRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
type DebugInfoTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DebugInfoTestResponse) Reset() {
*x = DebugInfoTestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DebugInfoTestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DebugInfoTestResponse) ProtoMessage() {}
func (x *DebugInfoTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DebugInfoTestResponse.ProtoReflect.Descriptor instead.
func (*DebugInfoTestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{12}
}
type VmTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The build target under test. Required.
BuildTarget *chromiumos.BuildTarget `protobuf:"bytes,1,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
// The chroot in which to run commands. Required.
Chroot *chromiumos.Chroot `protobuf:"bytes,2,opt,name=chroot,proto3" json:"chroot,omitempty"`
// Required. The VM image path.
VmPath *chromiumos.Path `protobuf:"bytes,3,opt,name=vm_path,json=vmPath,proto3" json:"vm_path,omitempty"`
// Options for SSHing into the VM.
SshOptions *VmTestRequest_SshOptions `protobuf:"bytes,4,opt,name=ssh_options,json=sshOptions,proto3" json:"ssh_options,omitempty"`
TestHarness VmTestRequest_TestHarness `protobuf:"varint,5,opt,name=test_harness,json=testHarness,proto3,enum=chromite.api.VmTestRequest_TestHarness" json:"test_harness,omitempty"`
// All VM tests that should be run. At least one must be specified.
VmTests []*VmTestRequest_VmTest `protobuf:"bytes,6,rep,name=vm_tests,json=vmTests,proto3" json:"vm_tests,omitempty"`
}
func (x *VmTestRequest) Reset() {
*x = VmTestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VmTestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VmTestRequest) ProtoMessage() {}
func (x *VmTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VmTestRequest.ProtoReflect.Descriptor instead.
func (*VmTestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{13}
}
func (x *VmTestRequest) GetBuildTarget() *chromiumos.BuildTarget {
if x != nil {
return x.BuildTarget
}
return nil
}
func (x *VmTestRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
func (x *VmTestRequest) GetVmPath() *chromiumos.Path {
if x != nil {
return x.VmPath
}
return nil
}
func (x *VmTestRequest) GetSshOptions() *VmTestRequest_SshOptions {
if x != nil {
return x.SshOptions
}
return nil
}
func (x *VmTestRequest) GetTestHarness() VmTestRequest_TestHarness {
if x != nil {
return x.TestHarness
}
return VmTestRequest_UNSPECIFIED
}
func (x *VmTestRequest) GetVmTests() []*VmTestRequest_VmTest {
if x != nil {
return x.VmTests
}
return nil
}
type VmTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *VmTestResponse) Reset() {
*x = VmTestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VmTestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VmTestResponse) ProtoMessage() {}
func (x *VmTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VmTestResponse.ProtoReflect.Descriptor instead.
func (*VmTestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{14}
}
type MoblabVmTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Chroot in which to run the VM tests.
Chroot *chromiumos.Chroot `protobuf:"bytes,1,opt,name=chroot,proto3" json:"chroot,omitempty"`
// Effectively the full output produced by the image builder.
ImagePayload *MoblabVmTestRequest_Payload `protobuf:"bytes,2,opt,name=image_payload,json=imagePayload,proto3" json:"image_payload,omitempty"`
// Payloads to be loaded into the Moblab VM's cache.
CachePayloads []*MoblabVmTestRequest_Payload `protobuf:"bytes,3,rep,name=cache_payloads,json=cachePayloads,proto3" json:"cache_payloads,omitempty"`
}
func (x *MoblabVmTestRequest) Reset() {
*x = MoblabVmTestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MoblabVmTestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MoblabVmTestRequest) ProtoMessage() {}
func (x *MoblabVmTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MoblabVmTestRequest.ProtoReflect.Descriptor instead.
func (*MoblabVmTestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{15}
}
func (x *MoblabVmTestRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
func (x *MoblabVmTestRequest) GetImagePayload() *MoblabVmTestRequest_Payload {
if x != nil {
return x.ImagePayload
}
return nil
}
func (x *MoblabVmTestRequest) GetCachePayloads() []*MoblabVmTestRequest_Payload {
if x != nil {
return x.CachePayloads
}
return nil
}
type MoblabVmTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *MoblabVmTestResponse) Reset() {
*x = MoblabVmTestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MoblabVmTestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MoblabVmTestResponse) ProtoMessage() {}
func (x *MoblabVmTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MoblabVmTestResponse.ProtoReflect.Descriptor instead.
func (*MoblabVmTestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{16}
}
type SimpleChromeWorkflowTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The sysroot for which SimpleChrome flow will be run.
// The path and build_target are required.
// Chrome will be built for the specified board using the sysroot.
Sysroot *Sysroot `protobuf:"bytes,1,opt,name=sysroot,proto3" json:"sysroot,omitempty"`
// Chrome source directory under which chromium will be built and tested
// using cros chrome-sdk.
ChromeRoot string `protobuf:"bytes,2,opt,name=chrome_root,json=chromeRoot,proto3" json:"chrome_root,omitempty"`
// Options for using goma when building Chrome.
GomaConfig *chromiumos.GomaConfig `protobuf:"bytes,3,opt,name=goma_config,json=gomaConfig,proto3" json:"goma_config,omitempty"`
}
func (x *SimpleChromeWorkflowTestRequest) Reset() {
*x = SimpleChromeWorkflowTestRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SimpleChromeWorkflowTestRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleChromeWorkflowTestRequest) ProtoMessage() {}
func (x *SimpleChromeWorkflowTestRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SimpleChromeWorkflowTestRequest.ProtoReflect.Descriptor instead.
func (*SimpleChromeWorkflowTestRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{17}
}
func (x *SimpleChromeWorkflowTestRequest) GetSysroot() *Sysroot {
if x != nil {
return x.Sysroot
}
return nil
}
func (x *SimpleChromeWorkflowTestRequest) GetChromeRoot() string {
if x != nil {
return x.ChromeRoot
}
return ""
}
func (x *SimpleChromeWorkflowTestRequest) GetGomaConfig() *chromiumos.GomaConfig {
if x != nil {
return x.GomaConfig
}
return nil
}
type SimpleChromeWorkflowTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *SimpleChromeWorkflowTestResponse) Reset() {
*x = SimpleChromeWorkflowTestResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SimpleChromeWorkflowTestResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleChromeWorkflowTestResponse) ProtoMessage() {}
func (x *SimpleChromeWorkflowTestResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SimpleChromeWorkflowTestResponse.ProtoReflect.Descriptor instead.
func (*SimpleChromeWorkflowTestResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{18}
}
type GetCoverageRulesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The chroot in which to run commands. Required.
Chroot *chromiumos.Chroot `protobuf:"bytes,5,opt,name=chroot,proto3" json:"chroot,omitempty"`
// SourceTestPlans for a given CQ run, release build, etc. Required.
SourceTestPlans []*plan.SourceTestPlan `protobuf:"bytes,1,rep,name=source_test_plans,json=sourceTestPlans,proto3" json:"source_test_plans,omitempty"`
// Path to a BuildMetadataList jsonproto for the builds being tested. Required.
BuildMetadataList *chromiumos.Path `protobuf:"bytes,2,opt,name=build_metadata_list,json=buildMetadataList,proto3" json:"build_metadata_list,omitempty"`
// Path to the current DutAttributeList jsonproto, used to validated
// DutAttribute ids used in generated CoverageRules. Required.
DutAttributeList *chromiumos.Path `protobuf:"bytes,3,opt,name=dut_attribute_list,json=dutAttributeList,proto3" json:"dut_attribute_list,omitempty"`
// Path to a FlatConfigList jsonproto for the builds being tested. Required.
FlatConfigList *chromiumos.Path `protobuf:"bytes,4,opt,name=flat_config_list,json=flatConfigList,proto3" json:"flat_config_list,omitempty"`
}
func (x *GetCoverageRulesRequest) Reset() {
*x = GetCoverageRulesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCoverageRulesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCoverageRulesRequest) ProtoMessage() {}
func (x *GetCoverageRulesRequest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCoverageRulesRequest.ProtoReflect.Descriptor instead.
func (*GetCoverageRulesRequest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{19}
}
func (x *GetCoverageRulesRequest) GetChroot() *chromiumos.Chroot {
if x != nil {
return x.Chroot
}
return nil
}
func (x *GetCoverageRulesRequest) GetSourceTestPlans() []*plan.SourceTestPlan {
if x != nil {
return x.SourceTestPlans
}
return nil
}
func (x *GetCoverageRulesRequest) GetBuildMetadataList() *chromiumos.Path {
if x != nil {
return x.BuildMetadataList
}
return nil
}
func (x *GetCoverageRulesRequest) GetDutAttributeList() *chromiumos.Path {
if x != nil {
return x.DutAttributeList
}
return nil
}
func (x *GetCoverageRulesRequest) GetFlatConfigList() *chromiumos.Path {
if x != nil {
return x.FlatConfigList
}
return nil
}
type GetCoverageRulesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// CoverageRules generated from the input SourceTestPlans and metadata.
CoverageRules []*api1.CoverageRule `protobuf:"bytes,1,rep,name=coverage_rules,json=coverageRules,proto3" json:"coverage_rules,omitempty"`
}
func (x *GetCoverageRulesResponse) Reset() {
*x = GetCoverageRulesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCoverageRulesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCoverageRulesResponse) ProtoMessage() {}
func (x *GetCoverageRulesResponse) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCoverageRulesResponse.ProtoReflect.Descriptor instead.
func (*GetCoverageRulesResponse) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{20}
}
func (x *GetCoverageRulesResponse) GetCoverageRules() []*api1.CoverageRule {
if x != nil {
return x.CoverageRules
}
return nil
}
type TestServiceContainerBuildResult_Success struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Metadata about the constructed container image
ImageInfo *api.ContainerImageInfo `protobuf:"bytes,2,opt,name=image_info,json=imageInfo,proto3" json:"image_info,omitempty"`
// Full path to the build artifact in the hosted container registry.
RegistryPath string `protobuf:"bytes,1,opt,name=registry_path,json=registryPath,proto3" json:"registry_path,omitempty"` // deprecated
}
func (x *TestServiceContainerBuildResult_Success) Reset() {
*x = TestServiceContainerBuildResult_Success{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestServiceContainerBuildResult_Success) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestServiceContainerBuildResult_Success) ProtoMessage() {}
func (x *TestServiceContainerBuildResult_Success) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestServiceContainerBuildResult_Success.ProtoReflect.Descriptor instead.
func (*TestServiceContainerBuildResult_Success) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{0, 0}
}
func (x *TestServiceContainerBuildResult_Success) GetImageInfo() *api.ContainerImageInfo {
if x != nil {
return x.ImageInfo
}
return nil
}
func (x *TestServiceContainerBuildResult_Success) GetRegistryPath() string {
if x != nil {
return x.RegistryPath
}
return ""
}
type TestServiceContainerBuildResult_Failure struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Debugging details about the error that occurred.
ErrorMessage string `protobuf:"bytes,1,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
}
func (x *TestServiceContainerBuildResult_Failure) Reset() {
*x = TestServiceContainerBuildResult_Failure{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TestServiceContainerBuildResult_Failure) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TestServiceContainerBuildResult_Failure) ProtoMessage() {}
func (x *TestServiceContainerBuildResult_Failure) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TestServiceContainerBuildResult_Failure.ProtoReflect.Descriptor instead.
func (*TestServiceContainerBuildResult_Failure) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{0, 1}
}
func (x *TestServiceContainerBuildResult_Failure) GetErrorMessage() string {
if x != nil {
return x.ErrorMessage
}
return ""
}
type BuildTargetUnitTestRequest_Flags struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Assume the sysroot is empty.
EmptySysroot bool `protobuf:"varint,1,opt,name=empty_sysroot,json=emptySysroot,proto3" json:"empty_sysroot,omitempty"`
// Whether a toolchain change has occurred.
ToolchainChanged bool `protobuf:"varint,2,opt,name=toolchain_changed,json=toolchainChanged,proto3" json:"toolchain_changed,omitempty"`
// Whether to produce code coverage data.
CodeCoverage bool `protobuf:"varint,3,opt,name=code_coverage,json=codeCoverage,proto3" json:"code_coverage,omitempty"`
// Whether to allow no testable packages to be found.
TestablePackagesOptional bool `protobuf:"varint,4,opt,name=testable_packages_optional,json=testablePackagesOptional,proto3" json:"testable_packages_optional,omitempty"`
// Whether to filter out any non-cros_workon packages passed in.
//Added in R92.
FilterOnlyCrosWorkon bool `protobuf:"varint,5,opt,name=filter_only_cros_workon,json=filterOnlyCrosWorkon,proto3" json:"filter_only_cros_workon,omitempty"`
}
func (x *BuildTargetUnitTestRequest_Flags) Reset() {
*x = BuildTargetUnitTestRequest_Flags{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildTargetUnitTestRequest_Flags) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildTargetUnitTestRequest_Flags) ProtoMessage() {}
func (x *BuildTargetUnitTestRequest_Flags) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildTargetUnitTestRequest_Flags.ProtoReflect.Descriptor instead.
func (*BuildTargetUnitTestRequest_Flags) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{3, 0}
}
func (x *BuildTargetUnitTestRequest_Flags) GetEmptySysroot() bool {
if x != nil {
return x.EmptySysroot
}
return false
}
func (x *BuildTargetUnitTestRequest_Flags) GetToolchainChanged() bool {
if x != nil {
return x.ToolchainChanged
}
return false
}
func (x *BuildTargetUnitTestRequest_Flags) GetCodeCoverage() bool {
if x != nil {
return x.CodeCoverage
}
return false
}
func (x *BuildTargetUnitTestRequest_Flags) GetTestablePackagesOptional() bool {
if x != nil {
return x.TestablePackagesOptional
}
return false
}
func (x *BuildTargetUnitTestRequest_Flags) GetFilterOnlyCrosWorkon() bool {
if x != nil {
return x.FilterOnlyCrosWorkon
}
return false
}
// Options for SSHing into the VM.
type VmTestRequest_SshOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Path to the private key to the VM.
PrivateKeyPath *chromiumos.Path `protobuf:"bytes,1,opt,name=private_key_path,json=privateKeyPath,proto3" json:"private_key_path,omitempty"`
// SSH port to communicate with VM.
Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
}
func (x *VmTestRequest_SshOptions) Reset() {
*x = VmTestRequest_SshOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VmTestRequest_SshOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VmTestRequest_SshOptions) ProtoMessage() {}
func (x *VmTestRequest_SshOptions) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VmTestRequest_SshOptions.ProtoReflect.Descriptor instead.
func (*VmTestRequest_SshOptions) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{13, 0}
}
func (x *VmTestRequest_SshOptions) GetPrivateKeyPath() *chromiumos.Path {
if x != nil {
return x.PrivateKeyPath
}
return nil
}
func (x *VmTestRequest_SshOptions) GetPort() int32 {
if x != nil {
return x.Port
}
return 0
}
// A specific VM test to run.
type VmTestRequest_VmTest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name pattern for the VM test.
// For Autotest, this pattern matches against the test suite name.
// For Tast, this pattern matches against the Tast test name.
Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
}
func (x *VmTestRequest_VmTest) Reset() {
*x = VmTestRequest_VmTest{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VmTestRequest_VmTest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VmTestRequest_VmTest) ProtoMessage() {}
func (x *VmTestRequest_VmTest) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VmTestRequest_VmTest.ProtoReflect.Descriptor instead.
func (*VmTestRequest_VmTest) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{13, 1}
}
func (x *VmTestRequest_VmTest) GetPattern() string {
if x != nil {
return x.Pattern
}
return ""
}
// Data used in the test.
type MoblabVmTestRequest_Payload struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Directory containing the payload.
Path *chromiumos.Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *MoblabVmTestRequest_Payload) Reset() {
*x = MoblabVmTestRequest_Payload{}
if protoimpl.UnsafeEnabled {
mi := &file_chromite_api_test_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MoblabVmTestRequest_Payload) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MoblabVmTestRequest_Payload) ProtoMessage() {}
func (x *MoblabVmTestRequest_Payload) ProtoReflect() protoreflect.Message {
mi := &file_chromite_api_test_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MoblabVmTestRequest_Payload.ProtoReflect.Descriptor instead.
func (*MoblabVmTestRequest_Payload) Descriptor() ([]byte, []int) {
return file_chromite_api_test_proto_rawDescGZIP(), []int{15, 0}
}
func (x *MoblabVmTestRequest_Payload) GetPath() *chromiumos.Path {
if x != nil {
return x.Path
}
return nil
}
var File_chromite_api_test_proto protoreflect.FileDescriptor
var file_chromite_api_test_proto_rawDesc = []byte{
0x0a, 0x17, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74,
0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x68, 0x72, 0x6f, 0x6d,
0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x61, 0x70, 0x69, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x73, 0x79, 0x73, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x17, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73,
0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,
0x67, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x70, 0x6c,
0x61, 0x6e, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70,
0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x03, 0x0a, 0x1f, 0x54, 0x65,
0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x51, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63,
0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x07,
0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0x77, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65,
0x73, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68,
0x1a, 0x2e, 0x0a, 0x07, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65,
0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8e, 0x03, 0x0a, 0x21, 0x42,
0x75, 0x69, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x06,
0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74,
0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x63,
0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, 0x70,
0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x53, 0x0a, 0x06, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64,
0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62,
0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73,
0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x22, 0x42,
0x75, 0x69, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xe2, 0x04, 0x0a, 0x1a, 0x42,
0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x75, 0x69,
0x6c, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x75, 0x69,
0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54,
0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f,
0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f,
0x6f, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x74,
0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6c, 0x61, 0x67,
0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b,
0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x44, 0x0a,
0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69,
0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x6c,
0x69, 0x73, 0x74, 0x1a, 0xf3, 0x01, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a,
0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x79, 0x73, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x53, 0x79, 0x73, 0x72, 0x6f,
0x6f, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x74,
0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12,
0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76, 0x65,
0x72, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x74, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65,
0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x74, 0x65, 0x73, 0x74, 0x61, 0x62,
0x6c, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x61, 0x6c, 0x12, 0x35, 0x0a, 0x17, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x6c,
0x79, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x6f, 0x6e, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x43,
0x72, 0x6f, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22,
0xb3, 0x01, 0x0a, 0x1b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55,
0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x50, 0x61,
0x74, 0x68, 0x12, 0x40, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63,
0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b,
0x61, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65,
0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x17, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
0x65, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68,
0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x1a, 0x0a, 0x18,
0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x0a, 0x15, 0x43, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x74, 0x65, 0x50, 0x79, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43,
0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x18, 0x0a,
0x16, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x50, 0x79, 0x74, 0x65, 0x73, 0x74, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x0a, 0x16, 0x43, 0x72, 0x6f, 0x73, 0x53,
0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43,
0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x19, 0x0a,
0x17, 0x43, 0x72, 0x6f, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x73, 0x0a, 0x14, 0x44, 0x65, 0x62, 0x75,
0x67, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2f, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x53, 0x79, 0x73, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x07, 0x73, 0x79, 0x73, 0x72, 0x6f, 0x6f,
0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43,
0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x17, 0x0a,
0x15, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb0, 0x04, 0x0a, 0x0d, 0x56, 0x6d, 0x54, 0x65, 0x73,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c,
0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61,
0x72, 0x67, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74,
0x12, 0x29, 0x0a, 0x07, 0x76, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x50,
0x61, 0x74, 0x68, 0x52, 0x06, 0x76, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x0b, 0x73,
0x73, 0x68, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x26, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x73,
0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x73, 0x73, 0x68, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x61, 0x72,
0x6e, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x48, 0x61, 0x72, 0x6e,
0x65, 0x73, 0x73, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73,
0x12, 0x3d, 0x0a, 0x08, 0x76, 0x6d, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x52, 0x07, 0x76, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x73, 0x1a,
0x5c, 0x0a, 0x0a, 0x53, 0x73, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a,
0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x74,
0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x22, 0x0a,
0x06, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65,
0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72,
0x6e, 0x22, 0x36, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x48, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x73,
0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x41, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41,
0x55, 0x54, 0x4f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x02, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x6d, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x94, 0x02, 0x0a, 0x13,
0x4d, 0x6f, 0x62, 0x6c, 0x61, 0x62, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73,
0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12,
0x4e, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x62, 0x6c, 0x61, 0x62, 0x56, 0x6d, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
0x64, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12,
0x50, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x62, 0x6c, 0x61, 0x62, 0x56, 0x6d, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
0x61, 0x64, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
0x73, 0x1a, 0x2f, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x04,
0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61,
0x74, 0x68, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x6f, 0x62, 0x6c, 0x61, 0x62, 0x56, 0x6d, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1f, 0x53,
0x69, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f,
0x0a, 0x07, 0x73, 0x79, 0x73, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x15, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53,
0x79, 0x73, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x07, 0x73, 0x79, 0x73, 0x72, 0x6f, 0x6f, 0x74, 0x12,
0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x52, 0x6f, 0x6f, 0x74,
0x12, 0x37, 0x0a, 0x0b, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x67,
0x6f, 0x6d, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x22, 0x0a, 0x20, 0x53, 0x69, 0x6d,
0x70, 0x6c, 0x65, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
0x77, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd5, 0x02,
0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c,
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72,
0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63,
0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65,
0x73, 0x74, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65,
0x73, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x65,
0x73, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64,
0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
0x73, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x12, 0x64, 0x75, 0x74,
0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
0x6f, 0x73, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x10, 0x64, 0x75, 0x74, 0x41, 0x74, 0x74, 0x72,
0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x66, 0x6c, 0x61,
0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73,
0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0e, 0x66, 0x6c, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x76, 0x65,
0x72, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x48, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x75,
0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x72, 0x6f,
0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x32, 0x9e, 0x08, 0x0a, 0x0b,
0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x1a,
0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54,
0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64,
0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xc2,
0xed, 0x1a, 0x02, 0x10, 0x02, 0x12, 0x72, 0x0a, 0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61,
0x72, 0x67, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c,
0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65,
0x74, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x06, 0xc2, 0xed, 0x1a, 0x02, 0x10, 0x02, 0x12, 0x61, 0x0a, 0x10, 0x43, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x12, 0x25, 0x2e,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74,
0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0e,
0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x50, 0x79, 0x74, 0x65, 0x73, 0x74, 0x12, 0x23,
0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x50, 0x79, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x50, 0x79, 0x74, 0x65, 0x73,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0f, 0x43, 0x72, 0x6f,
0x73, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x6f, 0x73,
0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x65, 0x62,
0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49,
0x6e, 0x66, 0x6f, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23,
0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65,
0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x2e,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x6d, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x4d, 0x6f, 0x62, 0x6c,
0x61, 0x62, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x62, 0x6c, 0x61, 0x62, 0x56, 0x6d,
0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x62, 0x6c, 0x61,
0x62, 0x56, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x06, 0xc2, 0xed, 0x1a, 0x02, 0x10, 0x02, 0x12, 0x81, 0x01, 0x0a, 0x18, 0x53, 0x69, 0x6d, 0x70,
0x6c, 0x65, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x54, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65,
0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x57,
0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x06, 0xc2, 0xed, 0x1a, 0x02, 0x10, 0x02, 0x12, 0x61, 0x0a, 0x10, 0x47,
0x65, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12,
0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
0x65, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x0c,
0xc2, 0xed, 0x1a, 0x08, 0x0a, 0x04, 0x74, 0x65, 0x73, 0x74, 0x10, 0x01, 0x42, 0x38, 0x5a, 0x36,
0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_chromite_api_test_proto_rawDescOnce sync.Once
file_chromite_api_test_proto_rawDescData = file_chromite_api_test_proto_rawDesc
)
func file_chromite_api_test_proto_rawDescGZIP() []byte {
file_chromite_api_test_proto_rawDescOnce.Do(func() {
file_chromite_api_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_chromite_api_test_proto_rawDescData)
})
return file_chromite_api_test_proto_rawDescData
}
var file_chromite_api_test_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_chromite_api_test_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
var file_chromite_api_test_proto_goTypes = []interface{}{
(VmTestRequest_TestHarness)(0), // 0: chromite.api.VmTestRequest.TestHarness
(*TestServiceContainerBuildResult)(nil), // 1: chromite.api.TestServiceContainerBuildResult
(*BuildTestServiceContainersRequest)(nil), // 2: chromite.api.BuildTestServiceContainersRequest
(*BuildTestServiceContainersResponse)(nil), // 3: chromite.api.BuildTestServiceContainersResponse
(*BuildTargetUnitTestRequest)(nil), // 4: chromite.api.BuildTargetUnitTestRequest
(*BuildTargetUnitTestResponse)(nil), // 5: chromite.api.BuildTargetUnitTestResponse
(*ChromiteUnitTestRequest)(nil), // 6: chromite.api.ChromiteUnitTestRequest
(*ChromiteUnitTestResponse)(nil), // 7: chromite.api.ChromiteUnitTestResponse
(*ChromitePytestRequest)(nil), // 8: chromite.api.ChromitePytestRequest
(*ChromitePytestResponse)(nil), // 9: chromite.api.ChromitePytestResponse
(*CrosSigningTestRequest)(nil), // 10: chromite.api.CrosSigningTestRequest
(*CrosSigningTestResponse)(nil), // 11: chromite.api.CrosSigningTestResponse
(*DebugInfoTestRequest)(nil), // 12: chromite.api.DebugInfoTestRequest
(*DebugInfoTestResponse)(nil), // 13: chromite.api.DebugInfoTestResponse
(*VmTestRequest)(nil), // 14: chromite.api.VmTestRequest
(*VmTestResponse)(nil), // 15: chromite.api.VmTestResponse
(*MoblabVmTestRequest)(nil), // 16: chromite.api.MoblabVmTestRequest
(*MoblabVmTestResponse)(nil), // 17: chromite.api.MoblabVmTestResponse
(*SimpleChromeWorkflowTestRequest)(nil), // 18: chromite.api.SimpleChromeWorkflowTestRequest
(*SimpleChromeWorkflowTestResponse)(nil), // 19: chromite.api.SimpleChromeWorkflowTestResponse
(*GetCoverageRulesRequest)(nil), // 20: chromite.api.GetCoverageRulesRequest
(*GetCoverageRulesResponse)(nil), // 21: chromite.api.GetCoverageRulesResponse
(*TestServiceContainerBuildResult_Success)(nil), // 22: chromite.api.TestServiceContainerBuildResult.Success
(*TestServiceContainerBuildResult_Failure)(nil), // 23: chromite.api.TestServiceContainerBuildResult.Failure
nil, // 24: chromite.api.BuildTestServiceContainersRequest.LabelsEntry
(*BuildTargetUnitTestRequest_Flags)(nil), // 25: chromite.api.BuildTargetUnitTestRequest.Flags
(*VmTestRequest_SshOptions)(nil), // 26: chromite.api.VmTestRequest.SshOptions
(*VmTestRequest_VmTest)(nil), // 27: chromite.api.VmTestRequest.VmTest
(*MoblabVmTestRequest_Payload)(nil), // 28: chromite.api.MoblabVmTestRequest.Payload
(*chromiumos.BuildTarget)(nil), // 29: chromiumos.BuildTarget
(*chromiumos.Chroot)(nil), // 30: chromiumos.Chroot
(*api.GcrRepository)(nil), // 31: chromiumos.build.api.GcrRepository
(*chromiumos.PackageInfo)(nil), // 32: chromiumos.PackageInfo
(*chromiumos.MetricEvent)(nil), // 33: chromiumos.MetricEvent
(*Sysroot)(nil), // 34: chromite.api.Sysroot
(*chromiumos.Path)(nil), // 35: chromiumos.Path
(*chromiumos.GomaConfig)(nil), // 36: chromiumos.GomaConfig
(*plan.SourceTestPlan)(nil), // 37: chromiumos.test.plan.SourceTestPlan
(*api1.CoverageRule)(nil), // 38: chromiumos.test.api.CoverageRule
(*api.ContainerImageInfo)(nil), // 39: chromiumos.build.api.ContainerImageInfo
}
var file_chromite_api_test_proto_depIdxs = []int32{
22, // 0: chromite.api.TestServiceContainerBuildResult.success:type_name -> chromite.api.TestServiceContainerBuildResult.Success
23, // 1: chromite.api.TestServiceContainerBuildResult.failure:type_name -> chromite.api.TestServiceContainerBuildResult.Failure
29, // 2: chromite.api.BuildTestServiceContainersRequest.build_target:type_name -> chromiumos.BuildTarget
30, // 3: chromite.api.BuildTestServiceContainersRequest.chroot:type_name -> chromiumos.Chroot
31, // 4: chromite.api.BuildTestServiceContainersRequest.repository:type_name -> chromiumos.build.api.GcrRepository
24, // 5: chromite.api.BuildTestServiceContainersRequest.labels:type_name -> chromite.api.BuildTestServiceContainersRequest.LabelsEntry
1, // 6: chromite.api.BuildTestServiceContainersResponse.results:type_name -> chromite.api.TestServiceContainerBuildResult
29, // 7: chromite.api.BuildTargetUnitTestRequest.build_target:type_name -> chromiumos.BuildTarget
30, // 8: chromite.api.BuildTargetUnitTestRequest.chroot:type_name -> chromiumos.Chroot
25, // 9: chromite.api.BuildTargetUnitTestRequest.flags:type_name -> chromite.api.BuildTargetUnitTestRequest.Flags
32, // 10: chromite.api.BuildTargetUnitTestRequest.packages:type_name -> chromiumos.PackageInfo
32, // 11: chromite.api.BuildTargetUnitTestRequest.package_blocklist:type_name -> chromiumos.PackageInfo
32, // 12: chromite.api.BuildTargetUnitTestResponse.failed_packages:type_name -> chromiumos.PackageInfo
33, // 13: chromite.api.BuildTargetUnitTestResponse.events:type_name -> chromiumos.MetricEvent
30, // 14: chromite.api.ChromiteUnitTestRequest.chroot:type_name -> chromiumos.Chroot
30, // 15: chromite.api.ChromitePytestRequest.chroot:type_name -> chromiumos.Chroot
30, // 16: chromite.api.CrosSigningTestRequest.chroot:type_name -> chromiumos.Chroot
34, // 17: chromite.api.DebugInfoTestRequest.sysroot:type_name -> chromite.api.Sysroot
30, // 18: chromite.api.DebugInfoTestRequest.chroot:type_name -> chromiumos.Chroot
29, // 19: chromite.api.VmTestRequest.build_target:type_name -> chromiumos.BuildTarget
30, // 20: chromite.api.VmTestRequest.chroot:type_name -> chromiumos.Chroot
35, // 21: chromite.api.VmTestRequest.vm_path:type_name -> chromiumos.Path
26, // 22: chromite.api.VmTestRequest.ssh_options:type_name -> chromite.api.VmTestRequest.SshOptions
0, // 23: chromite.api.VmTestRequest.test_harness:type_name -> chromite.api.VmTestRequest.TestHarness
27, // 24: chromite.api.VmTestRequest.vm_tests:type_name -> chromite.api.VmTestRequest.VmTest
30, // 25: chromite.api.MoblabVmTestRequest.chroot:type_name -> chromiumos.Chroot
28, // 26: chromite.api.MoblabVmTestRequest.image_payload:type_name -> chromite.api.MoblabVmTestRequest.Payload
28, // 27: chromite.api.MoblabVmTestRequest.cache_payloads:type_name -> chromite.api.MoblabVmTestRequest.Payload
34, // 28: chromite.api.SimpleChromeWorkflowTestRequest.sysroot:type_name -> chromite.api.Sysroot
36, // 29: chromite.api.SimpleChromeWorkflowTestRequest.goma_config:type_name -> chromiumos.GomaConfig
30, // 30: chromite.api.GetCoverageRulesRequest.chroot:type_name -> chromiumos.Chroot
37, // 31: chromite.api.GetCoverageRulesRequest.source_test_plans:type_name -> chromiumos.test.plan.SourceTestPlan
35, // 32: chromite.api.GetCoverageRulesRequest.build_metadata_list:type_name -> chromiumos.Path
35, // 33: chromite.api.GetCoverageRulesRequest.dut_attribute_list:type_name -> chromiumos.Path
35, // 34: chromite.api.GetCoverageRulesRequest.flat_config_list:type_name -> chromiumos.Path
38, // 35: chromite.api.GetCoverageRulesResponse.coverage_rules:type_name -> chromiumos.test.api.CoverageRule
39, // 36: chromite.api.TestServiceContainerBuildResult.Success.image_info:type_name -> chromiumos.build.api.ContainerImageInfo
35, // 37: chromite.api.VmTestRequest.SshOptions.private_key_path:type_name -> chromiumos.Path
35, // 38: chromite.api.MoblabVmTestRequest.Payload.path:type_name -> chromiumos.Path
2, // 39: chromite.api.TestService.BuildTestServiceContainers:input_type -> chromite.api.BuildTestServiceContainersRequest
4, // 40: chromite.api.TestService.BuildTargetUnitTest:input_type -> chromite.api.BuildTargetUnitTestRequest
6, // 41: chromite.api.TestService.ChromiteUnitTest:input_type -> chromite.api.ChromiteUnitTestRequest
8, // 42: chromite.api.TestService.ChromitePytest:input_type -> chromite.api.ChromitePytestRequest
10, // 43: chromite.api.TestService.CrosSigningTest:input_type -> chromite.api.CrosSigningTestRequest
12, // 44: chromite.api.TestService.DebugInfoTest:input_type -> chromite.api.DebugInfoTestRequest
14, // 45: chromite.api.TestService.VmTest:input_type -> chromite.api.VmTestRequest
16, // 46: chromite.api.TestService.MoblabVmTest:input_type -> chromite.api.MoblabVmTestRequest
18, // 47: chromite.api.TestService.SimpleChromeWorkflowTest:input_type -> chromite.api.SimpleChromeWorkflowTestRequest
20, // 48: chromite.api.TestService.GetCoverageRules:input_type -> chromite.api.GetCoverageRulesRequest
3, // 49: chromite.api.TestService.BuildTestServiceContainers:output_type -> chromite.api.BuildTestServiceContainersResponse
5, // 50: chromite.api.TestService.BuildTargetUnitTest:output_type -> chromite.api.BuildTargetUnitTestResponse
7, // 51: chromite.api.TestService.ChromiteUnitTest:output_type -> chromite.api.ChromiteUnitTestResponse
9, // 52: chromite.api.TestService.ChromitePytest:output_type -> chromite.api.ChromitePytestResponse
11, // 53: chromite.api.TestService.CrosSigningTest:output_type -> chromite.api.CrosSigningTestResponse
13, // 54: chromite.api.TestService.DebugInfoTest:output_type -> chromite.api.DebugInfoTestResponse
15, // 55: chromite.api.TestService.VmTest:output_type -> chromite.api.VmTestResponse
17, // 56: chromite.api.TestService.MoblabVmTest:output_type -> chromite.api.MoblabVmTestResponse
19, // 57: chromite.api.TestService.SimpleChromeWorkflowTest:output_type -> chromite.api.SimpleChromeWorkflowTestResponse
21, // 58: chromite.api.TestService.GetCoverageRules:output_type -> chromite.api.GetCoverageRulesResponse
49, // [49:59] is the sub-list for method output_type
39, // [39:49] is the sub-list for method input_type
39, // [39:39] is the sub-list for extension type_name
39, // [39:39] is the sub-list for extension extendee
0, // [0:39] is the sub-list for field type_name
}
func init() { file_chromite_api_test_proto_init() }
func file_chromite_api_test_proto_init() {
if File_chromite_api_test_proto != nil {
return
}
file_chromite_api_build_api_proto_init()
file_chromite_api_sysroot_proto_init()
if !protoimpl.UnsafeEnabled {
file_chromite_api_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestServiceContainerBuildResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildTestServiceContainersRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildTestServiceContainersResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildTargetUnitTestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildTargetUnitTestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChromiteUnitTestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChromiteUnitTestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChromitePytestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChromitePytestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CrosSigningTestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CrosSigningTestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DebugInfoTestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DebugInfoTestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VmTestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VmTestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MoblabVmTestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MoblabVmTestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SimpleChromeWorkflowTestRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SimpleChromeWorkflowTestResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCoverageRulesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCoverageRulesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestServiceContainerBuildResult_Success); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TestServiceContainerBuildResult_Failure); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildTargetUnitTestRequest_Flags); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VmTestRequest_SshOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VmTestRequest_VmTest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_chromite_api_test_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MoblabVmTestRequest_Payload); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_chromite_api_test_proto_msgTypes[0].OneofWrappers = []interface{}{
(*TestServiceContainerBuildResult_Success_)(nil),
(*TestServiceContainerBuildResult_Failure_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_chromite_api_test_proto_rawDesc,
NumEnums: 1,
NumMessages: 28,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_chromite_api_test_proto_goTypes,
DependencyIndexes: file_chromite_api_test_proto_depIdxs,
EnumInfos: file_chromite_api_test_proto_enumTypes,
MessageInfos: file_chromite_api_test_proto_msgTypes,
}.Build()
File_chromite_api_test_proto = out.File
file_chromite_api_test_proto_rawDesc = nil
file_chromite_api_test_proto_goTypes = nil
file_chromite_api_test_proto_depIdxs = nil
}