blob: d0ef14e38652032d7f166ec1f67ee8e50c72628f [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: test_platform/request.proto
package test_platform
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
duration "github.com/golang/protobuf/ptypes/duration"
api "go.chromium.org/chromiumos/infra/proto/go/chromite/api"
chromiumos "go.chromium.org/chromiumos/infra/proto/go/chromiumos"
execution "go.chromium.org/chromiumos/infra/proto/go/test_platform/execution"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// ManagedPool enumerates certain large pools of DUTs in the lab.
//
// The distinction between managed / unmanaged pools (below) is historic
// and no longer relevant.
type Request_Params_Scheduling_ManagedPool int32
const (
Request_Params_Scheduling_MANAGED_POOL_UNSPECIFIED Request_Params_Scheduling_ManagedPool = 0
Request_Params_Scheduling_MANAGED_POOL_CQ Request_Params_Scheduling_ManagedPool = 1
Request_Params_Scheduling_MANAGED_POOL_BVT Request_Params_Scheduling_ManagedPool = 2
Request_Params_Scheduling_MANAGED_POOL_SUITES Request_Params_Scheduling_ManagedPool = 3
Request_Params_Scheduling_MANAGED_POOL_CTS Request_Params_Scheduling_ManagedPool = 4
Request_Params_Scheduling_MANAGED_POOL_CTS_PERBUILD Request_Params_Scheduling_ManagedPool = 5
Request_Params_Scheduling_MANAGED_POOL_CONTINUOUS Request_Params_Scheduling_ManagedPool = 6
Request_Params_Scheduling_MANAGED_POOL_ARC_PRESUBMIT Request_Params_Scheduling_ManagedPool = 7
Request_Params_Scheduling_MANAGED_POOL_QUOTA Request_Params_Scheduling_ManagedPool = 8
)
var Request_Params_Scheduling_ManagedPool_name = map[int32]string{
0: "MANAGED_POOL_UNSPECIFIED",
1: "MANAGED_POOL_CQ",
2: "MANAGED_POOL_BVT",
3: "MANAGED_POOL_SUITES",
4: "MANAGED_POOL_CTS",
5: "MANAGED_POOL_CTS_PERBUILD",
6: "MANAGED_POOL_CONTINUOUS",
7: "MANAGED_POOL_ARC_PRESUBMIT",
8: "MANAGED_POOL_QUOTA",
}
var Request_Params_Scheduling_ManagedPool_value = map[string]int32{
"MANAGED_POOL_UNSPECIFIED": 0,
"MANAGED_POOL_CQ": 1,
"MANAGED_POOL_BVT": 2,
"MANAGED_POOL_SUITES": 3,
"MANAGED_POOL_CTS": 4,
"MANAGED_POOL_CTS_PERBUILD": 5,
"MANAGED_POOL_CONTINUOUS": 6,
"MANAGED_POOL_ARC_PRESUBMIT": 7,
"MANAGED_POOL_QUOTA": 8,
}
func (x Request_Params_Scheduling_ManagedPool) String() string {
return proto.EnumName(Request_Params_Scheduling_ManagedPool_name, int32(x))
}
func (Request_Params_Scheduling_ManagedPool) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 4, 0}
}
// Request represents a request to the ChromeOS Test Platform to run a test,
// set of tests, suite of tests, or test plan on a set of devices (eventually
// also: virtual devices) in the ChromeOS Test Lab.
type Request struct {
Params *Request_Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"`
TestPlan *Request_TestPlan `protobuf:"bytes,5,opt,name=test_plan,json=testPlan,proto3" json:"test_plan,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request) Reset() { *m = Request{} }
func (m *Request) String() string { return proto.CompactTextString(m) }
func (*Request) ProtoMessage() {}
func (*Request) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0}
}
func (m *Request) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request.Unmarshal(m, b)
}
func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request.Marshal(b, m, deterministic)
}
func (m *Request) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request.Merge(m, src)
}
func (m *Request) XXX_Size() int {
return xxx_messageInfo_Request.Size(m)
}
func (m *Request) XXX_DiscardUnknown() {
xxx_messageInfo_Request.DiscardUnknown(m)
}
var xxx_messageInfo_Request proto.InternalMessageInfo
func (m *Request) GetParams() *Request_Params {
if m != nil {
return m.Params
}
return nil
}
func (m *Request) GetTestPlan() *Request_TestPlan {
if m != nil {
return m.TestPlan
}
return nil
}
// Params defines parameters that apply to an entire Request.
//
// NEXT_TAG: 11
type Request_Params struct {
HardwareAttributes *Request_Params_HardwareAttributes `protobuf:"bytes,1,opt,name=hardware_attributes,json=hardwareAttributes,proto3" json:"hardware_attributes,omitempty"`
SoftwareAttributes *Request_Params_SoftwareAttributes `protobuf:"bytes,2,opt,name=software_attributes,json=softwareAttributes,proto3" json:"software_attributes,omitempty"`
FreeformAttributes *Request_Params_FreeformAttributes `protobuf:"bytes,9,opt,name=freeform_attributes,json=freeformAttributes,proto3" json:"freeform_attributes,omitempty"`
SoftwareDependencies []*Request_Params_SoftwareDependency `protobuf:"bytes,3,rep,name=software_dependencies,json=softwareDependencies,proto3" json:"software_dependencies,omitempty"`
Scheduling *Request_Params_Scheduling `protobuf:"bytes,4,opt,name=scheduling,proto3" json:"scheduling,omitempty"`
Retry *Request_Params_Retry `protobuf:"bytes,5,opt,name=retry,proto3" json:"retry,omitempty"`
Metadata *Request_Params_Metadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
Time *Request_Params_Time `protobuf:"bytes,7,opt,name=time,proto3" json:"time,omitempty"`
Decorations *Request_Params_Decorations `protobuf:"bytes,8,opt,name=decorations,proto3" json:"decorations,omitempty"`
Legacy *Request_Params_Legacy `protobuf:"bytes,10,opt,name=legacy,proto3" json:"legacy,omitempty"`
Migrations *Request_Params_Migrations `protobuf:"bytes,12,opt,name=migrations,proto3" json:"migrations,omitempty"`
// Uniformly applied parameters for all test executions in this request.
ExecutionParam *execution.Param `protobuf:"bytes,13,opt,name=execution_param,json=executionParam,proto3" json:"execution_param,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params) Reset() { *m = Request_Params{} }
func (m *Request_Params) String() string { return proto.CompactTextString(m) }
func (*Request_Params) ProtoMessage() {}
func (*Request_Params) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0}
}
func (m *Request_Params) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params.Unmarshal(m, b)
}
func (m *Request_Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params.Marshal(b, m, deterministic)
}
func (m *Request_Params) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params.Merge(m, src)
}
func (m *Request_Params) XXX_Size() int {
return xxx_messageInfo_Request_Params.Size(m)
}
func (m *Request_Params) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params proto.InternalMessageInfo
func (m *Request_Params) GetHardwareAttributes() *Request_Params_HardwareAttributes {
if m != nil {
return m.HardwareAttributes
}
return nil
}
func (m *Request_Params) GetSoftwareAttributes() *Request_Params_SoftwareAttributes {
if m != nil {
return m.SoftwareAttributes
}
return nil
}
func (m *Request_Params) GetFreeformAttributes() *Request_Params_FreeformAttributes {
if m != nil {
return m.FreeformAttributes
}
return nil
}
func (m *Request_Params) GetSoftwareDependencies() []*Request_Params_SoftwareDependency {
if m != nil {
return m.SoftwareDependencies
}
return nil
}
func (m *Request_Params) GetScheduling() *Request_Params_Scheduling {
if m != nil {
return m.Scheduling
}
return nil
}
func (m *Request_Params) GetRetry() *Request_Params_Retry {
if m != nil {
return m.Retry
}
return nil
}
func (m *Request_Params) GetMetadata() *Request_Params_Metadata {
if m != nil {
return m.Metadata
}
return nil
}
func (m *Request_Params) GetTime() *Request_Params_Time {
if m != nil {
return m.Time
}
return nil
}
func (m *Request_Params) GetDecorations() *Request_Params_Decorations {
if m != nil {
return m.Decorations
}
return nil
}
func (m *Request_Params) GetLegacy() *Request_Params_Legacy {
if m != nil {
return m.Legacy
}
return nil
}
func (m *Request_Params) GetMigrations() *Request_Params_Migrations {
if m != nil {
return m.Migrations
}
return nil
}
func (m *Request_Params) GetExecutionParam() *execution.Param {
if m != nil {
return m.ExecutionParam
}
return nil
}
// HardwareAttributes defines the hardware-bound characteristics
// of the devices to run tests on.
type Request_Params_HardwareAttributes struct {
// Model is the model to run tests against.
Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_HardwareAttributes) Reset() { *m = Request_Params_HardwareAttributes{} }
func (m *Request_Params_HardwareAttributes) String() string { return proto.CompactTextString(m) }
func (*Request_Params_HardwareAttributes) ProtoMessage() {}
func (*Request_Params_HardwareAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 0}
}
func (m *Request_Params_HardwareAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_HardwareAttributes.Unmarshal(m, b)
}
func (m *Request_Params_HardwareAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_HardwareAttributes.Marshal(b, m, deterministic)
}
func (m *Request_Params_HardwareAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_HardwareAttributes.Merge(m, src)
}
func (m *Request_Params_HardwareAttributes) XXX_Size() int {
return xxx_messageInfo_Request_Params_HardwareAttributes.Size(m)
}
func (m *Request_Params_HardwareAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_HardwareAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_HardwareAttributes proto.InternalMessageInfo
func (m *Request_Params_HardwareAttributes) GetModel() string {
if m != nil {
return m.Model
}
return ""
}
// SoftwareAttributes defines software characteristics that are strongly
// associated with a device, though not immutable or hardware-bound.
type Request_Params_SoftwareAttributes struct {
BuildTarget *chromiumos.BuildTarget `protobuf:"bytes,2,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_SoftwareAttributes) Reset() { *m = Request_Params_SoftwareAttributes{} }
func (m *Request_Params_SoftwareAttributes) String() string { return proto.CompactTextString(m) }
func (*Request_Params_SoftwareAttributes) ProtoMessage() {}
func (*Request_Params_SoftwareAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 1}
}
func (m *Request_Params_SoftwareAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_SoftwareAttributes.Unmarshal(m, b)
}
func (m *Request_Params_SoftwareAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_SoftwareAttributes.Marshal(b, m, deterministic)
}
func (m *Request_Params_SoftwareAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_SoftwareAttributes.Merge(m, src)
}
func (m *Request_Params_SoftwareAttributes) XXX_Size() int {
return xxx_messageInfo_Request_Params_SoftwareAttributes.Size(m)
}
func (m *Request_Params_SoftwareAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_SoftwareAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_SoftwareAttributes proto.InternalMessageInfo
func (m *Request_Params_SoftwareAttributes) GetBuildTarget() *chromiumos.BuildTarget {
if m != nil {
return m.BuildTarget
}
return nil
}
// FreeformAttributes defines user-specified device attributes that are
// opaque to the test platform. It is preferrable not to use these, but
// they are provided to cover cases in which the test platform does not
// present a parameter corresponding to the attributes of interest.
type Request_Params_FreeformAttributes struct {
// SwarmingDimensions are raw swarming bot dimensions, expressed as
// "key:value" strings.
SwarmingDimensions []string `protobuf:"bytes,1,rep,name=swarming_dimensions,json=swarmingDimensions,proto3" json:"swarming_dimensions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_FreeformAttributes) Reset() { *m = Request_Params_FreeformAttributes{} }
func (m *Request_Params_FreeformAttributes) String() string { return proto.CompactTextString(m) }
func (*Request_Params_FreeformAttributes) ProtoMessage() {}
func (*Request_Params_FreeformAttributes) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 2}
}
func (m *Request_Params_FreeformAttributes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_FreeformAttributes.Unmarshal(m, b)
}
func (m *Request_Params_FreeformAttributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_FreeformAttributes.Marshal(b, m, deterministic)
}
func (m *Request_Params_FreeformAttributes) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_FreeformAttributes.Merge(m, src)
}
func (m *Request_Params_FreeformAttributes) XXX_Size() int {
return xxx_messageInfo_Request_Params_FreeformAttributes.Size(m)
}
func (m *Request_Params_FreeformAttributes) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_FreeformAttributes.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_FreeformAttributes proto.InternalMessageInfo
func (m *Request_Params_FreeformAttributes) GetSwarmingDimensions() []string {
if m != nil {
return m.SwarmingDimensions
}
return nil
}
// SoftwareDependency defines mutable software characteristics of the
// devices to run tests on (for instance, the desired version of ChromeOS).
type Request_Params_SoftwareDependency struct {
// Types that are valid to be assigned to Dep:
// *Request_Params_SoftwareDependency_ChromeosBuild
// *Request_Params_SoftwareDependency_RoFirmwareBuild
// *Request_Params_SoftwareDependency_RwFirmwareBuild
Dep isRequest_Params_SoftwareDependency_Dep `protobuf_oneof:"dep"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_SoftwareDependency) Reset() { *m = Request_Params_SoftwareDependency{} }
func (m *Request_Params_SoftwareDependency) String() string { return proto.CompactTextString(m) }
func (*Request_Params_SoftwareDependency) ProtoMessage() {}
func (*Request_Params_SoftwareDependency) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 3}
}
func (m *Request_Params_SoftwareDependency) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_SoftwareDependency.Unmarshal(m, b)
}
func (m *Request_Params_SoftwareDependency) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_SoftwareDependency.Marshal(b, m, deterministic)
}
func (m *Request_Params_SoftwareDependency) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_SoftwareDependency.Merge(m, src)
}
func (m *Request_Params_SoftwareDependency) XXX_Size() int {
return xxx_messageInfo_Request_Params_SoftwareDependency.Size(m)
}
func (m *Request_Params_SoftwareDependency) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_SoftwareDependency.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_SoftwareDependency proto.InternalMessageInfo
type isRequest_Params_SoftwareDependency_Dep interface {
isRequest_Params_SoftwareDependency_Dep()
}
type Request_Params_SoftwareDependency_ChromeosBuild struct {
ChromeosBuild string `protobuf:"bytes,3,opt,name=chromeos_build,json=chromeosBuild,proto3,oneof"`
}
type Request_Params_SoftwareDependency_RoFirmwareBuild struct {
RoFirmwareBuild string `protobuf:"bytes,4,opt,name=ro_firmware_build,json=roFirmwareBuild,proto3,oneof"`
}
type Request_Params_SoftwareDependency_RwFirmwareBuild struct {
RwFirmwareBuild string `protobuf:"bytes,5,opt,name=rw_firmware_build,json=rwFirmwareBuild,proto3,oneof"`
}
func (*Request_Params_SoftwareDependency_ChromeosBuild) isRequest_Params_SoftwareDependency_Dep() {}
func (*Request_Params_SoftwareDependency_RoFirmwareBuild) isRequest_Params_SoftwareDependency_Dep() {}
func (*Request_Params_SoftwareDependency_RwFirmwareBuild) isRequest_Params_SoftwareDependency_Dep() {}
func (m *Request_Params_SoftwareDependency) GetDep() isRequest_Params_SoftwareDependency_Dep {
if m != nil {
return m.Dep
}
return nil
}
func (m *Request_Params_SoftwareDependency) GetChromeosBuild() string {
if x, ok := m.GetDep().(*Request_Params_SoftwareDependency_ChromeosBuild); ok {
return x.ChromeosBuild
}
return ""
}
func (m *Request_Params_SoftwareDependency) GetRoFirmwareBuild() string {
if x, ok := m.GetDep().(*Request_Params_SoftwareDependency_RoFirmwareBuild); ok {
return x.RoFirmwareBuild
}
return ""
}
func (m *Request_Params_SoftwareDependency) GetRwFirmwareBuild() string {
if x, ok := m.GetDep().(*Request_Params_SoftwareDependency_RwFirmwareBuild); ok {
return x.RwFirmwareBuild
}
return ""
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*Request_Params_SoftwareDependency) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*Request_Params_SoftwareDependency_ChromeosBuild)(nil),
(*Request_Params_SoftwareDependency_RoFirmwareBuild)(nil),
(*Request_Params_SoftwareDependency_RwFirmwareBuild)(nil),
}
}
// Scheduling defines parameters that affect how the tests in this
// request are prioritized relative to other requests, and how capacity for
// them is allocated.
type Request_Params_Scheduling struct {
// Types that are valid to be assigned to Pool:
// *Request_Params_Scheduling_ManagedPool_
// *Request_Params_Scheduling_UnmanagedPool
Pool isRequest_Params_Scheduling_Pool `protobuf_oneof:"pool"`
// Priority corresponds to a swarming task priority; if specified, it
// should be in the range [50,255]. This priority will be used for
// any swaming tasks created by this run.
//
// Note that the scheduler behavior with a given priority depends on
// other factors, such as pool. In particular, if requests are run in
// a quotascheduler-controlled pool, then this priority will be ignored,
// as priority will be determined by quota account balances.
Priority int64 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
// It is an error to set both qs_account and priority at the same time.
// qs_account should be used if the request is scheduled on a pool
// managed by QuotaScheduler. See go/qs-enabled-pools for details.
// If qs_account is set for requests on no QuotaScheduler pools,
// it will be ignored and the request will default to running at
// the lowest priority.
QsAccount string `protobuf:"bytes,5,opt,name=qs_account,json=qsAccount,proto3" json:"qs_account,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_Scheduling) Reset() { *m = Request_Params_Scheduling{} }
func (m *Request_Params_Scheduling) String() string { return proto.CompactTextString(m) }
func (*Request_Params_Scheduling) ProtoMessage() {}
func (*Request_Params_Scheduling) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 4}
}
func (m *Request_Params_Scheduling) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_Scheduling.Unmarshal(m, b)
}
func (m *Request_Params_Scheduling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_Scheduling.Marshal(b, m, deterministic)
}
func (m *Request_Params_Scheduling) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_Scheduling.Merge(m, src)
}
func (m *Request_Params_Scheduling) XXX_Size() int {
return xxx_messageInfo_Request_Params_Scheduling.Size(m)
}
func (m *Request_Params_Scheduling) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_Scheduling.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_Scheduling proto.InternalMessageInfo
type isRequest_Params_Scheduling_Pool interface {
isRequest_Params_Scheduling_Pool()
}
type Request_Params_Scheduling_ManagedPool_ struct {
ManagedPool Request_Params_Scheduling_ManagedPool `protobuf:"varint,1,opt,name=managed_pool,json=managedPool,proto3,enum=test_platform.Request_Params_Scheduling_ManagedPool,oneof"`
}
type Request_Params_Scheduling_UnmanagedPool struct {
UnmanagedPool string `protobuf:"bytes,2,opt,name=unmanaged_pool,json=unmanagedPool,proto3,oneof"`
}
func (*Request_Params_Scheduling_ManagedPool_) isRequest_Params_Scheduling_Pool() {}
func (*Request_Params_Scheduling_UnmanagedPool) isRequest_Params_Scheduling_Pool() {}
func (m *Request_Params_Scheduling) GetPool() isRequest_Params_Scheduling_Pool {
if m != nil {
return m.Pool
}
return nil
}
func (m *Request_Params_Scheduling) GetManagedPool() Request_Params_Scheduling_ManagedPool {
if x, ok := m.GetPool().(*Request_Params_Scheduling_ManagedPool_); ok {
return x.ManagedPool
}
return Request_Params_Scheduling_MANAGED_POOL_UNSPECIFIED
}
func (m *Request_Params_Scheduling) GetUnmanagedPool() string {
if x, ok := m.GetPool().(*Request_Params_Scheduling_UnmanagedPool); ok {
return x.UnmanagedPool
}
return ""
}
func (m *Request_Params_Scheduling) GetPriority() int64 {
if m != nil {
return m.Priority
}
return 0
}
func (m *Request_Params_Scheduling) GetQsAccount() string {
if m != nil {
return m.QsAccount
}
return ""
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*Request_Params_Scheduling) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*Request_Params_Scheduling_ManagedPool_)(nil),
(*Request_Params_Scheduling_UnmanagedPool)(nil),
}
}
// Retry defines parameters that affect how failed tests within
// a request are retried.
type Request_Params_Retry struct {
// Whether to allow test retries.
Allow bool `protobuf:"varint,1,opt,name=allow,proto3" json:"allow,omitempty"`
// Maximum number of retries of tests within this invocation to allow.
// 0 = unlimited.
Max int32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_Retry) Reset() { *m = Request_Params_Retry{} }
func (m *Request_Params_Retry) String() string { return proto.CompactTextString(m) }
func (*Request_Params_Retry) ProtoMessage() {}
func (*Request_Params_Retry) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 5}
}
func (m *Request_Params_Retry) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_Retry.Unmarshal(m, b)
}
func (m *Request_Params_Retry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_Retry.Marshal(b, m, deterministic)
}
func (m *Request_Params_Retry) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_Retry.Merge(m, src)
}
func (m *Request_Params_Retry) XXX_Size() int {
return xxx_messageInfo_Request_Params_Retry.Size(m)
}
func (m *Request_Params_Retry) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_Retry.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_Retry proto.InternalMessageInfo
func (m *Request_Params_Retry) GetAllow() bool {
if m != nil {
return m.Allow
}
return false
}
func (m *Request_Params_Retry) GetMax() int32 {
if m != nil {
return m.Max
}
return 0
}
// Metadata defines parameters that determine where test definitions
// and metadata are stored and discovered from.
type Request_Params_Metadata struct {
// A Google Storage path to the location of test metadata to be used.
// For example:
// "gs://chromeos-image-archive/arkham-release/R57-9202.10.11".
TestMetadataUrl string `protobuf:"bytes,1,opt,name=test_metadata_url,json=testMetadataUrl,proto3" json:"test_metadata_url,omitempty"`
// A Google Storage path to the location of image archive in which to find
// debug symbols to be used in post-process symbolication of crashes. This
// is generally the same as test_metadata_url.
DebugSymbolsArchiveUrl string `protobuf:"bytes,2,opt,name=debug_symbols_archive_url,json=debugSymbolsArchiveUrl,proto3" json:"debug_symbols_archive_url,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_Metadata) Reset() { *m = Request_Params_Metadata{} }
func (m *Request_Params_Metadata) String() string { return proto.CompactTextString(m) }
func (*Request_Params_Metadata) ProtoMessage() {}
func (*Request_Params_Metadata) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 6}
}
func (m *Request_Params_Metadata) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_Metadata.Unmarshal(m, b)
}
func (m *Request_Params_Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_Metadata.Marshal(b, m, deterministic)
}
func (m *Request_Params_Metadata) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_Metadata.Merge(m, src)
}
func (m *Request_Params_Metadata) XXX_Size() int {
return xxx_messageInfo_Request_Params_Metadata.Size(m)
}
func (m *Request_Params_Metadata) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_Metadata.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_Metadata proto.InternalMessageInfo
func (m *Request_Params_Metadata) GetTestMetadataUrl() string {
if m != nil {
return m.TestMetadataUrl
}
return ""
}
func (m *Request_Params_Metadata) GetDebugSymbolsArchiveUrl() string {
if m != nil {
return m.DebugSymbolsArchiveUrl
}
return ""
}
// Time defines parameters related to timeouts.
type Request_Params_Time struct {
// Maximum duration for the entire request to be handled.
MaximumDuration *duration.Duration `protobuf:"bytes,1,opt,name=maximum_duration,json=maximumDuration,proto3" json:"maximum_duration,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_Time) Reset() { *m = Request_Params_Time{} }
func (m *Request_Params_Time) String() string { return proto.CompactTextString(m) }
func (*Request_Params_Time) ProtoMessage() {}
func (*Request_Params_Time) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 7}
}
func (m *Request_Params_Time) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_Time.Unmarshal(m, b)
}
func (m *Request_Params_Time) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_Time.Marshal(b, m, deterministic)
}
func (m *Request_Params_Time) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_Time.Merge(m, src)
}
func (m *Request_Params_Time) XXX_Size() int {
return xxx_messageInfo_Request_Params_Time.Size(m)
}
func (m *Request_Params_Time) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_Time.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_Time proto.InternalMessageInfo
func (m *Request_Params_Time) GetMaximumDuration() *duration.Duration {
if m != nil {
return m.MaximumDuration
}
return nil
}
// Decorations defines parameters that add additional decorations to
// test runs.
type Request_Params_Decorations struct {
// AutotestKeyvals are (key, value) pairs that will be added to all
// autotest tasks run.
AutotestKeyvals map[string]string `protobuf:"bytes,1,rep,name=autotest_keyvals,json=autotestKeyvals,proto3" json:"autotest_keyvals,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Tags are swarming tags that will be applied to all swarming tasks
// launched.
Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_Decorations) Reset() { *m = Request_Params_Decorations{} }
func (m *Request_Params_Decorations) String() string { return proto.CompactTextString(m) }
func (*Request_Params_Decorations) ProtoMessage() {}
func (*Request_Params_Decorations) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 8}
}
func (m *Request_Params_Decorations) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_Decorations.Unmarshal(m, b)
}
func (m *Request_Params_Decorations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_Decorations.Marshal(b, m, deterministic)
}
func (m *Request_Params_Decorations) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_Decorations.Merge(m, src)
}
func (m *Request_Params_Decorations) XXX_Size() int {
return xxx_messageInfo_Request_Params_Decorations.Size(m)
}
func (m *Request_Params_Decorations) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_Decorations.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_Decorations proto.InternalMessageInfo
func (m *Request_Params_Decorations) GetAutotestKeyvals() map[string]string {
if m != nil {
return m.AutotestKeyvals
}
return nil
}
func (m *Request_Params_Decorations) GetTags() []string {
if m != nil {
return m.Tags
}
return nil
}
// Legacy encodes arguments that relate to migration from legacy backend
// (autotest); support for these arguments will be phased out.
type Request_Params_Legacy struct {
// If autotest_suite is defined, then if the autotest backend is selected
// for running this request, the entire enumeration will be ignored, and
// replaced by a single invocation of this named autotest suite.
AutotestSuite string `protobuf:"bytes,1,opt,name=autotest_suite,json=autotestSuite,proto3" json:"autotest_suite,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_Legacy) Reset() { *m = Request_Params_Legacy{} }
func (m *Request_Params_Legacy) String() string { return proto.CompactTextString(m) }
func (*Request_Params_Legacy) ProtoMessage() {}
func (*Request_Params_Legacy) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 9}
}
func (m *Request_Params_Legacy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_Legacy.Unmarshal(m, b)
}
func (m *Request_Params_Legacy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_Legacy.Marshal(b, m, deterministic)
}
func (m *Request_Params_Legacy) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_Legacy.Merge(m, src)
}
func (m *Request_Params_Legacy) XXX_Size() int {
return xxx_messageInfo_Request_Params_Legacy.Size(m)
}
func (m *Request_Params_Legacy) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_Legacy.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_Legacy proto.InternalMessageInfo
func (m *Request_Params_Legacy) GetAutotestSuite() string {
if m != nil {
return m.AutotestSuite
}
return ""
}
// Migrations defines parameters that facilitate gradual migrations between
// different implementations of downstream components.
type Request_Params_Migrations struct {
// If true, schedule individual tests via buildbucket and run them via
// test_runner recipe.
// Otherwise, schedule individual tests via raw swarming calls and run
// them via skylab_swarming_worker.
// TODO(crbug/1033287): remove when migration is complete.
UseTestRunner bool `protobuf:"varint,1,opt,name=use_test_runner,json=useTestRunner,proto3" json:"use_test_runner,omitempty"`
// If true, test tasks will perform synchronous offload of the contents
// of $SYNCHRONOUS_OFFLOAD_DIR to a GS bucket. This requires
// use_test_runner to also be set to true: if use_test_runner is set to
// false and enable_synchronous_offload is set to true, the build will
// fail validation.
// If false, such offload will be skipped.
EnableSynchronousOffload bool `protobuf:"varint,2,opt,name=enable_synchronous_offload,json=enableSynchronousOffload,proto3" json:"enable_synchronous_offload,omitempty"`
// Turn on synchronous offloads even if there is no pubsub topic set.
// Not intended as a long-term change, but useful for testing synchronous
// offloads during rollout.
NotificationlessOffload bool `protobuf:"varint,3,opt,name=notificationless_offload,json=notificationlessOffload,proto3" json:"notificationless_offload,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Params_Migrations) Reset() { *m = Request_Params_Migrations{} }
func (m *Request_Params_Migrations) String() string { return proto.CompactTextString(m) }
func (*Request_Params_Migrations) ProtoMessage() {}
func (*Request_Params_Migrations) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 0, 10}
}
func (m *Request_Params_Migrations) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Params_Migrations.Unmarshal(m, b)
}
func (m *Request_Params_Migrations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Params_Migrations.Marshal(b, m, deterministic)
}
func (m *Request_Params_Migrations) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Params_Migrations.Merge(m, src)
}
func (m *Request_Params_Migrations) XXX_Size() int {
return xxx_messageInfo_Request_Params_Migrations.Size(m)
}
func (m *Request_Params_Migrations) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Params_Migrations.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Params_Migrations proto.InternalMessageInfo
func (m *Request_Params_Migrations) GetUseTestRunner() bool {
if m != nil {
return m.UseTestRunner
}
return false
}
func (m *Request_Params_Migrations) GetEnableSynchronousOffload() bool {
if m != nil {
return m.EnableSynchronousOffload
}
return false
}
func (m *Request_Params_Migrations) GetNotificationlessOffload() bool {
if m != nil {
return m.NotificationlessOffload
}
return false
}
// SuiteRequest defines an individual named suite.
type Request_Suite struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Suite) Reset() { *m = Request_Suite{} }
func (m *Request_Suite) String() string { return proto.CompactTextString(m) }
func (*Request_Suite) ProtoMessage() {}
func (*Request_Suite) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 1}
}
func (m *Request_Suite) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Suite.Unmarshal(m, b)
}
func (m *Request_Suite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Suite.Marshal(b, m, deterministic)
}
func (m *Request_Suite) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Suite.Merge(m, src)
}
func (m *Request_Suite) XXX_Size() int {
return xxx_messageInfo_Request_Suite.Size(m)
}
func (m *Request_Suite) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Suite.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Suite proto.InternalMessageInfo
func (m *Request_Suite) GetName() string {
if m != nil {
return m.Name
}
return ""
}
type Request_Test struct {
// Types that are valid to be assigned to Harness:
// *Request_Test_Autotest_
Harness isRequest_Test_Harness `protobuf_oneof:"harness"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Test) Reset() { *m = Request_Test{} }
func (m *Request_Test) String() string { return proto.CompactTextString(m) }
func (*Request_Test) ProtoMessage() {}
func (*Request_Test) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 2}
}
func (m *Request_Test) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Test.Unmarshal(m, b)
}
func (m *Request_Test) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Test.Marshal(b, m, deterministic)
}
func (m *Request_Test) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Test.Merge(m, src)
}
func (m *Request_Test) XXX_Size() int {
return xxx_messageInfo_Request_Test.Size(m)
}
func (m *Request_Test) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Test.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Test proto.InternalMessageInfo
type isRequest_Test_Harness interface {
isRequest_Test_Harness()
}
type Request_Test_Autotest_ struct {
Autotest *Request_Test_Autotest `protobuf:"bytes,1,opt,name=autotest,proto3,oneof"`
}
func (*Request_Test_Autotest_) isRequest_Test_Harness() {}
func (m *Request_Test) GetHarness() isRequest_Test_Harness {
if m != nil {
return m.Harness
}
return nil
}
func (m *Request_Test) GetAutotest() *Request_Test_Autotest {
if x, ok := m.GetHarness().(*Request_Test_Autotest_); ok {
return x.Autotest
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*Request_Test) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*Request_Test_Autotest_)(nil),
}
}
type Request_Test_Autotest struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
TestArgs string `protobuf:"bytes,2,opt,name=test_args,json=testArgs,proto3" json:"test_args,omitempty"`
// Name to be used to display this test's output artifacts, e.g. logs,
// results etc. By default display_name is the same as name.
//
// display_name is especially useful when using test_args to distinguish
// between multiple instances of the same test in a request.
DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Test_Autotest) Reset() { *m = Request_Test_Autotest{} }
func (m *Request_Test_Autotest) String() string { return proto.CompactTextString(m) }
func (*Request_Test_Autotest) ProtoMessage() {}
func (*Request_Test_Autotest) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 2, 0}
}
func (m *Request_Test_Autotest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Test_Autotest.Unmarshal(m, b)
}
func (m *Request_Test_Autotest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Test_Autotest.Marshal(b, m, deterministic)
}
func (m *Request_Test_Autotest) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Test_Autotest.Merge(m, src)
}
func (m *Request_Test_Autotest) XXX_Size() int {
return xxx_messageInfo_Request_Test_Autotest.Size(m)
}
func (m *Request_Test_Autotest) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Test_Autotest.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Test_Autotest proto.InternalMessageInfo
func (m *Request_Test_Autotest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *Request_Test_Autotest) GetTestArgs() string {
if m != nil {
return m.TestArgs
}
return ""
}
func (m *Request_Test_Autotest) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
// Enumeration is a previously enumerated test plan.
//
// This is a copy of test_platform.steps.EnumerationResponse
// Keep in sync.
type Request_Enumeration struct {
AutotestInvocations []*Request_Enumeration_AutotestInvocation `protobuf:"bytes,2,rep,name=autotest_invocations,json=autotestInvocations,proto3" json:"autotest_invocations,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Enumeration) Reset() { *m = Request_Enumeration{} }
func (m *Request_Enumeration) String() string { return proto.CompactTextString(m) }
func (*Request_Enumeration) ProtoMessage() {}
func (*Request_Enumeration) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 3}
}
func (m *Request_Enumeration) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Enumeration.Unmarshal(m, b)
}
func (m *Request_Enumeration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Enumeration.Marshal(b, m, deterministic)
}
func (m *Request_Enumeration) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Enumeration.Merge(m, src)
}
func (m *Request_Enumeration) XXX_Size() int {
return xxx_messageInfo_Request_Enumeration.Size(m)
}
func (m *Request_Enumeration) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Enumeration.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Enumeration proto.InternalMessageInfo
func (m *Request_Enumeration) GetAutotestInvocations() []*Request_Enumeration_AutotestInvocation {
if m != nil {
return m.AutotestInvocations
}
return nil
}
type Request_Enumeration_AutotestInvocation struct {
Test *api.AutotestTest `protobuf:"bytes,1,opt,name=test,proto3" json:"test,omitempty"`
TestArgs string `protobuf:"bytes,2,opt,name=test_args,json=testArgs,proto3" json:"test_args,omitempty"`
DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
ResultKeyvals map[string]string `protobuf:"bytes,4,rep,name=result_keyvals,json=resultKeyvals,proto3" json:"result_keyvals,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_Enumeration_AutotestInvocation) Reset() {
*m = Request_Enumeration_AutotestInvocation{}
}
func (m *Request_Enumeration_AutotestInvocation) String() string { return proto.CompactTextString(m) }
func (*Request_Enumeration_AutotestInvocation) ProtoMessage() {}
func (*Request_Enumeration_AutotestInvocation) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 3, 0}
}
func (m *Request_Enumeration_AutotestInvocation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_Enumeration_AutotestInvocation.Unmarshal(m, b)
}
func (m *Request_Enumeration_AutotestInvocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_Enumeration_AutotestInvocation.Marshal(b, m, deterministic)
}
func (m *Request_Enumeration_AutotestInvocation) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_Enumeration_AutotestInvocation.Merge(m, src)
}
func (m *Request_Enumeration_AutotestInvocation) XXX_Size() int {
return xxx_messageInfo_Request_Enumeration_AutotestInvocation.Size(m)
}
func (m *Request_Enumeration_AutotestInvocation) XXX_DiscardUnknown() {
xxx_messageInfo_Request_Enumeration_AutotestInvocation.DiscardUnknown(m)
}
var xxx_messageInfo_Request_Enumeration_AutotestInvocation proto.InternalMessageInfo
func (m *Request_Enumeration_AutotestInvocation) GetTest() *api.AutotestTest {
if m != nil {
return m.Test
}
return nil
}
func (m *Request_Enumeration_AutotestInvocation) GetTestArgs() string {
if m != nil {
return m.TestArgs
}
return ""
}
func (m *Request_Enumeration_AutotestInvocation) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
func (m *Request_Enumeration_AutotestInvocation) GetResultKeyvals() map[string]string {
if m != nil {
return m.ResultKeyvals
}
return nil
}
type Request_TestPlan struct {
Suite []*Request_Suite `protobuf:"bytes,1,rep,name=suite,proto3" json:"suite,omitempty"`
Test []*Request_Test `protobuf:"bytes,2,rep,name=test,proto3" json:"test,omitempty"`
Enumeration *Request_Enumeration `protobuf:"bytes,3,opt,name=enumeration,proto3" json:"enumeration,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Request_TestPlan) Reset() { *m = Request_TestPlan{} }
func (m *Request_TestPlan) String() string { return proto.CompactTextString(m) }
func (*Request_TestPlan) ProtoMessage() {}
func (*Request_TestPlan) Descriptor() ([]byte, []int) {
return fileDescriptor_7f5ab0d1581e8f0c, []int{0, 4}
}
func (m *Request_TestPlan) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Request_TestPlan.Unmarshal(m, b)
}
func (m *Request_TestPlan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Request_TestPlan.Marshal(b, m, deterministic)
}
func (m *Request_TestPlan) XXX_Merge(src proto.Message) {
xxx_messageInfo_Request_TestPlan.Merge(m, src)
}
func (m *Request_TestPlan) XXX_Size() int {
return xxx_messageInfo_Request_TestPlan.Size(m)
}
func (m *Request_TestPlan) XXX_DiscardUnknown() {
xxx_messageInfo_Request_TestPlan.DiscardUnknown(m)
}
var xxx_messageInfo_Request_TestPlan proto.InternalMessageInfo
func (m *Request_TestPlan) GetSuite() []*Request_Suite {
if m != nil {
return m.Suite
}
return nil
}
func (m *Request_TestPlan) GetTest() []*Request_Test {
if m != nil {
return m.Test
}
return nil
}
func (m *Request_TestPlan) GetEnumeration() *Request_Enumeration {
if m != nil {
return m.Enumeration
}
return nil
}
func init() {
proto.RegisterEnum("test_platform.Request_Params_Scheduling_ManagedPool", Request_Params_Scheduling_ManagedPool_name, Request_Params_Scheduling_ManagedPool_value)
proto.RegisterType((*Request)(nil), "test_platform.Request")
proto.RegisterType((*Request_Params)(nil), "test_platform.Request.Params")
proto.RegisterType((*Request_Params_HardwareAttributes)(nil), "test_platform.Request.Params.HardwareAttributes")
proto.RegisterType((*Request_Params_SoftwareAttributes)(nil), "test_platform.Request.Params.SoftwareAttributes")
proto.RegisterType((*Request_Params_FreeformAttributes)(nil), "test_platform.Request.Params.FreeformAttributes")
proto.RegisterType((*Request_Params_SoftwareDependency)(nil), "test_platform.Request.Params.SoftwareDependency")
proto.RegisterType((*Request_Params_Scheduling)(nil), "test_platform.Request.Params.Scheduling")
proto.RegisterType((*Request_Params_Retry)(nil), "test_platform.Request.Params.Retry")
proto.RegisterType((*Request_Params_Metadata)(nil), "test_platform.Request.Params.Metadata")
proto.RegisterType((*Request_Params_Time)(nil), "test_platform.Request.Params.Time")
proto.RegisterType((*Request_Params_Decorations)(nil), "test_platform.Request.Params.Decorations")
proto.RegisterMapType((map[string]string)(nil), "test_platform.Request.Params.Decorations.AutotestKeyvalsEntry")
proto.RegisterType((*Request_Params_Legacy)(nil), "test_platform.Request.Params.Legacy")
proto.RegisterType((*Request_Params_Migrations)(nil), "test_platform.Request.Params.Migrations")
proto.RegisterType((*Request_Suite)(nil), "test_platform.Request.Suite")
proto.RegisterType((*Request_Test)(nil), "test_platform.Request.Test")
proto.RegisterType((*Request_Test_Autotest)(nil), "test_platform.Request.Test.Autotest")
proto.RegisterType((*Request_Enumeration)(nil), "test_platform.Request.Enumeration")
proto.RegisterType((*Request_Enumeration_AutotestInvocation)(nil), "test_platform.Request.Enumeration.AutotestInvocation")
proto.RegisterMapType((map[string]string)(nil), "test_platform.Request.Enumeration.AutotestInvocation.ResultKeyvalsEntry")
proto.RegisterType((*Request_TestPlan)(nil), "test_platform.Request.TestPlan")
}
func init() { proto.RegisterFile("test_platform/request.proto", fileDescriptor_7f5ab0d1581e8f0c) }
var fileDescriptor_7f5ab0d1581e8f0c = []byte{
// 1450 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0x5b, 0x73, 0xdb, 0xc4,
0x17, 0x8f, 0xe3, 0x4b, 0x9c, 0xe3, 0x5c, 0xd4, 0x4d, 0xfe, 0x8d, 0xab, 0xb4, 0xfd, 0x87, 0xb6,
0x94, 0xd2, 0x61, 0x64, 0x26, 0x50, 0x20, 0x9d, 0x0e, 0x83, 0x1d, 0xbb, 0x4d, 0xda, 0x5c, 0xdc,
0xb5, 0xcd, 0x0c, 0x3c, 0xa0, 0x59, 0x5b, 0x6b, 0x59, 0x53, 0x49, 0xeb, 0xec, 0x4a, 0x49, 0xfd,
0x6d, 0xf8, 0x00, 0xf0, 0xc0, 0x43, 0x87, 0x8f, 0x01, 0x5f, 0x07, 0x9e, 0x18, 0xad, 0x2e, 0x96,
0xe2, 0xc6, 0x04, 0x78, 0xdb, 0x3d, 0xe7, 0xf7, 0x3b, 0xb7, 0xdd, 0x73, 0xb4, 0x82, 0x6d, 0x8f,
0x0a, 0x4f, 0x1f, 0xdb, 0xc4, 0x1b, 0x32, 0xee, 0xd4, 0x38, 0x3d, 0xf3, 0xa9, 0xf0, 0xb4, 0x31,
0x67, 0x1e, 0x43, 0xab, 0x19, 0xa5, 0xba, 0x33, 0x18, 0x71, 0xe6, 0x58, 0x1e, 0xad, 0x91, 0xb1,
0x55, 0x93, 0x3a, 0x87, 0x7a, 0xc4, 0x20, 0x1e, 0x09, 0x09, 0xea, 0x56, 0x88, 0xf0, 0x1d, 0x26,
0x6a, 0x03, 0xe6, 0x38, 0xcc, 0x8d, 0x14, 0x77, 0x4d, 0xc6, 0x4c, 0x9b, 0xd6, 0xe4, 0xae, 0xef,
0x0f, 0x6b, 0x86, 0xcf, 0x89, 0x67, 0x25, 0xfa, 0xfb, 0xd9, 0x30, 0xe8, 0x5b, 0x3a, 0xf0, 0x03,
0x75, 0x6d, 0x4c, 0x38, 0x71, 0x42, 0xd0, 0xbd, 0x3f, 0x55, 0x58, 0xc2, 0x61, 0x80, 0xe8, 0x09,
0x94, 0xa4, 0x4a, 0x54, 0x73, 0x3b, 0xb9, 0x47, 0x95, 0xdd, 0x3b, 0x5a, 0xc6, 0x82, 0x16, 0xe1,
0xb4, 0xb6, 0x04, 0xe1, 0x08, 0x8c, 0x9e, 0xc1, 0x72, 0x8c, 0x73, 0xab, 0x45, 0xc9, 0xfc, 0xff,
0x15, 0xcc, 0x2e, 0x15, 0x5e, 0xdb, 0x26, 0x2e, 0x2e, 0x7b, 0xd1, 0x4a, 0xfd, 0x69, 0x03, 0x4a,
0xa1, 0x41, 0x44, 0x60, 0x63, 0x44, 0xb8, 0x71, 0x41, 0x38, 0xd5, 0x89, 0xe7, 0x71, 0xab, 0xef,
0x7b, 0x34, 0x0e, 0xe6, 0xd3, 0xb9, 0xc1, 0x68, 0x07, 0x11, 0xb1, 0x9e, 0xf0, 0x30, 0x1a, 0xcd,
0xc8, 0x02, 0x17, 0x82, 0x0d, 0xbd, 0xcb, 0x2e, 0x16, 0xaf, 0xe3, 0xa2, 0x13, 0x11, 0xd3, 0x2e,
0xc4, 0x8c, 0x2c, 0x70, 0x31, 0xe4, 0x94, 0x06, 0x16, 0xd2, 0x2e, 0x96, 0xaf, 0xe3, 0xe2, 0x79,
0x44, 0x4c, 0xbb, 0x18, 0xce, 0xc8, 0x10, 0x85, 0xff, 0x25, 0x59, 0x18, 0x74, 0x4c, 0x5d, 0x83,
0xba, 0x03, 0x8b, 0x8a, 0x6a, 0x7e, 0x27, 0x7f, 0xfd, 0x3c, 0x9a, 0x31, 0x73, 0x82, 0x37, 0xc5,
0x65, 0x99, 0x45, 0x05, 0x3a, 0x00, 0x10, 0x83, 0x11, 0x35, 0x7c, 0xdb, 0x72, 0xcd, 0x6a, 0x41,
0x26, 0xf0, 0xe8, 0x6f, 0x6c, 0x27, 0x78, 0x9c, 0xe2, 0xa2, 0x3d, 0x28, 0x72, 0xea, 0xf1, 0x49,
0x74, 0x3d, 0xee, 0xcf, 0x37, 0x82, 0x03, 0x28, 0x0e, 0x19, 0xa8, 0x01, 0xe5, 0xb8, 0x21, 0xaa,
0x25, 0xc9, 0x7e, 0x38, 0x9f, 0x7d, 0x1c, 0xa1, 0x71, 0xc2, 0x43, 0x5f, 0x40, 0xc1, 0xb3, 0x1c,
0x5a, 0x5d, 0x92, 0xfc, 0x7b, 0xf3, 0xf9, 0x5d, 0xcb, 0xa1, 0x58, 0xe2, 0xd1, 0x2b, 0xa8, 0x18,
0x74, 0xc0, 0xc2, 0xae, 0x12, 0xd5, 0xb2, 0xa4, 0x7f, 0x3c, 0x9f, 0xde, 0x9c, 0x12, 0x70, 0x9a,
0x8d, 0x9e, 0x41, 0xc9, 0xa6, 0x26, 0x19, 0x4c, 0xaa, 0x20, 0xed, 0x3c, 0x98, 0x6f, 0xe7, 0x48,
0x62, 0x71, 0xc4, 0x09, 0xce, 0xc2, 0xb1, 0xcc, 0x38, 0x92, 0x95, 0xeb, 0x9c, 0xc5, 0x71, 0x82,
0xc7, 0x29, 0x2e, 0x7a, 0x01, 0xeb, 0xc9, 0x28, 0xd0, 0x65, 0x0b, 0x57, 0x57, 0xa5, 0xb9, 0xbb,
0x97, 0xcc, 0x25, 0xa8, 0xd0, 0x20, 0x5e, 0x4b, 0x04, 0x72, 0xaf, 0x3e, 0x06, 0x34, 0xdb, 0x75,
0x68, 0x13, 0x8a, 0x0e, 0x33, 0xa8, 0x2d, 0xdb, 0x76, 0x19, 0x87, 0x1b, 0xb5, 0x0d, 0x68, 0xb6,
0x7d, 0xd0, 0x53, 0x58, 0xe9, 0xfb, 0x96, 0x6d, 0xe8, 0x1e, 0xe1, 0x26, 0xf5, 0xa2, 0x36, 0xdc,
0xd2, 0xa6, 0x13, 0x4f, 0x6b, 0x04, 0xfa, 0xae, 0x54, 0xe3, 0x4a, 0x7f, 0xba, 0x51, 0x5b, 0x80,
0x66, 0xbb, 0x05, 0xd5, 0x60, 0x43, 0x5c, 0x10, 0xee, 0x58, 0xae, 0xa9, 0x1b, 0x96, 0x43, 0x5d,
0x21, 0xeb, 0x95, 0xdb, 0xc9, 0x3f, 0x5a, 0xc6, 0x28, 0x56, 0x35, 0x13, 0x8d, 0xfa, 0x63, 0x6e,
0x1a, 0xd9, 0xb4, 0x21, 0xd0, 0x47, 0xb0, 0x26, 0x83, 0xa0, 0x4c, 0xe8, 0xd2, 0x6b, 0x35, 0x1f,
0xa4, 0x73, 0xb0, 0x80, 0x57, 0x63, 0xb9, 0x8c, 0x0c, 0x7d, 0x02, 0x37, 0x38, 0xd3, 0x87, 0x16,
0x77, 0x64, 0x37, 0x86, 0xd8, 0x42, 0x84, 0x5d, 0xe7, 0xec, 0x79, 0xa4, 0x99, 0xa2, 0x2f, 0x2e,
0xa3, 0x8b, 0x09, 0xfa, 0x22, 0x83, 0x6e, 0x14, 0x21, 0x6f, 0xd0, 0xb1, 0xfa, 0x5b, 0x1e, 0x60,
0xda, 0x57, 0xe8, 0x3b, 0x58, 0x71, 0x88, 0x4b, 0x4c, 0x6a, 0xe8, 0x63, 0xc6, 0xc2, 0x3a, 0xaf,
0xed, 0x7e, 0x7e, 0xdd, 0xbe, 0xd4, 0x8e, 0x43, 0x72, 0x9b, 0x31, 0xfb, 0x60, 0x01, 0x57, 0x9c,
0xe9, 0x36, 0xc8, 0xda, 0x77, 0x33, 0xc6, 0x17, 0xe3, 0xac, 0x13, 0xb9, 0x04, 0xaa, 0x50, 0x1e,
0x73, 0x8b, 0x71, 0xcb, 0x9b, 0xc8, 0x64, 0xf3, 0x38, 0xd9, 0xa3, 0x3b, 0x00, 0x67, 0x42, 0x27,
0x83, 0x01, 0xf3, 0x5d, 0x2f, 0x4c, 0x0e, 0x2f, 0x9f, 0x89, 0x7a, 0x28, 0xb8, 0xf7, 0x47, 0x0e,
0x2a, 0xa9, 0x10, 0xd0, 0x6d, 0xa8, 0x1e, 0xd7, 0x4f, 0xea, 0x2f, 0x5a, 0x4d, 0xbd, 0x7d, 0x7a,
0x7a, 0xa4, 0xf7, 0x4e, 0x3a, 0xed, 0xd6, 0xfe, 0xe1, 0xf3, 0xc3, 0x56, 0x53, 0x59, 0x40, 0x1b,
0xb0, 0x9e, 0xd1, 0xee, 0xbf, 0x56, 0x72, 0x68, 0x13, 0x94, 0x8c, 0xb0, 0xf1, 0x6d, 0x57, 0x59,
0x44, 0x5b, 0xb0, 0x91, 0x91, 0x76, 0x7a, 0x87, 0xdd, 0x56, 0x47, 0xc9, 0xcf, 0xc0, 0xf7, 0xbb,
0x1d, 0xa5, 0x80, 0xee, 0xc0, 0xad, 0xcb, 0x52, 0xbd, 0xdd, 0xc2, 0x8d, 0xde, 0xe1, 0x51, 0x53,
0x29, 0xa2, 0x6d, 0xd8, 0xca, 0xaa, 0x4f, 0x4f, 0xba, 0x87, 0x27, 0xbd, 0xd3, 0x5e, 0x47, 0x29,
0xa1, 0xbb, 0xa0, 0x66, 0x94, 0x75, 0xbc, 0xaf, 0xb7, 0x71, 0xab, 0xd3, 0x6b, 0x1c, 0x1f, 0x76,
0x95, 0x25, 0x74, 0x13, 0x50, 0x46, 0xff, 0xba, 0x77, 0xda, 0xad, 0x2b, 0xe5, 0x46, 0x09, 0x0a,
0x41, 0x55, 0xd5, 0x1a, 0x14, 0xe5, 0x8c, 0x0b, 0x9a, 0x85, 0xd8, 0x36, 0xbb, 0x90, 0x87, 0x58,
0xc6, 0xe1, 0x06, 0x29, 0x90, 0x77, 0xc8, 0x5b, 0x59, 0xfb, 0x22, 0x0e, 0x96, 0xea, 0x19, 0x94,
0xe3, 0xb1, 0x86, 0x1e, 0xc3, 0x8d, 0xcc, 0x33, 0x41, 0xf7, 0x79, 0xdc, 0x6c, 0xeb, 0x81, 0x22,
0x06, 0xf6, 0xb8, 0x8d, 0xf6, 0xe0, 0x96, 0x41, 0xfb, 0xbe, 0xa9, 0x8b, 0x89, 0xd3, 0x67, 0xb6,
0xd0, 0x09, 0x1f, 0x8c, 0xac, 0x73, 0x2a, 0x39, 0xf2, 0x6c, 0xf1, 0x4d, 0x09, 0xe8, 0x84, 0xfa,
0x7a, 0xa8, 0xee, 0x71, 0x5b, 0x3d, 0x82, 0x42, 0x30, 0x09, 0x51, 0x13, 0x14, 0x87, 0xbc, 0xb5,
0x1c, 0xdf, 0xd1, 0xe3, 0xf7, 0x45, 0xf4, 0x45, 0xbe, 0xa5, 0x85, 0x0f, 0x10, 0x2d, 0x7e, 0x80,
0x68, 0xcd, 0x08, 0x80, 0xd7, 0x23, 0x4a, 0x2c, 0x50, 0x7f, 0xcf, 0x41, 0x25, 0x35, 0x19, 0x91,
0x05, 0x0a, 0xf1, 0x3d, 0x26, 0x13, 0x79, 0x43, 0x27, 0xe7, 0xc4, 0x0e, 0x9b, 0xb4, 0xb2, 0xfb,
0xf5, 0xb5, 0xc7, 0xab, 0x56, 0x8f, 0x2c, 0xbc, 0x0a, 0x0d, 0xb4, 0xdc, 0xe0, 0xb3, 0xb1, 0x4e,
0xb2, 0x52, 0x84, 0xa0, 0xe0, 0x11, 0x33, 0xf8, 0xc6, 0x07, 0x33, 0x40, 0xae, 0xd5, 0x06, 0x6c,
0xbe, 0x8f, 0x1c, 0x54, 0xfe, 0x0d, 0x9d, 0x44, 0xd5, 0x0c, 0x96, 0xc1, 0x09, 0x9d, 0x13, 0xdb,
0xa7, 0x51, 0xb5, 0xc2, 0xcd, 0xd3, 0xc5, 0xaf, 0x72, 0x6a, 0x0d, 0x4a, 0xe1, 0x8c, 0x46, 0x1f,
0xc2, 0x5a, 0x92, 0x8c, 0xf0, 0x2d, 0x8f, 0x46, 0x06, 0x56, 0x63, 0x69, 0x27, 0x10, 0xaa, 0x3f,
0xe7, 0x00, 0xa6, 0x33, 0x19, 0x3d, 0x84, 0x75, 0x5f, 0x50, 0x5d, 0xb2, 0xb8, 0xef, 0xba, 0x94,
0x47, 0xb7, 0x60, 0xd5, 0x17, 0x34, 0x78, 0x28, 0x61, 0x29, 0x44, 0xcf, 0x40, 0xa5, 0x2e, 0xe9,
0xdb, 0x54, 0x17, 0x13, 0x37, 0x18, 0x3e, 0x2e, 0xf3, 0x85, 0xce, 0x86, 0x43, 0x9b, 0x11, 0x43,
0x86, 0x55, 0xc6, 0xd5, 0x10, 0xd1, 0x99, 0x02, 0x4e, 0x43, 0x3d, 0xda, 0x83, 0xaa, 0xcb, 0x3c,
0x6b, 0x68, 0x0d, 0xa4, 0x5b, 0x9b, 0x8a, 0x29, 0x37, 0x2f, 0xb9, 0x5b, 0x97, 0xf5, 0x11, 0xf5,
0x65, 0xa1, 0x5c, 0x51, 0x56, 0xf0, 0x6a, 0x5a, 0x2d, 0xd4, 0x6d, 0x28, 0xca, 0x6c, 0x82, 0xb2,
0xba, 0xc4, 0x89, 0x53, 0x95, 0x6b, 0xf5, 0x5d, 0x0e, 0x0a, 0x41, 0xe4, 0xc1, 0x47, 0x3b, 0xce,
0x3d, 0xba, 0x2c, 0x0f, 0xe6, 0xbc, 0x08, 0x93, 0x83, 0x3c, 0x58, 0xc0, 0x09, 0x4f, 0xfd, 0x01,
0xca, 0xb1, 0xfc, 0x7d, 0xce, 0xd0, 0x76, 0xf4, 0xec, 0x24, 0xdc, 0x14, 0xd1, 0xe9, 0xc8, 0x57,
0x65, 0x9d, 0x9b, 0x02, 0x7d, 0x00, 0x2b, 0x86, 0x25, 0xc6, 0x36, 0x99, 0xe8, 0x92, 0x28, 0xa7,
0x37, 0xae, 0x44, 0xb2, 0x13, 0xe2, 0xd0, 0xc6, 0x32, 0x2c, 0x8d, 0x08, 0x77, 0xa9, 0x10, 0xea,
0x2f, 0x79, 0xa8, 0xb4, 0x5c, 0xdf, 0xa1, 0xe1, 0xd9, 0xa0, 0x11, 0x6c, 0x26, 0x07, 0x6a, 0xb9,
0xe7, 0x2c, 0x4a, 0x5e, 0x5e, 0xa1, 0xca, 0xee, 0x93, 0x2b, 0x52, 0x49, 0x59, 0x48, 0x32, 0x3a,
0x4c, 0xd8, 0x78, 0x83, 0xcc, 0xc8, 0x84, 0xfa, 0xeb, 0x22, 0xa0, 0x59, 0x2c, 0xd2, 0xa0, 0x90,
0xaa, 0x9d, 0xaa, 0xc5, 0x3f, 0x09, 0x1a, 0x19, 0x5b, 0x89, 0x6d, 0x79, 0x47, 0x24, 0xee, 0xbf,
0xd6, 0x02, 0x31, 0x58, 0xe3, 0x54, 0xf8, 0xf6, 0xb4, 0x19, 0x0b, 0x32, 0xd5, 0x83, 0x7f, 0x95,
0xaa, 0x86, 0xa5, 0xad, 0x4c, 0x5b, 0xae, 0xf2, 0xb4, 0x4c, 0xfd, 0x06, 0xd0, 0x2c, 0xe8, 0x1f,
0xb5, 0xdf, 0xbb, 0x1c, 0x94, 0xe3, 0xdf, 0x09, 0xb4, 0x0b, 0xc5, 0xb8, 0xf1, 0x82, 0xb0, 0x6f,
0x5f, 0x11, 0xb6, 0xbc, 0xb9, 0x38, 0x84, 0xa2, 0x5a, 0x54, 0xe3, 0xf0, 0x50, 0xb7, 0xe7, 0xdc,
0xcf, 0xa8, 0xc8, 0x4d, 0xa8, 0xd0, 0x69, 0xde, 0xb2, 0x8c, 0x57, 0x3f, 0x26, 0x53, 0x15, 0xc2,
0x69, 0xda, 0xcb, 0x42, 0xb9, 0xa4, 0x2c, 0xbd, 0x2c, 0x94, 0x97, 0x94, 0x72, 0x63, 0xef, 0xfb,
0x2f, 0x4d, 0x96, 0xbc, 0x76, 0x34, 0xc6, 0xcd, 0x5a, 0xea, 0x67, 0xcf, 0x72, 0x87, 0x9c, 0x84,
0x7f, 0x77, 0x35, 0x93, 0xd5, 0x32, 0x7e, 0xfa, 0x25, 0x29, 0xff, 0xec, 0xaf, 0x00, 0x00, 0x00,
0xff, 0xff, 0x01, 0x28, 0x40, 0x8a, 0x6c, 0x0e, 0x00, 0x00,
}