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

package automl

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "github.com/golang/protobuf/ptypes/any"
	_ "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

// Contains annotation information that is relevant to AutoML.
type AnnotationPayload struct {
	// Output only . Additional information about the annotation
	// specific to the AutoML domain.
	//
	// Types that are valid to be assigned to Detail:
	//	*AnnotationPayload_Translation
	//	*AnnotationPayload_Classification
	//	*AnnotationPayload_ImageObjectDetection
	//	*AnnotationPayload_VideoClassification
	//	*AnnotationPayload_VideoObjectTracking
	//	*AnnotationPayload_TextExtraction
	//	*AnnotationPayload_TextSentiment
	//	*AnnotationPayload_Tables
	Detail isAnnotationPayload_Detail `protobuf_oneof:"detail"`
	// Output only . The resource ID of the annotation spec that
	// this annotation pertains to. The annotation spec comes from either an
	// ancestor dataset, or the dataset that was used to train the model in use.
	AnnotationSpecId string `protobuf:"bytes,1,opt,name=annotation_spec_id,json=annotationSpecId,proto3" json:"annotation_spec_id,omitempty"`
	// Output only. The value of
	// [display_name][google.cloud.automl.v1beta1.AnnotationSpec.display_name]
	// when the model was trained. Because this field returns a value at model
	// training time, for different models trained using the same dataset, the
	// returned value could be different as model owner could update the
	// `display_name` between any two model training.
	DisplayName          string   `protobuf:"bytes,5,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 *AnnotationPayload) Reset()         { *m = AnnotationPayload{} }
func (m *AnnotationPayload) String() string { return proto.CompactTextString(m) }
func (*AnnotationPayload) ProtoMessage()    {}
func (*AnnotationPayload) Descriptor() ([]byte, []int) {
	return fileDescriptor_cb8fb684261d0460, []int{0}
}

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

var xxx_messageInfo_AnnotationPayload proto.InternalMessageInfo

type isAnnotationPayload_Detail interface {
	isAnnotationPayload_Detail()
}

type AnnotationPayload_Translation struct {
	Translation *TranslationAnnotation `protobuf:"bytes,2,opt,name=translation,proto3,oneof"`
}

type AnnotationPayload_Classification struct {
	Classification *ClassificationAnnotation `protobuf:"bytes,3,opt,name=classification,proto3,oneof"`
}

type AnnotationPayload_ImageObjectDetection struct {
	ImageObjectDetection *ImageObjectDetectionAnnotation `protobuf:"bytes,4,opt,name=image_object_detection,json=imageObjectDetection,proto3,oneof"`
}

type AnnotationPayload_VideoClassification struct {
	VideoClassification *VideoClassificationAnnotation `protobuf:"bytes,9,opt,name=video_classification,json=videoClassification,proto3,oneof"`
}

type AnnotationPayload_VideoObjectTracking struct {
	VideoObjectTracking *VideoObjectTrackingAnnotation `protobuf:"bytes,8,opt,name=video_object_tracking,json=videoObjectTracking,proto3,oneof"`
}

type AnnotationPayload_TextExtraction struct {
	TextExtraction *TextExtractionAnnotation `protobuf:"bytes,6,opt,name=text_extraction,json=textExtraction,proto3,oneof"`
}

type AnnotationPayload_TextSentiment struct {
	TextSentiment *TextSentimentAnnotation `protobuf:"bytes,7,opt,name=text_sentiment,json=textSentiment,proto3,oneof"`
}

type AnnotationPayload_Tables struct {
	Tables *TablesAnnotation `protobuf:"bytes,10,opt,name=tables,proto3,oneof"`
}

func (*AnnotationPayload_Translation) isAnnotationPayload_Detail() {}

func (*AnnotationPayload_Classification) isAnnotationPayload_Detail() {}

func (*AnnotationPayload_ImageObjectDetection) isAnnotationPayload_Detail() {}

func (*AnnotationPayload_VideoClassification) isAnnotationPayload_Detail() {}

func (*AnnotationPayload_VideoObjectTracking) isAnnotationPayload_Detail() {}

func (*AnnotationPayload_TextExtraction) isAnnotationPayload_Detail() {}

func (*AnnotationPayload_TextSentiment) isAnnotationPayload_Detail() {}

func (*AnnotationPayload_Tables) isAnnotationPayload_Detail() {}

func (m *AnnotationPayload) GetDetail() isAnnotationPayload_Detail {
	if m != nil {
		return m.Detail
	}
	return nil
}

func (m *AnnotationPayload) GetTranslation() *TranslationAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_Translation); ok {
		return x.Translation
	}
	return nil
}

func (m *AnnotationPayload) GetClassification() *ClassificationAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_Classification); ok {
		return x.Classification
	}
	return nil
}

func (m *AnnotationPayload) GetImageObjectDetection() *ImageObjectDetectionAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_ImageObjectDetection); ok {
		return x.ImageObjectDetection
	}
	return nil
}

func (m *AnnotationPayload) GetVideoClassification() *VideoClassificationAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_VideoClassification); ok {
		return x.VideoClassification
	}
	return nil
}

func (m *AnnotationPayload) GetVideoObjectTracking() *VideoObjectTrackingAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_VideoObjectTracking); ok {
		return x.VideoObjectTracking
	}
	return nil
}

func (m *AnnotationPayload) GetTextExtraction() *TextExtractionAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_TextExtraction); ok {
		return x.TextExtraction
	}
	return nil
}

func (m *AnnotationPayload) GetTextSentiment() *TextSentimentAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_TextSentiment); ok {
		return x.TextSentiment
	}
	return nil
}

func (m *AnnotationPayload) GetTables() *TablesAnnotation {
	if x, ok := m.GetDetail().(*AnnotationPayload_Tables); ok {
		return x.Tables
	}
	return nil
}

func (m *AnnotationPayload) GetAnnotationSpecId() string {
	if m != nil {
		return m.AnnotationSpecId
	}
	return ""
}

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

// XXX_OneofWrappers is for the internal use of the proto package.
func (*AnnotationPayload) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*AnnotationPayload_Translation)(nil),
		(*AnnotationPayload_Classification)(nil),
		(*AnnotationPayload_ImageObjectDetection)(nil),
		(*AnnotationPayload_VideoClassification)(nil),
		(*AnnotationPayload_VideoObjectTracking)(nil),
		(*AnnotationPayload_TextExtraction)(nil),
		(*AnnotationPayload_TextSentiment)(nil),
		(*AnnotationPayload_Tables)(nil),
	}
}

func init() {
	proto.RegisterType((*AnnotationPayload)(nil), "google.cloud.automl.v1beta1.AnnotationPayload")
}

func init() {
	proto.RegisterFile("google/cloud/automl/v1beta1/annotation_payload.proto", fileDescriptor_cb8fb684261d0460)
}

var fileDescriptor_cb8fb684261d0460 = []byte{
	// 521 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xc1, 0x6f, 0xd3, 0x30,
	0x14, 0xc6, 0xe9, 0x80, 0x6e, 0x73, 0x61, 0x80, 0x19, 0x28, 0x6c, 0x48, 0x0c, 0x4e, 0x95, 0x60,
	0xc9, 0x3a, 0xc6, 0x85, 0x9d, 0xba, 0x81, 0xc6, 0x0e, 0xc0, 0xb4, 0x55, 0x3d, 0xa0, 0xa2, 0xf0,
	0x9a, 0xbc, 0x45, 0x06, 0xc7, 0x8e, 0x1a, 0xb7, 0x6a, 0xef, 0x5c, 0xf8, 0xd7, 0xf8, 0xab, 0x50,
	0x6d, 0xaf, 0x8d, 0x4b, 0xe5, 0xed, 0x68, 0xbf, 0xef, 0xf7, 0x7d, 0x79, 0x79, 0xb6, 0xc9, 0x41,
	0x26, 0x65, 0xc6, 0x31, 0x4a, 0xb8, 0x1c, 0xa6, 0x11, 0x0c, 0x95, 0xcc, 0x79, 0x34, 0x6a, 0xf5,
	0x51, 0x41, 0x2b, 0x02, 0x21, 0xa4, 0x02, 0xc5, 0xa4, 0x88, 0x0b, 0x98, 0x70, 0x09, 0x69, 0x58,
	0x0c, 0xa4, 0x92, 0x74, 0xdb, 0x50, 0xa1, 0xa6, 0x42, 0x43, 0x85, 0x96, 0xda, 0xda, 0xf3, 0x59,
	0x26, 0x1c, 0xca, 0x92, 0x5d, 0xb2, 0x44, 0xdb, 0x1a, 0xbb, 0xad, 0xd7, 0x3e, 0x22, 0x45, 0x85,
	0x49, 0x45, 0xdc, 0xf4, 0x89, 0x15, 0xf4, 0x39, 0x96, 0x56, 0xd9, 0xf2, 0x2a, 0x71, 0xac, 0x62,
	0x1c, 0xab, 0x01, 0x54, 0xcd, 0xf7, 0xae, 0x45, 0x4a, 0x14, 0x8a, 0xe5, 0x28, 0x94, 0x25, 0x76,
	0xbd, 0xc4, 0x00, 0x44, 0xc9, 0xab, 0xad, 0x3e, 0xb3, 0x72, 0xbd, 0xea, 0x0f, 0x2f, 0x23, 0x10,
	0x13, 0x5b, 0x7a, 0x6e, 0x4b, 0x50, 0xb0, 0xca, 0x9f, 0xb7, 0xcd, 0xbc, 0xfa, 0xb3, 0x4a, 0x1e,
	0xb5, 0x67, 0xbb, 0x67, 0x66, 0x1c, 0xb4, 0x4b, 0x1a, 0x95, 0x8c, 0x60, 0x65, 0xa7, 0xd6, 0x6c,
	0xec, 0xef, 0x87, 0x9e, 0xf1, 0x84, 0x9d, 0xb9, 0x7e, 0xee, 0xf7, 0xe9, 0xd6, 0x79, 0xd5, 0x88,
	0xc6, 0x64, 0xc3, 0x9d, 0x54, 0x70, 0x5b, 0x5b, 0xbf, 0xf3, 0x5a, 0x1f, 0x3b, 0x88, 0xe3, 0xbe,
	0x60, 0x47, 0x4b, 0xf2, 0x94, 0xe5, 0x90, 0x61, 0x2c, 0xfb, 0x3f, 0x31, 0x51, 0xf1, 0x6c, 0xca,
	0xc1, 0x1d, 0x1d, 0x74, 0xe8, 0x0d, 0x3a, 0x9d, 0xa2, 0x5f, 0x35, 0xf9, 0xe1, 0x0a, 0x74, 0xe2,
	0x36, 0xd9, 0x12, 0x05, 0x95, 0x64, 0x73, 0xc4, 0x52, 0x94, 0xf1, 0x42, 0x6f, 0xeb, 0x3a, 0xf2,
	0xbd, 0x37, 0xb2, 0x3b, 0x05, 0x3d, 0x0d, 0x3e, 0x1e, 0xfd, 0x2f, 0xa0, 0x05, 0x79, 0x62, 0x02,
	0x6d, 0x97, 0xd3, 0xd3, 0xf6, 0x8b, 0x89, 0x2c, 0x58, 0xbb, 0x69, 0xa2, 0x69, 0xa1, 0x63, 0xb9,
	0x25, 0x89, 0xae, 0x80, 0xfe, 0x20, 0x0f, 0x16, 0x4e, 0x76, 0x50, 0xbf, 0xc1, 0xe4, 0x3a, 0x38,
	0x56, 0x1f, 0x67, 0x88, 0x3b, 0x39, 0xe5, 0xd4, 0xe8, 0x77, 0xb2, 0xe1, 0x5e, 0x84, 0x60, 0x55,
	0x07, 0x1c, 0x5c, 0x1b, 0x70, 0x71, 0x45, 0x38, 0xfe, 0xf7, 0x55, 0xb5, 0x44, 0x4f, 0x48, 0xdd,
	0x5c, 0xe2, 0x80, 0x68, 0xdb, 0x5d, 0xbf, 0xad, 0x96, 0x3a, 0x7e, 0x16, 0xa7, 0x6f, 0x08, 0xad,
	0xbc, 0x5f, 0x65, 0x81, 0x49, 0xcc, 0xd2, 0xa0, 0xb6, 0x53, 0x6b, 0xae, 0x9f, 0x3f, 0x9c, 0x57,
	0x2e, 0x0a, 0x4c, 0x4e, 0x53, 0xfa, 0x92, 0xdc, 0x4b, 0x59, 0x59, 0x70, 0x98, 0xc4, 0x02, 0x72,
	0x0c, 0xee, 0x6a, 0x5d, 0xc3, 0xee, 0x7d, 0x81, 0x1c, 0x8f, 0xd6, 0x48, 0x3d, 0x45, 0x05, 0x8c,
	0x1f, 0xfd, 0xae, 0x91, 0x17, 0x89, 0xcc, 0x7d, 0x5f, 0x76, 0x56, 0xfb, 0xd6, 0xb6, 0xe5, 0x4c,
	0x72, 0x10, 0x59, 0x28, 0x07, 0x59, 0x94, 0xa1, 0xd0, 0xb7, 0x39, 0x32, 0x25, 0x28, 0x58, 0xb9,
	0xf4, 0xe1, 0x38, 0x34, 0xcb, 0xbf, 0x2b, 0xdb, 0x27, 0x5a, 0xd8, 0x3b, 0x9e, 0x8a, 0x7a, 0xed,
	0xa1, 0x92, 0x9f, 0x79, 0xaf, 0x6b, 0x44, 0xfd, 0xba, 0xf6, 0x7a, 0xfb, 0x2f, 0x00, 0x00, 0xff,
	0xff, 0xda, 0x61, 0x0a, 0x61, 0xc4, 0x05, 0x00, 0x00,
}
