// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0-devel
// 	protoc        v3.6.1
// source: lab_platform/dut_state.proto

package lab_platform

import (
	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)
)

// DutState defines the structure of the file used to cache variable DUT
// information on the drone.
type DutState struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// OS and/or fw versions installed on the DUT, e.g.
	// {"cros-version":"terra-release/R75-12105.108.0"}.
	// Used to construct variable bot dimensions.
	ProvisionableLabels map[string]string `protobuf:"bytes,2,rep,name=provisionable_labels,proto3" json:"provisionable_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Variable DUT attributes, e.g.
	// {"job_repo_url":"http://devserver_ip:8082/static/terra-release/R75-12105.108.0/autotest/packages"}.
	// Are fed into the Autotest harness via the host info file.
	ProvisionableAttributes map[string]string `protobuf:"bytes,3,rep,name=provisionable_attributes,proto3" json:"provisionable_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *DutState) Reset() {
	*x = DutState{}
	if protoimpl.UnsafeEnabled {
		mi := &file_lab_platform_dut_state_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DutState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DutState) ProtoMessage() {}

func (x *DutState) ProtoReflect() protoreflect.Message {
	mi := &file_lab_platform_dut_state_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 DutState.ProtoReflect.Descriptor instead.
func (*DutState) Descriptor() ([]byte, []int) {
	return file_lab_platform_dut_state_proto_rawDescGZIP(), []int{0}
}

func (x *DutState) GetProvisionableLabels() map[string]string {
	if x != nil {
		return x.ProvisionableLabels
	}
	return nil
}

func (x *DutState) GetProvisionableAttributes() map[string]string {
	if x != nil {
		return x.ProvisionableAttributes
	}
	return nil
}

var File_lab_platform_dut_state_proto protoreflect.FileDescriptor

var file_lab_platform_dut_state_proto_rawDesc = []byte{
	0x0a, 0x1c, 0x6c, 0x61, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x64,
	0x75, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c,
	0x6c, 0x61, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xf4, 0x02, 0x0a,
	0x08, 0x44, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x14, 0x70, 0x72, 0x6f,
	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x61, 0x62, 0x5f, 0x70, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x44, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
	0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x62,
	0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x6f,
	0x0a, 0x18, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x33, 0x2e, 0x6c, 0x61, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
	0x44, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
	0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a,
	0x46, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	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, 0x1a, 0x4a, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x76, 0x69,
	0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
	0x65, 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, 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, 0x6c, 0x61, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x62, 0x06, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_lab_platform_dut_state_proto_rawDescOnce sync.Once
	file_lab_platform_dut_state_proto_rawDescData = file_lab_platform_dut_state_proto_rawDesc
)

func file_lab_platform_dut_state_proto_rawDescGZIP() []byte {
	file_lab_platform_dut_state_proto_rawDescOnce.Do(func() {
		file_lab_platform_dut_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_lab_platform_dut_state_proto_rawDescData)
	})
	return file_lab_platform_dut_state_proto_rawDescData
}

var file_lab_platform_dut_state_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_lab_platform_dut_state_proto_goTypes = []interface{}{
	(*DutState)(nil), // 0: lab_platform.DutState
	nil,              // 1: lab_platform.DutState.ProvisionableLabelsEntry
	nil,              // 2: lab_platform.DutState.ProvisionableAttributesEntry
}
var file_lab_platform_dut_state_proto_depIdxs = []int32{
	1, // 0: lab_platform.DutState.provisionable_labels:type_name -> lab_platform.DutState.ProvisionableLabelsEntry
	2, // 1: lab_platform.DutState.provisionable_attributes:type_name -> lab_platform.DutState.ProvisionableAttributesEntry
	2, // [2:2] is the sub-list for method output_type
	2, // [2:2] is the sub-list for method input_type
	2, // [2:2] is the sub-list for extension type_name
	2, // [2:2] is the sub-list for extension extendee
	0, // [0:2] is the sub-list for field type_name
}

func init() { file_lab_platform_dut_state_proto_init() }
func file_lab_platform_dut_state_proto_init() {
	if File_lab_platform_dut_state_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_lab_platform_dut_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DutState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_lab_platform_dut_state_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   3,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_lab_platform_dut_state_proto_goTypes,
		DependencyIndexes: file_lab_platform_dut_state_proto_depIdxs,
		MessageInfos:      file_lab_platform_dut_state_proto_msgTypes,
	}.Build()
	File_lab_platform_dut_state_proto = out.File
	file_lab_platform_dut_state_proto_rawDesc = nil
	file_lab_platform_dut_state_proto_goTypes = nil
	file_lab_platform_dut_state_proto_depIdxs = nil
}
