tenant.proto 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.talent.v4beta1;
  16. import "google/api/field_behavior.proto";
  17. import "google/api/resource.proto";
  18. option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
  19. option java_multiple_files = true;
  20. option java_outer_classname = "TenantResourceProto";
  21. option java_package = "com.google.cloud.talent.v4beta1";
  22. option objc_class_prefix = "CTS";
  23. // A Tenant resource represents a tenant in the service. A tenant is a group or
  24. // entity that shares common access with specific privileges for resources like
  25. // profiles. Customer may create multiple tenants to provide data isolation for
  26. // different groups.
  27. message Tenant {
  28. option (google.api.resource) = {
  29. type: "jobs.googleapis.com/Tenant"
  30. pattern: "projects/{project}/tenants/{tenant}"
  31. };
  32. // Enum that represents how user data owned by the tenant is used.
  33. enum DataUsageType {
  34. // Default value.
  35. DATA_USAGE_TYPE_UNSPECIFIED = 0;
  36. // Data owned by this tenant is used to improve search/recommendation
  37. // quality across tenants.
  38. AGGREGATED = 1;
  39. // Data owned by this tenant is used to improve search/recommendation
  40. // quality for this tenant only.
  41. ISOLATED = 2;
  42. }
  43. // Required during tenant update.
  44. //
  45. // The resource name for a tenant. This is generated by the service when a
  46. // tenant is created.
  47. //
  48. // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
  49. // "projects/foo/tenants/bar".
  50. string name = 1;
  51. // Required. Client side tenant identifier, used to uniquely identify the tenant.
  52. //
  53. // The maximum number of allowed characters is 255.
  54. string external_id = 2 [(google.api.field_behavior) = REQUIRED];
  55. // Indicates whether data owned by this tenant may be used to provide product
  56. // improvements across other tenants.
  57. //
  58. // Defaults behavior is [DataUsageType.ISOLATED][google.cloud.talent.v4beta1.Tenant.DataUsageType.ISOLATED] if it's unset.
  59. DataUsageType usage_type = 3;
  60. // A list of keys of filterable [Profile.custom_attributes][google.cloud.talent.v4beta1.Profile.custom_attributes], whose
  61. // corresponding `string_values` are used in keyword searches. Profiles with
  62. // `string_values` under these specified field keys are returned if any
  63. // of the values match the search keyword. Custom field values with
  64. // parenthesis, brackets and special symbols are not searchable as-is,
  65. // and must be surrounded by quotes.
  66. repeated string keyword_searchable_profile_custom_attributes = 4;
  67. }