blob: 8eef5e3d73eaec136edf3129e16af27cfa53e687 [file] [log] [blame]
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
syntax = "proto3";
package google.cloud.talent.v4beta1;
import "google/cloud/talent/v4beta1/common.proto";
import "google/api/annotations.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
option java_multiple_files = true;
option java_outer_classname = "TenantResourceProto";
option java_package = "com.google.cloud.talent.v4beta1";
option objc_class_prefix = "CTS";
// 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.
message Tenant {
// Enum that represents how user data owned by the tenant is used.
enum DataUsageType {
// Default value.
DATA_USAGE_TYPE_UNSPECIFIED = 0;
// Data owned by this tenant is used to improve search/recommendation
// quality across tenants.
AGGREGATED = 1;
// Data owned by this tenant is used to improve search/recommendation
// quality for this tenant only.
ISOLATED = 2;
}
// 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".
string name = 1;
// Required.
//
// Client side tenant identifier, used to uniquely identify the tenant.
//
// The maximum number of allowed characters is 255.
string external_id = 2;
// 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.
DataUsageType usage_type = 3;
// 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.
repeated string keyword_searchable_profile_custom_attributes = 4;
}