xref: /aosp_15_r20/external/googleapis/google/cloud/contentwarehouse/v1/pipelines.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.contentwarehouse.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/contentwarehouse/v1/common.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/policy.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto";
24*d5c09012SAndroid Build Coastguard Worker
25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.ContentWarehouse.V1";
26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/contentwarehouse/apiv1/contentwarehousepb;contentwarehousepb";
27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "PipelinesProto";
29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.contentwarehouse.v1";
30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\ContentWarehouse\\V1";
31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ContentWarehouse::V1";
32*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
33*d5c09012SAndroid Build Coastguard Worker  type: "cloudfunctions.googleapis.com/CloudFunction"
34*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/functions/{function}"
35*d5c09012SAndroid Build Coastguard Worker};
36*d5c09012SAndroid Build Coastguard Worker
37*d5c09012SAndroid Build Coastguard Worker// Response message of RunPipeline method.
38*d5c09012SAndroid Build Coastguard Workermessage RunPipelineResponse {}
39*d5c09012SAndroid Build Coastguard Worker
40*d5c09012SAndroid Build Coastguard Worker// Metadata message of RunPipeline method.
41*d5c09012SAndroid Build Coastguard Workermessage RunPipelineMetadata {
42*d5c09012SAndroid Build Coastguard Worker  // The metadata message for GcsIngest pipeline.
43*d5c09012SAndroid Build Coastguard Worker  message GcsIngestPipelineMetadata {
44*d5c09012SAndroid Build Coastguard Worker    // The input Cloud Storage folder in this pipeline.
45*d5c09012SAndroid Build Coastguard Worker    // Format: `gs://<bucket-name>/<folder-name>`.
46*d5c09012SAndroid Build Coastguard Worker    string input_path = 1;
47*d5c09012SAndroid Build Coastguard Worker  }
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker  // The metadata message for Export-to-CDW pipeline.
50*d5c09012SAndroid Build Coastguard Worker  message ExportToCdwPipelineMetadata {
51*d5c09012SAndroid Build Coastguard Worker    // The input list of all the resource names of the documents to be exported.
52*d5c09012SAndroid Build Coastguard Worker    repeated string documents = 1;
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker    // The output CDW dataset resource name.
55*d5c09012SAndroid Build Coastguard Worker    string doc_ai_dataset = 2;
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker    // The output Cloud Storage folder in this pipeline.
58*d5c09012SAndroid Build Coastguard Worker    string output_path = 3;
59*d5c09012SAndroid Build Coastguard Worker  }
60*d5c09012SAndroid Build Coastguard Worker
61*d5c09012SAndroid Build Coastguard Worker  // The metadata message for Process-with-DocAi pipeline.
62*d5c09012SAndroid Build Coastguard Worker  message ProcessWithDocAiPipelineMetadata {
63*d5c09012SAndroid Build Coastguard Worker    // The input list of all the resource names of the documents to be
64*d5c09012SAndroid Build Coastguard Worker    // processed.
65*d5c09012SAndroid Build Coastguard Worker    repeated string documents = 1;
66*d5c09012SAndroid Build Coastguard Worker
67*d5c09012SAndroid Build Coastguard Worker    // The DocAI processor to process the documents with.
68*d5c09012SAndroid Build Coastguard Worker    ProcessorInfo processor_info = 2;
69*d5c09012SAndroid Build Coastguard Worker  }
70*d5c09012SAndroid Build Coastguard Worker
71*d5c09012SAndroid Build Coastguard Worker  // The status of processing a document.
72*d5c09012SAndroid Build Coastguard Worker  message IndividualDocumentStatus {
73*d5c09012SAndroid Build Coastguard Worker    // Document identifier of an existing document.
74*d5c09012SAndroid Build Coastguard Worker    string document_id = 1;
75*d5c09012SAndroid Build Coastguard Worker
76*d5c09012SAndroid Build Coastguard Worker    // The status processing the document.
77*d5c09012SAndroid Build Coastguard Worker    google.rpc.Status status = 2;
78*d5c09012SAndroid Build Coastguard Worker  }
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker  // Number of files that were processed by the pipeline.
81*d5c09012SAndroid Build Coastguard Worker  int32 total_file_count = 1;
82*d5c09012SAndroid Build Coastguard Worker
83*d5c09012SAndroid Build Coastguard Worker  // Number of files that have failed at some point in the pipeline.
84*d5c09012SAndroid Build Coastguard Worker  int32 failed_file_count = 2;
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker  // User unique identification and groups information.
87*d5c09012SAndroid Build Coastguard Worker  UserInfo user_info = 3;
88*d5c09012SAndroid Build Coastguard Worker
89*d5c09012SAndroid Build Coastguard Worker  // The pipeline metadata.
90*d5c09012SAndroid Build Coastguard Worker  oneof pipeline_metadata {
91*d5c09012SAndroid Build Coastguard Worker    // The pipeline metadata for GcsIngest pipeline.
92*d5c09012SAndroid Build Coastguard Worker    GcsIngestPipelineMetadata gcs_ingest_pipeline_metadata = 4;
93*d5c09012SAndroid Build Coastguard Worker
94*d5c09012SAndroid Build Coastguard Worker    // The pipeline metadata for Export-to-CDW pipeline.
95*d5c09012SAndroid Build Coastguard Worker    ExportToCdwPipelineMetadata export_to_cdw_pipeline_metadata = 6;
96*d5c09012SAndroid Build Coastguard Worker
97*d5c09012SAndroid Build Coastguard Worker    // The pipeline metadata for Process-with-DocAi pipeline.
98*d5c09012SAndroid Build Coastguard Worker    ProcessWithDocAiPipelineMetadata process_with_doc_ai_pipeline_metadata = 7;
99*d5c09012SAndroid Build Coastguard Worker  }
100*d5c09012SAndroid Build Coastguard Worker
101*d5c09012SAndroid Build Coastguard Worker  // The list of response details of each document.
102*d5c09012SAndroid Build Coastguard Worker  repeated IndividualDocumentStatus individual_document_statuses = 5;
103*d5c09012SAndroid Build Coastguard Worker}
104*d5c09012SAndroid Build Coastguard Worker
105*d5c09012SAndroid Build Coastguard Worker// The DocAI processor information.
106*d5c09012SAndroid Build Coastguard Workermessage ProcessorInfo {
107*d5c09012SAndroid Build Coastguard Worker  // The processor resource name.
108*d5c09012SAndroid Build Coastguard Worker  // Format is `projects/{project}/locations/{location}/processors/{processor}`,
109*d5c09012SAndroid Build Coastguard Worker  // or
110*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`
111*d5c09012SAndroid Build Coastguard Worker  string processor_name = 1;
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  // The processor will process the documents with this document type.
114*d5c09012SAndroid Build Coastguard Worker  string document_type = 2;
115*d5c09012SAndroid Build Coastguard Worker
116*d5c09012SAndroid Build Coastguard Worker  // The Document schema resource name. All documents processed by this
117*d5c09012SAndroid Build Coastguard Worker  // processor will use this schema.
118*d5c09012SAndroid Build Coastguard Worker  // Format:
119*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.
120*d5c09012SAndroid Build Coastguard Worker  string schema_name = 3;
121*d5c09012SAndroid Build Coastguard Worker}
122*d5c09012SAndroid Build Coastguard Worker
123*d5c09012SAndroid Build Coastguard Worker// The ingestion pipeline config.
124*d5c09012SAndroid Build Coastguard Workermessage IngestPipelineConfig {
125*d5c09012SAndroid Build Coastguard Worker  // The document level acl policy config.
126*d5c09012SAndroid Build Coastguard Worker  // This refers to an Identity and Access (IAM) policy, which specifies access
127*d5c09012SAndroid Build Coastguard Worker  // controls for all documents ingested by the pipeline. The
128*d5c09012SAndroid Build Coastguard Worker  // [role][google.iam.v1.Binding.role] and
129*d5c09012SAndroid Build Coastguard Worker  // [members][google.iam.v1.Binding.role] under the policy needs to be
130*d5c09012SAndroid Build Coastguard Worker  // specified.
131*d5c09012SAndroid Build Coastguard Worker  //
132*d5c09012SAndroid Build Coastguard Worker  // The following roles are supported for document level acl control:
133*d5c09012SAndroid Build Coastguard Worker  // * roles/contentwarehouse.documentAdmin
134*d5c09012SAndroid Build Coastguard Worker  // * roles/contentwarehouse.documentEditor
135*d5c09012SAndroid Build Coastguard Worker  // * roles/contentwarehouse.documentViewer
136*d5c09012SAndroid Build Coastguard Worker  //
137*d5c09012SAndroid Build Coastguard Worker  // The following members are supported for document level acl control:
138*d5c09012SAndroid Build Coastguard Worker  // * user:[email protected]
139*d5c09012SAndroid Build Coastguard Worker  // * group:[email protected]
140*d5c09012SAndroid Build Coastguard Worker  // Note that for documents searched with LLM, only single level user or group
141*d5c09012SAndroid Build Coastguard Worker  // acl check is supported.
142*d5c09012SAndroid Build Coastguard Worker  google.iam.v1.Policy document_acl_policy = 1;
143*d5c09012SAndroid Build Coastguard Worker
144*d5c09012SAndroid Build Coastguard Worker  // The document text extraction enabled flag.
145*d5c09012SAndroid Build Coastguard Worker  // If the flag is set to true, DWH will perform text extraction on the raw
146*d5c09012SAndroid Build Coastguard Worker  // document.
147*d5c09012SAndroid Build Coastguard Worker  bool enable_document_text_extraction = 2;
148*d5c09012SAndroid Build Coastguard Worker
149*d5c09012SAndroid Build Coastguard Worker  // Optional. The name of the folder to which all ingested documents will be
150*d5c09012SAndroid Build Coastguard Worker  // linked during ingestion process. Format is
151*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/documents/{folder_id}`
152*d5c09012SAndroid Build Coastguard Worker  string folder = 3 [(google.api.field_behavior) = OPTIONAL];
153*d5c09012SAndroid Build Coastguard Worker
154*d5c09012SAndroid Build Coastguard Worker  // The Cloud Function resource name. The Cloud Function needs to live inside
155*d5c09012SAndroid Build Coastguard Worker  // consumer project and is accessible to Document AI Warehouse P4SA.
156*d5c09012SAndroid Build Coastguard Worker  // Only Cloud Functions V2 is supported. Cloud function execution should
157*d5c09012SAndroid Build Coastguard Worker  // complete within 5 minutes or this file ingestion may fail due to timeout.
158*d5c09012SAndroid Build Coastguard Worker  // Format: `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}`
159*d5c09012SAndroid Build Coastguard Worker  // The following keys are available the request json payload.
160*d5c09012SAndroid Build Coastguard Worker  // * display_name
161*d5c09012SAndroid Build Coastguard Worker  // * properties
162*d5c09012SAndroid Build Coastguard Worker  // * plain_text
163*d5c09012SAndroid Build Coastguard Worker  // * reference_id
164*d5c09012SAndroid Build Coastguard Worker  // * document_schema_name
165*d5c09012SAndroid Build Coastguard Worker  // * raw_document_path
166*d5c09012SAndroid Build Coastguard Worker  // * raw_document_file_type
167*d5c09012SAndroid Build Coastguard Worker  //
168*d5c09012SAndroid Build Coastguard Worker  // The following keys from the cloud function json response payload will be
169*d5c09012SAndroid Build Coastguard Worker  // ingested to the Document AI Warehouse as part of Document proto content
170*d5c09012SAndroid Build Coastguard Worker  // and/or related information. The original values will be overridden if any
171*d5c09012SAndroid Build Coastguard Worker  // key is present in the response.
172*d5c09012SAndroid Build Coastguard Worker  // * display_name
173*d5c09012SAndroid Build Coastguard Worker  // * properties
174*d5c09012SAndroid Build Coastguard Worker  // * plain_text
175*d5c09012SAndroid Build Coastguard Worker  // * document_acl_policy
176*d5c09012SAndroid Build Coastguard Worker  // * folder
177*d5c09012SAndroid Build Coastguard Worker  string cloud_function = 4 [(google.api.resource_reference) = {
178*d5c09012SAndroid Build Coastguard Worker    type: "cloudfunctions.googleapis.com/CloudFunction"
179*d5c09012SAndroid Build Coastguard Worker  }];
180*d5c09012SAndroid Build Coastguard Worker}
181*d5c09012SAndroid Build Coastguard Worker
182*d5c09012SAndroid Build Coastguard Worker// The configuration of the Cloud Storage Ingestion pipeline.
183*d5c09012SAndroid Build Coastguard Workermessage GcsIngestPipeline {
184*d5c09012SAndroid Build Coastguard Worker  // The input Cloud Storage folder. All files under this folder will be
185*d5c09012SAndroid Build Coastguard Worker  // imported to Document Warehouse.
186*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://<bucket-name>/<folder-name>`.
187*d5c09012SAndroid Build Coastguard Worker  string input_path = 1;
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker  // The Document Warehouse schema resource name. All documents processed by
190*d5c09012SAndroid Build Coastguard Worker  // this pipeline will use this schema.
191*d5c09012SAndroid Build Coastguard Worker  // Format:
192*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.
193*d5c09012SAndroid Build Coastguard Worker  string schema_name = 2;
194*d5c09012SAndroid Build Coastguard Worker
195*d5c09012SAndroid Build Coastguard Worker  // The Doc AI processor type name. Only used when the format of ingested
196*d5c09012SAndroid Build Coastguard Worker  // files is Doc AI Document proto format.
197*d5c09012SAndroid Build Coastguard Worker  string processor_type = 3;
198*d5c09012SAndroid Build Coastguard Worker
199*d5c09012SAndroid Build Coastguard Worker  // The flag whether to skip ingested documents.
200*d5c09012SAndroid Build Coastguard Worker  // If it is set to true, documents in Cloud Storage contains key "status" with
201*d5c09012SAndroid Build Coastguard Worker  // value "status=ingested" in custom metadata will be skipped to ingest.
202*d5c09012SAndroid Build Coastguard Worker  bool skip_ingested_documents = 4;
203*d5c09012SAndroid Build Coastguard Worker
204*d5c09012SAndroid Build Coastguard Worker  // Optional. The config for the Cloud Storage Ingestion pipeline.
205*d5c09012SAndroid Build Coastguard Worker  // It provides additional customization options to run the pipeline and can be
206*d5c09012SAndroid Build Coastguard Worker  // skipped if it is not applicable.
207*d5c09012SAndroid Build Coastguard Worker  IngestPipelineConfig pipeline_config = 5
208*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
209*d5c09012SAndroid Build Coastguard Worker}
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker// The configuration of the Cloud Storage Ingestion with DocAI Processors
212*d5c09012SAndroid Build Coastguard Worker// pipeline.
213*d5c09012SAndroid Build Coastguard Workermessage GcsIngestWithDocAiProcessorsPipeline {
214*d5c09012SAndroid Build Coastguard Worker  // The input Cloud Storage folder. All files under this folder will be
215*d5c09012SAndroid Build Coastguard Worker  // imported to Document Warehouse.
216*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://<bucket-name>/<folder-name>`.
217*d5c09012SAndroid Build Coastguard Worker  string input_path = 1;
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker  // The split and classify processor information.
220*d5c09012SAndroid Build Coastguard Worker  // The split and classify result will be used to find a matched extract
221*d5c09012SAndroid Build Coastguard Worker  // processor.
222*d5c09012SAndroid Build Coastguard Worker  ProcessorInfo split_classify_processor_info = 2;
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // The extract processors information.
225*d5c09012SAndroid Build Coastguard Worker  // One matched extract processor will be used to process documents based on
226*d5c09012SAndroid Build Coastguard Worker  // the classify processor result. If no classify processor is specified, the
227*d5c09012SAndroid Build Coastguard Worker  // first extract processor will be used.
228*d5c09012SAndroid Build Coastguard Worker  repeated ProcessorInfo extract_processor_infos = 3;
229*d5c09012SAndroid Build Coastguard Worker
230*d5c09012SAndroid Build Coastguard Worker  // The Cloud Storage folder path used to store the raw results from
231*d5c09012SAndroid Build Coastguard Worker  // processors.
232*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://<bucket-name>/<folder-name>`.
233*d5c09012SAndroid Build Coastguard Worker  string processor_results_folder_path = 4;
234*d5c09012SAndroid Build Coastguard Worker
235*d5c09012SAndroid Build Coastguard Worker  // The flag whether to skip ingested documents.
236*d5c09012SAndroid Build Coastguard Worker  // If it is set to true, documents in Cloud Storage contains key "status" with
237*d5c09012SAndroid Build Coastguard Worker  // value "status=ingested" in custom metadata will be skipped to ingest.
238*d5c09012SAndroid Build Coastguard Worker  bool skip_ingested_documents = 5;
239*d5c09012SAndroid Build Coastguard Worker
240*d5c09012SAndroid Build Coastguard Worker  // Optional. The config for the Cloud Storage Ingestion with DocAI Processors
241*d5c09012SAndroid Build Coastguard Worker  // pipeline. It provides additional customization options to run the pipeline
242*d5c09012SAndroid Build Coastguard Worker  // and can be skipped if it is not applicable.
243*d5c09012SAndroid Build Coastguard Worker  IngestPipelineConfig pipeline_config = 6
244*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
245*d5c09012SAndroid Build Coastguard Worker}
246*d5c09012SAndroid Build Coastguard Worker
247*d5c09012SAndroid Build Coastguard Worker// The configuration of exporting documents from the Document Warehouse to CDW
248*d5c09012SAndroid Build Coastguard Worker// pipeline.
249*d5c09012SAndroid Build Coastguard Workermessage ExportToCdwPipeline {
250*d5c09012SAndroid Build Coastguard Worker  // The list of all the resource names of the documents to be processed.
251*d5c09012SAndroid Build Coastguard Worker  // Format:
252*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/documents/{document_id}.
253*d5c09012SAndroid Build Coastguard Worker  repeated string documents = 1;
254*d5c09012SAndroid Build Coastguard Worker
255*d5c09012SAndroid Build Coastguard Worker  // The Cloud Storage folder path used to store the exported documents before
256*d5c09012SAndroid Build Coastguard Worker  // being sent to CDW.
257*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://<bucket-name>/<folder-name>`.
258*d5c09012SAndroid Build Coastguard Worker  string export_folder_path = 2;
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker  // Optional. The CDW dataset resource name. This field is optional. If not
261*d5c09012SAndroid Build Coastguard Worker  // set, the documents will be exported to Cloud Storage only. Format:
262*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}/processors/{processor}/dataset
263*d5c09012SAndroid Build Coastguard Worker  string doc_ai_dataset = 3 [(google.api.field_behavior) = OPTIONAL];
264*d5c09012SAndroid Build Coastguard Worker
265*d5c09012SAndroid Build Coastguard Worker  // Ratio of training dataset split. When importing into Document AI Workbench,
266*d5c09012SAndroid Build Coastguard Worker  // documents will be automatically split into training and test split category
267*d5c09012SAndroid Build Coastguard Worker  // with the specified ratio. This field is required if doc_ai_dataset is set.
268*d5c09012SAndroid Build Coastguard Worker  float training_split_ratio = 4;
269*d5c09012SAndroid Build Coastguard Worker}
270*d5c09012SAndroid Build Coastguard Worker
271*d5c09012SAndroid Build Coastguard Worker// The configuration of processing documents in Document Warehouse with DocAi
272*d5c09012SAndroid Build Coastguard Worker// processors pipeline.
273*d5c09012SAndroid Build Coastguard Workermessage ProcessWithDocAiPipeline {
274*d5c09012SAndroid Build Coastguard Worker  // The list of all the resource names of the documents to be processed.
275*d5c09012SAndroid Build Coastguard Worker  // Format:
276*d5c09012SAndroid Build Coastguard Worker  // projects/{project_number}/locations/{location}/documents/{document_id}.
277*d5c09012SAndroid Build Coastguard Worker  repeated string documents = 1;
278*d5c09012SAndroid Build Coastguard Worker
279*d5c09012SAndroid Build Coastguard Worker  // The Cloud Storage folder path used to store the exported documents before
280*d5c09012SAndroid Build Coastguard Worker  // being sent to CDW.
281*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://<bucket-name>/<folder-name>`.
282*d5c09012SAndroid Build Coastguard Worker  string export_folder_path = 2;
283*d5c09012SAndroid Build Coastguard Worker
284*d5c09012SAndroid Build Coastguard Worker  // The CDW processor information.
285*d5c09012SAndroid Build Coastguard Worker  ProcessorInfo processor_info = 3;
286*d5c09012SAndroid Build Coastguard Worker
287*d5c09012SAndroid Build Coastguard Worker  // The Cloud Storage folder path used to store the raw results from
288*d5c09012SAndroid Build Coastguard Worker  // processors.
289*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://<bucket-name>/<folder-name>`.
290*d5c09012SAndroid Build Coastguard Worker  string processor_results_folder_path = 4;
291*d5c09012SAndroid Build Coastguard Worker}
292