xref: /aosp_15_r20/external/googleapis/google/cloud/discoveryengine/v1alpha/project.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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