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 15syntax = "proto3"; 16 17package google.cloud.discoveryengine.v1alpha; 18 19import "google/api/field_behavior.proto"; 20import "google/api/resource.proto"; 21import "google/protobuf/timestamp.proto"; 22 23option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha"; 24option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb"; 25option java_multiple_files = true; 26option java_outer_classname = "ProjectProto"; 27option java_package = "com.google.cloud.discoveryengine.v1alpha"; 28option objc_class_prefix = "DISCOVERYENGINE"; 29option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha"; 30option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha"; 31 32// Metadata and configurations for a Google Cloud project in the service. 33message Project { 34 option (google.api.resource) = { 35 type: "discoveryengine.googleapis.com/Project" 36 pattern: "projects/{project}" 37 }; 38 39 // Metadata about the terms of service. 40 message ServiceTerms { 41 // The agreement states this terms of service. 42 enum State { 43 // The default value of the enum. This value is not actually used. 44 STATE_UNSPECIFIED = 0; 45 46 // The project has given consent to the terms of service. 47 TERMS_ACCEPTED = 1; 48 49 // The project is pending to review and accept the terms of service. 50 TERMS_PENDING = 2; 51 52 // The project has declined or revoked the agreement to terms of service. 53 TERMS_DECLINED = 3; 54 } 55 56 // The unique identifier of this terms of service. 57 // Available terms: 58 // * `GA_DATA_USE_TERMS`: [Terms for data 59 // use](https://cloud.google.com/retail/data-use-terms). When using this as 60 // `id`, the acceptable 61 // [version][google.cloud.discoveryengine.v1alpha.Project.ServiceTerms.version] 62 // to provide is `2022-11-23`. 63 string id = 1; 64 65 // The version string of the terms of service. 66 // For acceptable values, see the comments for 67 // [id][google.cloud.discoveryengine.v1alpha.Project.ServiceTerms.id] above. 68 string version = 2; 69 70 // Whether the project has accepted/rejected the service terms or it is 71 // still pending. 72 State state = 4; 73 74 // The last time when the project agreed to the terms of service. 75 google.protobuf.Timestamp accept_time = 5; 76 77 // The last time when the project declined or revoked the agreement to terms 78 // of service. 79 google.protobuf.Timestamp decline_time = 6; 80 } 81 82 // Output only. Full resource name of the project, for example 83 // `projects/{project_number}`. 84 // Note that when making requests, project number and project id are both 85 // acceptable, but the server will always respond in project number. 86 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 87 88 // Output only. The timestamp when this project is created. 89 google.protobuf.Timestamp create_time = 2 90 [(google.api.field_behavior) = OUTPUT_ONLY]; 91 92 // Output only. The timestamp when this project is successfully provisioned. 93 // Empty value means this project is still provisioning and is not ready for 94 // use. 95 google.protobuf.Timestamp provision_completion_time = 3 96 [(google.api.field_behavior) = OUTPUT_ONLY]; 97 98 // Output only. A map of terms of services. The key is the `id` of 99 // [ServiceTerms][google.cloud.discoveryengine.v1alpha.Project.ServiceTerms]. 100 map<string, ServiceTerms> service_terms_map = 4 101 [(google.api.field_behavior) = OUTPUT_ONLY]; 102} 103