// 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: test_platform/skylab_local_state/host_info.proto

package skylab_local_state

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

// AutotestHostInfo defines the structure of the host info file which is used
// to pass host information to Autotest and receive host information
// changes from Autotest.
type AutotestHostInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Attributes        map[string]string `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Labels            []string          `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"`
	SerializerVersion int32             `protobuf:"varint,3,opt,name=serializer_version,proto3" json:"serializer_version,omitempty"`
}

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

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

func (*AutotestHostInfo) ProtoMessage() {}

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

func (x *AutotestHostInfo) GetAttributes() map[string]string {
	if x != nil {
		return x.Attributes
	}
	return nil
}

func (x *AutotestHostInfo) GetLabels() []string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *AutotestHostInfo) GetSerializerVersion() int32 {
	if x != nil {
		return x.SerializerVersion
	}
	return 0
}

var File_test_platform_skylab_local_state_host_info_proto protoreflect.FileDescriptor

var file_test_platform_skylab_local_state_host_info_proto_rawDesc = []byte{
	0x0a, 0x30, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,
	0x73, 0x6b, 0x79, 0x6c, 0x61, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x12, 0x20, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x2e, 0x73, 0x6b, 0x79, 0x6c, 0x61, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73,
	0x74, 0x61, 0x74, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x65, 0x73,
	0x74, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x62, 0x0a, 0x0a, 0x61, 0x74, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e,
	0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x73, 0x6b,
	0x79, 0x6c, 0x61, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
	0x2e, 0x41, 0x75, 0x74, 0x6f, 0x74, 0x65, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66,
	0x6f, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a,
	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c,
	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69,
	0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x3d, 0x0a, 0x0f, 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, 0x4c, 0x5a, 0x4a, 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, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,
	0x73, 0x6b, 0x79, 0x6c, 0x61, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_test_platform_skylab_local_state_host_info_proto_rawDescOnce sync.Once
	file_test_platform_skylab_local_state_host_info_proto_rawDescData = file_test_platform_skylab_local_state_host_info_proto_rawDesc
)

func file_test_platform_skylab_local_state_host_info_proto_rawDescGZIP() []byte {
	file_test_platform_skylab_local_state_host_info_proto_rawDescOnce.Do(func() {
		file_test_platform_skylab_local_state_host_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_test_platform_skylab_local_state_host_info_proto_rawDescData)
	})
	return file_test_platform_skylab_local_state_host_info_proto_rawDescData
}

var file_test_platform_skylab_local_state_host_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_test_platform_skylab_local_state_host_info_proto_goTypes = []interface{}{
	(*AutotestHostInfo)(nil), // 0: test_platform.skylab_local_state.AutotestHostInfo
	nil,                      // 1: test_platform.skylab_local_state.AutotestHostInfo.AttributesEntry
}
var file_test_platform_skylab_local_state_host_info_proto_depIdxs = []int32{
	1, // 0: test_platform.skylab_local_state.AutotestHostInfo.attributes:type_name -> test_platform.skylab_local_state.AutotestHostInfo.AttributesEntry
	1, // [1:1] is the sub-list for method output_type
	1, // [1:1] is the sub-list for method input_type
	1, // [1:1] is the sub-list for extension type_name
	1, // [1:1] is the sub-list for extension extendee
	0, // [0:1] is the sub-list for field type_name
}

func init() { file_test_platform_skylab_local_state_host_info_proto_init() }
func file_test_platform_skylab_local_state_host_info_proto_init() {
	if File_test_platform_skylab_local_state_host_info_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_test_platform_skylab_local_state_host_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AutotestHostInfo); 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_test_platform_skylab_local_state_host_info_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   2,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_test_platform_skylab_local_state_host_info_proto_goTypes,
		DependencyIndexes: file_test_platform_skylab_local_state_host_info_proto_depIdxs,
		MessageInfos:      file_test_platform_skylab_local_state_host_info_proto_msgTypes,
	}.Build()
	File_test_platform_skylab_local_state_host_info_proto = out.File
	file_test_platform_skylab_local_state_host_info_proto_rawDesc = nil
	file_test_platform_skylab_local_state_host_info_proto_goTypes = nil
	file_test_platform_skylab_local_state_host_info_proto_depIdxs = nil
}
