// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/talent/v4beta1/tenant.proto

package talent

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

// Enum that represents how user data owned by the tenant is used.
type Tenant_DataUsageType int32

const (
	// Default value.
	Tenant_DATA_USAGE_TYPE_UNSPECIFIED Tenant_DataUsageType = 0
	// Data owned by this tenant is used to improve search/recommendation
	// quality across tenants.
	Tenant_AGGREGATED Tenant_DataUsageType = 1
	// Data owned by this tenant is used to improve search/recommendation
	// quality for this tenant only.
	Tenant_ISOLATED Tenant_DataUsageType = 2
)

var Tenant_DataUsageType_name = map[int32]string{
	0: "DATA_USAGE_TYPE_UNSPECIFIED",
	1: "AGGREGATED",
	2: "ISOLATED",
}

var Tenant_DataUsageType_value = map[string]int32{
	"DATA_USAGE_TYPE_UNSPECIFIED": 0,
	"AGGREGATED":                  1,
	"ISOLATED":                    2,
}

func (x Tenant_DataUsageType) String() string {
	return proto.EnumName(Tenant_DataUsageType_name, int32(x))
}

func (Tenant_DataUsageType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4b0da31c41aea5f3, []int{0, 0}
}

// A Tenant resource represents a tenant in the service. A tenant is a group or
// entity that shares common access with specific privileges for resources like
// profiles. Customer may create multiple tenants to provide data isolation for
// different groups.
type Tenant struct {
	// Required during tenant update.
	//
	// The resource name for a tenant. This is generated by the service when a
	// tenant is created.
	//
	// The format is "projects/{project_id}/tenants/{tenant_id}", for example,
	// "projects/api-test-project/tenants/foo".
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. Client side tenant identifier, used to uniquely identify the
	// tenant.
	//
	// The maximum number of allowed characters is 255.
	ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
	// Optional. Indicates whether data owned by this tenant may be used to
	// provide product improvements across other tenants.
	//
	// Defaults behavior is
	// [DataUsageType.ISOLATED][google.cloud.talent.v4beta1.Tenant.DataUsageType.ISOLATED]
	// if it's unset.
	UsageType Tenant_DataUsageType `protobuf:"varint,3,opt,name=usage_type,json=usageType,proto3,enum=google.cloud.talent.v4beta1.Tenant_DataUsageType" json:"usage_type,omitempty"`
	// Optional. A list of keys of filterable
	// [Profile.custom_attributes][google.cloud.talent.v4beta1.Profile.custom_attributes],
	// whose corresponding `string_values` are used in keyword searches. Profiles
	// with `string_values` under these specified field keys are returned if any
	// of the values match the search keyword. Custom field values with
	// parenthesis, brackets and special symbols are not searchable as-is,
	// and must be surrounded by quotes.
	KeywordSearchableProfileCustomAttributes []string `protobuf:"bytes,4,rep,name=keyword_searchable_profile_custom_attributes,json=keywordSearchableProfileCustomAttributes,proto3" json:"keyword_searchable_profile_custom_attributes,omitempty"`
	XXX_NoUnkeyedLiteral                     struct{} `json:"-"`
	XXX_unrecognized                         []byte   `json:"-"`
	XXX_sizecache                            int32    `json:"-"`
}

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

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

var xxx_messageInfo_Tenant proto.InternalMessageInfo

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

func (m *Tenant) GetExternalId() string {
	if m != nil {
		return m.ExternalId
	}
	return ""
}

func (m *Tenant) GetUsageType() Tenant_DataUsageType {
	if m != nil {
		return m.UsageType
	}
	return Tenant_DATA_USAGE_TYPE_UNSPECIFIED
}

func (m *Tenant) GetKeywordSearchableProfileCustomAttributes() []string {
	if m != nil {
		return m.KeywordSearchableProfileCustomAttributes
	}
	return nil
}

func init() {
	proto.RegisterEnum("google.cloud.talent.v4beta1.Tenant_DataUsageType", Tenant_DataUsageType_name, Tenant_DataUsageType_value)
	proto.RegisterType((*Tenant)(nil), "google.cloud.talent.v4beta1.Tenant")
}

func init() {
	proto.RegisterFile("google/cloud/talent/v4beta1/tenant.proto", fileDescriptor_4b0da31c41aea5f3)
}

var fileDescriptor_4b0da31c41aea5f3 = []byte{
	// 386 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0x6e, 0xd3, 0x40,
	0x10, 0x86, 0x71, 0x52, 0x55, 0x64, 0x81, 0xaa, 0x5a, 0x2e, 0x51, 0x8b, 0x94, 0xa8, 0x27, 0x1f,
	0xd0, 0x5a, 0x05, 0x6e, 0x9c, 0xdc, 0xc4, 0x44, 0x91, 0x50, 0xb1, 0x6c, 0xe7, 0x00, 0x07, 0x56,
	0x13, 0x67, 0x30, 0x16, 0xf6, 0x8e, 0xb5, 0x1e, 0x03, 0x39, 0xf2, 0x2a, 0xbc, 0x08, 0xaf, 0x86,
	0xba, 0x9b, 0x56, 0x42, 0x42, 0xb9, 0xed, 0x78, 0xbe, 0xcf, 0xff, 0x8c, 0x46, 0x84, 0x15, 0x51,
	0xd5, 0x60, 0x54, 0x36, 0x34, 0xec, 0x22, 0x86, 0x06, 0x0d, 0x47, 0xdf, 0xdf, 0x6c, 0x91, 0xe1,
	0x3a, 0x62, 0x34, 0x60, 0x58, 0x75, 0x96, 0x98, 0xe4, 0xa5, 0x27, 0x95, 0x23, 0x95, 0x27, 0xd5,
	0x81, 0xbc, 0x78, 0x71, 0xf8, 0x0d, 0x74, 0x75, 0x04, 0xc6, 0x10, 0x03, 0xd7, 0x64, 0x7a, 0xaf,
	0x5e, 0x1c, 0x0d, 0x29, 0xa9, 0x6d, 0xc9, 0x78, 0xf2, 0xea, 0xcf, 0x48, 0x9c, 0x16, 0x2e, 0x55,
	0x4a, 0x71, 0x62, 0xa0, 0xc5, 0x69, 0x30, 0x0f, 0xc2, 0x49, 0xe6, 0xde, 0x72, 0x26, 0x9e, 0xe0,
	0x4f, 0x46, 0x6b, 0xa0, 0xd1, 0xf5, 0x6e, 0x3a, 0x72, 0x2d, 0x71, 0xff, 0x69, 0xbd, 0x93, 0xa9,
	0x10, 0x43, 0x0f, 0x15, 0x6a, 0xde, 0x77, 0x38, 0x1d, 0xcf, 0x83, 0xf0, 0xec, 0xd5, 0xb5, 0x3a,
	0x32, 0xb9, 0xf2, 0x69, 0x6a, 0x09, 0x0c, 0x9b, 0x3b, 0xb3, 0xd8, 0x77, 0x98, 0x4d, 0x86, 0xfb,
	0xa7, 0xfc, 0x2c, 0x5e, 0x7e, 0xc3, 0xfd, 0x0f, 0xb2, 0x3b, 0xdd, 0x23, 0xd8, 0xf2, 0x2b, 0x6c,
	0x1b, 0xd4, 0x9d, 0xa5, 0x2f, 0x75, 0x83, 0xba, 0x1c, 0x7a, 0xa6, 0x56, 0x03, 0xb3, 0xad, 0xb7,
	0x03, 0x63, 0x3f, 0x3d, 0x99, 0x8f, 0xc3, 0x49, 0x16, 0x1e, 0x9c, 0xfc, 0x41, 0x49, 0xbd, 0xb1,
	0x70, 0x42, 0xfc, 0xc0, 0x5f, 0xdd, 0x8a, 0x67, 0xff, 0x64, 0xcb, 0x99, 0xb8, 0x5c, 0xc6, 0x45,
	0xac, 0x37, 0x79, 0xbc, 0x4a, 0x74, 0xf1, 0x31, 0x4d, 0xf4, 0xe6, 0x36, 0x4f, 0x93, 0xc5, 0xfa,
	0xdd, 0x3a, 0x59, 0x9e, 0x3f, 0x92, 0x67, 0x42, 0xc4, 0xab, 0x55, 0x96, 0xac, 0xe2, 0x22, 0x59,
	0x9e, 0x07, 0xf2, 0xa9, 0x78, 0xbc, 0xce, 0x3f, 0xbc, 0x77, 0xd5, 0xe8, 0xe6, 0x57, 0x20, 0x66,
	0x25, 0xb5, 0xc7, 0x76, 0xbe, 0x79, 0xee, 0x97, 0xce, 0xb0, 0xa7, 0xc1, 0x96, 0x77, 0xa3, 0x31,
	0xa5, 0xc1, 0xa7, 0xf8, 0xe0, 0x54, 0xd4, 0x80, 0xa9, 0x14, 0xd9, 0x2a, 0xaa, 0xd0, 0xb8, 0xc3,
	0x44, 0xbe, 0x05, 0x5d, 0xdd, 0xff, 0xf7, 0x8a, 0x6f, 0x7d, 0xf9, 0x7b, 0x34, 0x5e, 0x14, 0xf9,
	0xf6, 0xd4, 0x39, 0xaf, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x62, 0x15, 0xfa, 0x04, 0x5d, 0x02,
	0x00, 0x00,
}
