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

package datalabeling

import (
	fmt "fmt"
	math "math"

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

// An AnnotationSpecSet is a collection of label definitions. For example, in
// image classification tasks, you define a set of possible labels for images as
// an AnnotationSpecSet. An AnnotationSpecSet is immutable upon creation.
type AnnotationSpecSet struct {
	// Output only. The AnnotationSpecSet resource name in the following format:
	//
	// "projects/<var>{project_id}</var>/annotationSpecSets/<var>{annotation_spec_set_id}</var>"
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The display name for AnnotationSpecSet that you define when you
	// create it. 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 annotation specification set.
	// The description can be up to 10,000 characters long.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Required. The array of AnnotationSpecs that you define when you create the
	// AnnotationSpecSet. These are the possible labels for the labeling task.
	AnnotationSpecs []*AnnotationSpec `protobuf:"bytes,4,rep,name=annotation_specs,json=annotationSpecs,proto3" json:"annotation_specs,omitempty"`
	// Output only. The names of any related resources that are blocking changes
	// to the annotation spec set.
	BlockingResources    []string `protobuf:"bytes,5,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 *AnnotationSpecSet) Reset()         { *m = AnnotationSpecSet{} }
func (m *AnnotationSpecSet) String() string { return proto.CompactTextString(m) }
func (*AnnotationSpecSet) ProtoMessage()    {}
func (*AnnotationSpecSet) Descriptor() ([]byte, []int) {
	return fileDescriptor_ee18bab2b343845e, []int{0}
}

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

var xxx_messageInfo_AnnotationSpecSet proto.InternalMessageInfo

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

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

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

func (m *AnnotationSpecSet) GetAnnotationSpecs() []*AnnotationSpec {
	if m != nil {
		return m.AnnotationSpecs
	}
	return nil
}

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

// Container of information related to one possible annotation that can be used
// in a labeling task. For example, an image classification task where images
// are labeled as `dog` or `cat` must reference an AnnotationSpec for `dog` and
// an AnnotationSpec for `cat`.
type AnnotationSpec struct {
	// Required. The display name of the AnnotationSpec. Maximum of 64 characters.
	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Optional. User-provided description of the annotation specification.
	// The description can be up to 10,000 characters long.
	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_AnnotationSpec proto.InternalMessageInfo

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

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

func init() {
	proto.RegisterType((*AnnotationSpecSet)(nil), "google.cloud.datalabeling.v1beta1.AnnotationSpecSet")
	proto.RegisterType((*AnnotationSpec)(nil), "google.cloud.datalabeling.v1beta1.AnnotationSpec")
}

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

var fileDescriptor_ee18bab2b343845e = []byte{
	// 341 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xcf, 0x4f, 0xc2, 0x30,
	0x14, 0xce, 0x00, 0x4d, 0x28, 0x46, 0x65, 0xa7, 0x49, 0x3c, 0x0c, 0x12, 0x13, 0x2e, 0xb4, 0x41,
	0x6f, 0x72, 0xc2, 0xbb, 0xc6, 0x8c, 0x78, 0x31, 0x26, 0x4b, 0xd7, 0x35, 0x4d, 0xb5, 0xf4, 0x35,
	0x6b, 0x31, 0x1a, 0xc2, 0x3f, 0xcc, 0x5f, 0x61, 0xd8, 0x86, 0x6c, 0x60, 0xe4, 0xd6, 0xbd, 0xef,
	0xc7, 0xfa, 0x7d, 0x7d, 0x68, 0x22, 0x00, 0x84, 0xe2, 0x84, 0x29, 0x58, 0xa4, 0x24, 0xa5, 0x8e,
	0x2a, 0x9a, 0x70, 0x25, 0xb5, 0x20, 0x9f, 0xe3, 0x84, 0x3b, 0x3a, 0x26, 0x54, 0x6b, 0x70, 0xd4,
	0x49, 0xd0, 0xb1, 0x35, 0x9c, 0xc5, 0x96, 0x3b, 0x6c, 0x32, 0x70, 0xe0, 0xf7, 0x0b, 0x31, 0xce,
	0xc5, 0xb8, 0x2a, 0xc6, 0xa5, 0xb8, 0x77, 0x5d, 0xfa, 0x53, 0x23, 0x2b, 0x46, 0xb6, 0x30, 0xe8,
	0x5d, 0x55, 0xd0, 0x8c, 0x5b, 0x58, 0x64, 0x8c, 0x17, 0xd0, 0x60, 0xdd, 0x40, 0xdd, 0xe9, 0xaf,
	0x60, 0x66, 0x38, 0x9b, 0x71, 0xe7, 0xfb, 0xa8, 0xa5, 0xe9, 0x9c, 0x07, 0x5e, 0xe8, 0x0d, 0xdb,
	0x51, 0x7e, 0xf6, 0xfb, 0xe8, 0x2c, 0x95, 0xd6, 0x28, 0xfa, 0x1d, 0xe7, 0x58, 0x23, 0xc7, 0x3a,
	0xe5, 0xec, 0x69, 0x43, 0x09, 0x51, 0x27, 0xe5, 0x96, 0x65, 0xd2, 0x6c, 0xcc, 0x82, 0x66, 0xc9,
	0xd8, 0x8d, 0xfc, 0x37, 0x74, 0xb9, 0x97, 0xd3, 0x06, 0xad, 0xb0, 0x39, 0xec, 0xdc, 0x8e, 0xf1,
	0xd1, 0x94, 0xb8, 0x7e, 0xd1, 0xe8, 0x82, 0xd6, 0xbe, 0xad, 0x3f, 0x42, 0x7e, 0xa2, 0x80, 0x7d,
	0x48, 0x2d, 0xe2, 0x6d, 0x4e, 0x1b, 0x9c, 0x84, 0xcd, 0x61, 0x3b, 0xea, 0x6e, 0x91, 0x68, 0x0b,
	0xdc, 0xc3, 0x7a, 0xaa, 0xd0, 0xa8, 0xf6, 0xa7, 0xe2, 0x0e, 0xd4, 0x48, 0x8b, 0x19, 0xcc, 0xc9,
	0x61, 0x33, 0x13, 0x93, 0xc1, 0x3b, 0x67, 0xce, 0x92, 0x65, 0x79, 0x5a, 0x11, 0xba, 0xcf, 0xb2,
	0x64, 0xf9, 0xc7, 0x6b, 0xae, 0x06, 0x2f, 0xe8, 0xbc, 0xee, 0x78, 0x50, 0xaa, 0x77, 0xb4, 0xd4,
	0xc6, 0x41, 0xa9, 0x0f, 0x5f, 0xe8, 0x86, 0xc1, 0xfc, 0x78, 0x7f, 0xcf, 0xde, 0xeb, 0x63, 0x49,
	0x12, 0xa0, 0xa8, 0x16, 0x18, 0x32, 0x41, 0x04, 0xd7, 0xf9, 0x2a, 0x90, 0x5d, 0xf6, 0x7f, 0xd6,
	0x74, 0x52, 0x1d, 0x26, 0xa7, 0xb9, 0xf2, 0xee, 0x27, 0x00, 0x00, 0xff, 0xff, 0xad, 0x31, 0x8d,
	0x27, 0xdf, 0x02, 0x00, 0x00,
}
