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