// Copyright 2019 The ChromiumOS Authors
// 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.27.1
// 	protoc        v3.17.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
}
