tenant.proto 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // Copyright 2020 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. import "google/protobuf/timestamp.proto";
  19. import "google/api/annotations.proto";
  20. option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
  21. option java_multiple_files = true;
  22. option java_outer_classname = "TenantResourceProto";
  23. option java_package = "com.google.cloud.talent.v4beta1";
  24. option objc_class_prefix = "CTS";
  25. // A Tenant resource represents a tenant in the service. A tenant is a group or
  26. // entity that shares common access with specific privileges for resources like
  27. // profiles. Customer may create multiple tenants to provide data isolation for
  28. // different groups.
  29. message Tenant {
  30. option (google.api.resource) = {
  31. type: "jobs.googleapis.com/Tenant"
  32. pattern: "projects/{project}/tenants/{tenant}"
  33. };
  34. // Enum that represents how user data owned by the tenant is used.
  35. enum DataUsageType {
  36. // Default value.
  37. DATA_USAGE_TYPE_UNSPECIFIED = 0;
  38. // Data owned by this tenant is used to improve search/recommendation
  39. // quality across tenants.
  40. AGGREGATED = 1;
  41. // Data owned by this tenant is used to improve search/recommendation
  42. // quality for this tenant only.
  43. ISOLATED = 2;
  44. }
  45. // Required during tenant update.
  46. //
  47. // The resource name for a tenant. This is generated by the service when a
  48. // tenant is created.
  49. //
  50. // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
  51. // "projects/foo/tenants/bar".
  52. string name = 1;
  53. // Required. Client side tenant identifier, used to uniquely identify the tenant.
  54. //
  55. // The maximum number of allowed characters is 255.
  56. string external_id = 2 [(google.api.field_behavior) = REQUIRED];
  57. // Indicates whether data owned by this tenant may be used to provide product
  58. // improvements across other tenants.
  59. //
  60. // Defaults behavior is [DataUsageType.ISOLATED][google.cloud.talent.v4beta1.Tenant.DataUsageType.ISOLATED] if it's unset.
  61. DataUsageType usage_type = 3;
  62. // A list of keys of filterable [Profile.custom_attributes][google.cloud.talent.v4beta1.Profile.custom_attributes], whose
  63. // corresponding `string_values` are used in keyword searches. Profiles with
  64. // `string_values` under these specified field keys are returned if any
  65. // of the values match the search keyword. Custom field values with
  66. // parenthesis, brackets and special symbols are not searchable as-is,
  67. // and must be surrounded by quotes.
  68. repeated string keyword_searchable_profile_custom_attributes = 4;
  69. }