// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/datalabeling/v1beta1/instruction.proto

package datalabeling

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

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

// Instruction of how to perform the labeling task for human operators.
// Currently only PDF instruction is supported.
type Instruction struct {
	// Output only. Instruction resource name, format:
	// projects/{project_id}/instructions/{instruction_id}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The display name of the instruction. Maximum of 64 characters.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Optional. User-provided description of the instruction.
	// The description can be up to 10000 characters long.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Output only. Creation time of instruction.
	CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Last update time of instruction.
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// Required. The data type of this instruction.
	DataType DataType `protobuf:"varint,6,opt,name=data_type,json=dataType,proto3,enum=google.cloud.datalabeling.v1beta1.DataType" json:"data_type,omitempty"`
	// Deprecated: this instruction format is not supported any more.
	// Instruction from a CSV file, such as for classification task.
	// The CSV file should have exact two columns, in the following format:
	//
	// * The first column is labeled data, such as an image reference, text.
	// * The second column is comma separated labels associated with data.
	CsvInstruction *CsvInstruction `protobuf:"bytes,7,opt,name=csv_instruction,json=csvInstruction,proto3" json:"csv_instruction,omitempty"` // Deprecated: Do not use.
	// Instruction from a PDF document. The PDF should be in a Cloud Storage
	// bucket.
	PdfInstruction *PdfInstruction `protobuf:"bytes,9,opt,name=pdf_instruction,json=pdfInstruction,proto3" json:"pdf_instruction,omitempty"`
	// Output only. The names of any related resources that are blocking changes
	// to the instruction.
	BlockingResources    []string `protobuf:"bytes,10,rep,name=blocking_resources,json=blockingResources,proto3" json:"blocking_resources,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Instruction) Reset()         { *m = Instruction{} }
func (m *Instruction) String() string { return proto.CompactTextString(m) }
func (*Instruction) ProtoMessage()    {}
func (*Instruction) Descriptor() ([]byte, []int) {
	return fileDescriptor_683081924dd940d7, []int{0}
}

func (m *Instruction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Instruction.Unmarshal(m, b)
}
func (m *Instruction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Instruction.Marshal(b, m, deterministic)
}
func (m *Instruction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Instruction.Merge(m, src)
}
func (m *Instruction) XXX_Size() int {
	return xxx_messageInfo_Instruction.Size(m)
}
func (m *Instruction) XXX_DiscardUnknown() {
	xxx_messageInfo_Instruction.DiscardUnknown(m)
}

var xxx_messageInfo_Instruction proto.InternalMessageInfo

func (m *Instruction) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Instruction) GetDisplayName() string {
	if m != nil {
		return m.DisplayName
	}
	return ""
}

func (m *Instruction) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *Instruction) GetCreateTime() *timestamp.Timestamp {
	if m != nil {
		return m.CreateTime
	}
	return nil
}

func (m *Instruction) GetUpdateTime() *timestamp.Timestamp {
	if m != nil {
		return m.UpdateTime
	}
	return nil
}

func (m *Instruction) GetDataType() DataType {
	if m != nil {
		return m.DataType
	}
	return DataType_DATA_TYPE_UNSPECIFIED
}

// Deprecated: Do not use.
func (m *Instruction) GetCsvInstruction() *CsvInstruction {
	if m != nil {
		return m.CsvInstruction
	}
	return nil
}

func (m *Instruction) GetPdfInstruction() *PdfInstruction {
	if m != nil {
		return m.PdfInstruction
	}
	return nil
}

func (m *Instruction) GetBlockingResources() []string {
	if m != nil {
		return m.BlockingResources
	}
	return nil
}

// Deprecated: this instruction format is not supported any more.
// Instruction from a CSV file.
type CsvInstruction struct {
	// CSV file for the instruction. Only gcs path is allowed.
	GcsFileUri           string   `protobuf:"bytes,1,opt,name=gcs_file_uri,json=gcsFileUri,proto3" json:"gcs_file_uri,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CsvInstruction) Reset()         { *m = CsvInstruction{} }
func (m *CsvInstruction) String() string { return proto.CompactTextString(m) }
func (*CsvInstruction) ProtoMessage()    {}
func (*CsvInstruction) Descriptor() ([]byte, []int) {
	return fileDescriptor_683081924dd940d7, []int{1}
}

func (m *CsvInstruction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CsvInstruction.Unmarshal(m, b)
}
func (m *CsvInstruction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CsvInstruction.Marshal(b, m, deterministic)
}
func (m *CsvInstruction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CsvInstruction.Merge(m, src)
}
func (m *CsvInstruction) XXX_Size() int {
	return xxx_messageInfo_CsvInstruction.Size(m)
}
func (m *CsvInstruction) XXX_DiscardUnknown() {
	xxx_messageInfo_CsvInstruction.DiscardUnknown(m)
}

var xxx_messageInfo_CsvInstruction proto.InternalMessageInfo

func (m *CsvInstruction) GetGcsFileUri() string {
	if m != nil {
		return m.GcsFileUri
	}
	return ""
}

// Instruction from a PDF file.
type PdfInstruction struct {
	// PDF file for the instruction. Only gcs path is allowed.
	GcsFileUri           string   `protobuf:"bytes,1,opt,name=gcs_file_uri,json=gcsFileUri,proto3" json:"gcs_file_uri,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PdfInstruction) Reset()         { *m = PdfInstruction{} }
func (m *PdfInstruction) String() string { return proto.CompactTextString(m) }
func (*PdfInstruction) ProtoMessage()    {}
func (*PdfInstruction) Descriptor() ([]byte, []int) {
	return fileDescriptor_683081924dd940d7, []int{2}
}

func (m *PdfInstruction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PdfInstruction.Unmarshal(m, b)
}
func (m *PdfInstruction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PdfInstruction.Marshal(b, m, deterministic)
}
func (m *PdfInstruction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PdfInstruction.Merge(m, src)
}
func (m *PdfInstruction) XXX_Size() int {
	return xxx_messageInfo_PdfInstruction.Size(m)
}
func (m *PdfInstruction) XXX_DiscardUnknown() {
	xxx_messageInfo_PdfInstruction.DiscardUnknown(m)
}

var xxx_messageInfo_PdfInstruction proto.InternalMessageInfo

func (m *PdfInstruction) GetGcsFileUri() string {
	if m != nil {
		return m.GcsFileUri
	}
	return ""
}

func init() {
	proto.RegisterType((*Instruction)(nil), "google.cloud.datalabeling.v1beta1.Instruction")
	proto.RegisterType((*CsvInstruction)(nil), "google.cloud.datalabeling.v1beta1.CsvInstruction")
	proto.RegisterType((*PdfInstruction)(nil), "google.cloud.datalabeling.v1beta1.PdfInstruction")
}

func init() {
	proto.RegisterFile("google/cloud/datalabeling/v1beta1/instruction.proto", fileDescriptor_683081924dd940d7)
}

var fileDescriptor_683081924dd940d7 = []byte{
	// 480 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xd1, 0x6b, 0xd4, 0x30,
	0x1c, 0xc7, 0xe9, 0x76, 0x4e, 0x2f, 0x37, 0x6e, 0x98, 0xa7, 0x7a, 0x08, 0x76, 0x03, 0xf1, 0x40,
	0x4c, 0xb8, 0xdb, 0x9b, 0x7b, 0x72, 0x8a, 0xe8, 0x83, 0x32, 0xca, 0x04, 0x99, 0x60, 0x49, 0xd3,
	0x5c, 0x88, 0xb6, 0x4d, 0x48, 0xd2, 0xc3, 0x63, 0xec, 0x1f, 0xf6, 0xd1, 0xbf, 0x40, 0x92, 0xa6,
	0x5e, 0xfb, 0x62, 0xf7, 0x96, 0xfc, 0x7e, 0xdf, 0xcf, 0xb7, 0xdf, 0xfc, 0x9a, 0x80, 0x73, 0x2e,
	0x25, 0x2f, 0x19, 0xa6, 0xa5, 0x6c, 0x0a, 0x5c, 0x10, 0x4b, 0x4a, 0x92, 0xb3, 0x52, 0xd4, 0x1c,
	0x6f, 0x57, 0x39, 0xb3, 0x64, 0x85, 0x45, 0x6d, 0xac, 0x6e, 0xa8, 0x15, 0xb2, 0x46, 0x4a, 0x4b,
	0x2b, 0xe1, 0x69, 0x0b, 0x21, 0x0f, 0xa1, 0x3e, 0x84, 0x02, 0xb4, 0x78, 0x1a, 0x7c, 0x89, 0x12,
	0x98, 0xd4, 0xb5, 0xb4, 0xc4, 0xf1, 0xa6, 0x35, 0x58, 0x3c, 0xe9, 0x75, 0x35, 0x33, 0xb2, 0xd1,
	0x94, 0x85, 0x16, 0x1e, 0x0f, 0xe4, 0x8a, 0x86, 0xd9, 0x00, 0x3c, 0x0b, 0x80, 0xdf, 0xe5, 0xcd,
	0x06, 0x5b, 0x51, 0x31, 0x63, 0x49, 0xa5, 0x5a, 0xc1, 0xd9, 0x9f, 0x09, 0x98, 0x7d, 0xdc, 0x9f,
	0x01, 0x42, 0x30, 0xa9, 0x49, 0xc5, 0xe2, 0x28, 0x89, 0x96, 0xd3, 0xd4, 0xaf, 0xe1, 0x29, 0x38,
	0x2e, 0x84, 0x51, 0x25, 0xd9, 0x65, 0xbe, 0x77, 0xe0, 0x7b, 0xb3, 0x50, 0xfb, 0xec, 0x24, 0x09,
	0x98, 0x15, 0xcc, 0x50, 0x2d, 0x94, 0x73, 0x89, 0x0f, 0x83, 0x62, 0x5f, 0x82, 0x17, 0x60, 0x46,
	0x35, 0x23, 0x96, 0x65, 0x2e, 0x42, 0x3c, 0x49, 0xa2, 0xe5, 0x6c, 0xbd, 0x40, 0x61, 0x58, 0x5d,
	0x3e, 0x74, 0xdd, 0xe5, 0x4b, 0x41, 0x2b, 0x77, 0x05, 0x07, 0x37, 0xaa, 0xf8, 0x07, 0x3f, 0x18,
	0x87, 0x5b, 0xb9, 0x87, 0x3f, 0x80, 0xa9, 0x1b, 0x4a, 0x66, 0x77, 0x8a, 0xc5, 0x47, 0x49, 0xb4,
	0x9c, 0xaf, 0x5f, 0xa2, 0xd1, 0x9f, 0x84, 0xde, 0x11, 0x4b, 0xae, 0x77, 0x8a, 0xa5, 0x8f, 0x8a,
	0xb0, 0x82, 0xdf, 0xc1, 0x09, 0x35, 0xdb, 0xac, 0xf7, 0xcf, 0xe3, 0x87, 0x3e, 0xca, 0xea, 0x1e,
	0x7e, 0x6f, 0xcd, 0xb6, 0x37, 0xe8, 0xcb, 0x83, 0x38, 0x4a, 0xe7, 0x74, 0x50, 0x83, 0x37, 0xe0,
	0x44, 0x15, 0x9b, 0x81, 0xff, 0xf4, 0xde, 0xfe, 0x57, 0xc5, 0xa6, 0xe7, 0x95, 0xce, 0xd5, 0x60,
	0x0f, 0x5f, 0x01, 0x98, 0x97, 0x92, 0xfe, 0x14, 0x35, 0xcf, 0xba, 0x5b, 0x65, 0x62, 0x90, 0x1c,
	0x2e, 0xa7, 0xe9, 0xe3, 0xae, 0x93, 0x76, 0x8d, 0xd7, 0xdf, 0x7e, 0xbf, 0xf9, 0x0a, 0x5e, 0x0c,
	0x3e, 0xd4, 0x46, 0x20, 0x4a, 0x18, 0x44, 0x65, 0x85, 0x07, 0xe6, 0x4a, 0xcb, 0x1f, 0x8c, 0x5a,
	0x83, 0x6f, 0xc3, 0xea, 0xae, 0xff, 0x32, 0x0c, 0xbe, 0xed, 0xed, 0xee, 0xce, 0xd6, 0x60, 0x3e,
	0x9c, 0x06, 0x4c, 0xc0, 0x31, 0xa7, 0x26, 0xdb, 0x88, 0x92, 0x65, 0x8d, 0x16, 0xe1, 0xfa, 0x01,
	0x4e, 0xcd, 0x7b, 0x51, 0xb2, 0x2f, 0x5a, 0x38, 0x66, 0x78, 0xc2, 0x71, 0xe6, 0xf2, 0x17, 0x78,
	0x4e, 0x65, 0x35, 0x3e, 0xbb, 0xab, 0xe8, 0xe6, 0x53, 0x10, 0x71, 0x59, 0x92, 0x9a, 0x23, 0xa9,
	0x39, 0xe6, 0xac, 0xf6, 0x37, 0x0b, 0xef, 0x0f, 0xfe, 0x9f, 0x87, 0x77, 0xd1, 0x2f, 0xe6, 0x47,
	0x9e, 0x3c, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x8c, 0x5f, 0x80, 0x01, 0x42, 0x04, 0x00, 0x00,
}
