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.dataplex.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dataplex/v1/data_profile.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dataplex/v1/data_quality.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dataplex/v1/processing.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dataplex/v1/resources.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dataplex/v1/service.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto"; 29*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 30*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 31*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb"; 34*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 35*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "DataScansProto"; 36*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dataplex.v1"; 37*d5c09012SAndroid Build Coastguard Worker 38*d5c09012SAndroid Build Coastguard Worker// DataScanService manages DataScan resources which can be configured to run 39*d5c09012SAndroid Build Coastguard Worker// various types of data scanning workload and generate enriched metadata (e.g. 40*d5c09012SAndroid Build Coastguard Worker// Data Profile, Data Quality) for the data source. 41*d5c09012SAndroid Build Coastguard Workerservice DataScanService { 42*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dataplex.googleapis.com"; 43*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 44*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 45*d5c09012SAndroid Build Coastguard Worker 46*d5c09012SAndroid Build Coastguard Worker // Creates a DataScan resource. 47*d5c09012SAndroid Build Coastguard Worker rpc CreateDataScan(CreateDataScanRequest) 48*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 49*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 50*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*}/dataScans" 51*d5c09012SAndroid Build Coastguard Worker body: "data_scan" 52*d5c09012SAndroid Build Coastguard Worker }; 53*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,data_scan,data_scan_id"; 54*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 55*d5c09012SAndroid Build Coastguard Worker response_type: "DataScan" 56*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 57*d5c09012SAndroid Build Coastguard Worker }; 58*d5c09012SAndroid Build Coastguard Worker } 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker // Updates a DataScan resource. 61*d5c09012SAndroid Build Coastguard Worker rpc UpdateDataScan(UpdateDataScanRequest) 62*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 63*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 64*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{data_scan.name=projects/*/locations/*/dataScans/*}" 65*d5c09012SAndroid Build Coastguard Worker body: "data_scan" 66*d5c09012SAndroid Build Coastguard Worker }; 67*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "data_scan,update_mask"; 68*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 69*d5c09012SAndroid Build Coastguard Worker response_type: "DataScan" 70*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 71*d5c09012SAndroid Build Coastguard Worker }; 72*d5c09012SAndroid Build Coastguard Worker } 73*d5c09012SAndroid Build Coastguard Worker 74*d5c09012SAndroid Build Coastguard Worker // Deletes a DataScan resource. 75*d5c09012SAndroid Build Coastguard Worker rpc DeleteDataScan(DeleteDataScanRequest) 76*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 77*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 78*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/dataScans/*}" 79*d5c09012SAndroid Build Coastguard Worker }; 80*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 81*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 82*d5c09012SAndroid Build Coastguard Worker response_type: "google.protobuf.Empty" 83*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 84*d5c09012SAndroid Build Coastguard Worker }; 85*d5c09012SAndroid Build Coastguard Worker } 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Gets a DataScan resource. 88*d5c09012SAndroid Build Coastguard Worker rpc GetDataScan(GetDataScanRequest) returns (DataScan) { 89*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 90*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/dataScans/*}" 91*d5c09012SAndroid Build Coastguard Worker }; 92*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 93*d5c09012SAndroid Build Coastguard Worker } 94*d5c09012SAndroid Build Coastguard Worker 95*d5c09012SAndroid Build Coastguard Worker // Lists DataScans. 96*d5c09012SAndroid Build Coastguard Worker rpc ListDataScans(ListDataScansRequest) returns (ListDataScansResponse) { 97*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 98*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*}/dataScans" 99*d5c09012SAndroid Build Coastguard Worker }; 100*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 101*d5c09012SAndroid Build Coastguard Worker } 102*d5c09012SAndroid Build Coastguard Worker 103*d5c09012SAndroid Build Coastguard Worker // Runs an on-demand execution of a DataScan 104*d5c09012SAndroid Build Coastguard Worker rpc RunDataScan(RunDataScanRequest) returns (RunDataScanResponse) { 105*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 106*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/dataScans/*}:run" 107*d5c09012SAndroid Build Coastguard Worker body: "*" 108*d5c09012SAndroid Build Coastguard Worker }; 109*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 110*d5c09012SAndroid Build Coastguard Worker } 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker // Gets a DataScanJob resource. 113*d5c09012SAndroid Build Coastguard Worker rpc GetDataScanJob(GetDataScanJobRequest) returns (DataScanJob) { 114*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 115*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}" 116*d5c09012SAndroid Build Coastguard Worker }; 117*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 118*d5c09012SAndroid Build Coastguard Worker } 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // Lists DataScanJobs under the given DataScan. 121*d5c09012SAndroid Build Coastguard Worker rpc ListDataScanJobs(ListDataScanJobsRequest) 122*d5c09012SAndroid Build Coastguard Worker returns (ListDataScanJobsResponse) { 123*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 124*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*/dataScans/*}/jobs" 125*d5c09012SAndroid Build Coastguard Worker }; 126*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 127*d5c09012SAndroid Build Coastguard Worker } 128*d5c09012SAndroid Build Coastguard Worker 129*d5c09012SAndroid Build Coastguard Worker // Generates recommended DataQualityRule from a data profiling DataScan. 130*d5c09012SAndroid Build Coastguard Worker rpc GenerateDataQualityRules(GenerateDataQualityRulesRequest) 131*d5c09012SAndroid Build Coastguard Worker returns (GenerateDataQualityRulesResponse) { 132*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 133*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/dataScans/*}:generateDataQualityRules" 134*d5c09012SAndroid Build Coastguard Worker body: "*" 135*d5c09012SAndroid Build Coastguard Worker additional_bindings { 136*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}:generateDataQualityRules" 137*d5c09012SAndroid Build Coastguard Worker body: "*" 138*d5c09012SAndroid Build Coastguard Worker } 139*d5c09012SAndroid Build Coastguard Worker }; 140*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 141*d5c09012SAndroid Build Coastguard Worker } 142*d5c09012SAndroid Build Coastguard Worker} 143*d5c09012SAndroid Build Coastguard Worker 144*d5c09012SAndroid Build Coastguard Worker// Create dataScan request. 145*d5c09012SAndroid Build Coastguard Workermessage CreateDataScanRequest { 146*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent location: 147*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}` 148*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 149*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 150*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 151*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 152*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 153*d5c09012SAndroid Build Coastguard Worker type: "locations.googleapis.com/Location" 154*d5c09012SAndroid Build Coastguard Worker } 155*d5c09012SAndroid Build Coastguard Worker ]; 156*d5c09012SAndroid Build Coastguard Worker 157*d5c09012SAndroid Build Coastguard Worker // Required. DataScan resource. 158*d5c09012SAndroid Build Coastguard Worker DataScan data_scan = 2 [(google.api.field_behavior) = REQUIRED]; 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker // Required. DataScan identifier. 161*d5c09012SAndroid Build Coastguard Worker // 162*d5c09012SAndroid Build Coastguard Worker // * Must contain only lowercase letters, numbers and hyphens. 163*d5c09012SAndroid Build Coastguard Worker // * Must start with a letter. 164*d5c09012SAndroid Build Coastguard Worker // * Must end with a number or a letter. 165*d5c09012SAndroid Build Coastguard Worker // * Must be between 1-63 characters. 166*d5c09012SAndroid Build Coastguard Worker // * Must be unique within the customer project / location. 167*d5c09012SAndroid Build Coastguard Worker string data_scan_id = 3 [(google.api.field_behavior) = REQUIRED]; 168*d5c09012SAndroid Build Coastguard Worker 169*d5c09012SAndroid Build Coastguard Worker // Optional. Only validate the request, but do not perform mutations. 170*d5c09012SAndroid Build Coastguard Worker // The default is `false`. 171*d5c09012SAndroid Build Coastguard Worker bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; 172*d5c09012SAndroid Build Coastguard Worker} 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker// Update dataScan request. 175*d5c09012SAndroid Build Coastguard Workermessage UpdateDataScanRequest { 176*d5c09012SAndroid Build Coastguard Worker // Required. DataScan resource to be updated. 177*d5c09012SAndroid Build Coastguard Worker // 178*d5c09012SAndroid Build Coastguard Worker // Only fields specified in `update_mask` are updated. 179*d5c09012SAndroid Build Coastguard Worker DataScan data_scan = 1 [(google.api.field_behavior) = REQUIRED]; 180*d5c09012SAndroid Build Coastguard Worker 181*d5c09012SAndroid Build Coastguard Worker // Required. Mask of fields to update. 182*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2 183*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 184*d5c09012SAndroid Build Coastguard Worker 185*d5c09012SAndroid Build Coastguard Worker // Optional. Only validate the request, but do not perform mutations. 186*d5c09012SAndroid Build Coastguard Worker // The default is `false`. 187*d5c09012SAndroid Build Coastguard Worker bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; 188*d5c09012SAndroid Build Coastguard Worker} 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker// Delete dataScan request. 191*d5c09012SAndroid Build Coastguard Workermessage DeleteDataScanRequest { 192*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the dataScan: 193*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}` 194*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 195*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 196*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 197*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 198*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 199*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/DataScan" 200*d5c09012SAndroid Build Coastguard Worker } 201*d5c09012SAndroid Build Coastguard Worker ]; 202*d5c09012SAndroid Build Coastguard Worker} 203*d5c09012SAndroid Build Coastguard Worker 204*d5c09012SAndroid Build Coastguard Worker// Get dataScan request. 205*d5c09012SAndroid Build Coastguard Workermessage GetDataScanRequest { 206*d5c09012SAndroid Build Coastguard Worker // DataScan view options. 207*d5c09012SAndroid Build Coastguard Worker enum DataScanView { 208*d5c09012SAndroid Build Coastguard Worker // The API will default to the `BASIC` view. 209*d5c09012SAndroid Build Coastguard Worker DATA_SCAN_VIEW_UNSPECIFIED = 0; 210*d5c09012SAndroid Build Coastguard Worker 211*d5c09012SAndroid Build Coastguard Worker // Basic view that does not include *spec* and *result*. 212*d5c09012SAndroid Build Coastguard Worker BASIC = 1; 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker // Include everything. 215*d5c09012SAndroid Build Coastguard Worker FULL = 10; 216*d5c09012SAndroid Build Coastguard Worker } 217*d5c09012SAndroid Build Coastguard Worker 218*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the dataScan: 219*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}` 220*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 221*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 222*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 223*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 224*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 225*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/DataScan" 226*d5c09012SAndroid Build Coastguard Worker } 227*d5c09012SAndroid Build Coastguard Worker ]; 228*d5c09012SAndroid Build Coastguard Worker 229*d5c09012SAndroid Build Coastguard Worker // Optional. Select the DataScan view to return. Defaults to `BASIC`. 230*d5c09012SAndroid Build Coastguard Worker DataScanView view = 2 [(google.api.field_behavior) = OPTIONAL]; 231*d5c09012SAndroid Build Coastguard Worker} 232*d5c09012SAndroid Build Coastguard Worker 233*d5c09012SAndroid Build Coastguard Worker// List dataScans request. 234*d5c09012SAndroid Build Coastguard Workermessage ListDataScansRequest { 235*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent location: 236*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}` 237*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 238*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 239*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 240*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 241*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 242*d5c09012SAndroid Build Coastguard Worker type: "locations.googleapis.com/Location" 243*d5c09012SAndroid Build Coastguard Worker } 244*d5c09012SAndroid Build Coastguard Worker ]; 245*d5c09012SAndroid Build Coastguard Worker 246*d5c09012SAndroid Build Coastguard Worker // Optional. Maximum number of dataScans to return. The service may return 247*d5c09012SAndroid Build Coastguard Worker // fewer than this value. If unspecified, at most 500 scans will be returned. 248*d5c09012SAndroid Build Coastguard Worker // The maximum value is 1000; values above 1000 will be coerced to 1000. 249*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 250*d5c09012SAndroid Build Coastguard Worker 251*d5c09012SAndroid Build Coastguard Worker // Optional. Page token received from a previous `ListDataScans` call. Provide 252*d5c09012SAndroid Build Coastguard Worker // this to retrieve the subsequent page. When paginating, all other parameters 253*d5c09012SAndroid Build Coastguard Worker // provided to `ListDataScans` must match the call that provided the 254*d5c09012SAndroid Build Coastguard Worker // page token. 255*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 256*d5c09012SAndroid Build Coastguard Worker 257*d5c09012SAndroid Build Coastguard Worker // Optional. Filter request. 258*d5c09012SAndroid Build Coastguard Worker string filter = 4 [(google.api.field_behavior) = OPTIONAL]; 259*d5c09012SAndroid Build Coastguard Worker 260*d5c09012SAndroid Build Coastguard Worker // Optional. Order by fields (`name` or `create_time`) for the result. 261*d5c09012SAndroid Build Coastguard Worker // If not specified, the ordering is undefined. 262*d5c09012SAndroid Build Coastguard Worker string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; 263*d5c09012SAndroid Build Coastguard Worker} 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker// List dataScans response. 266*d5c09012SAndroid Build Coastguard Workermessage ListDataScansResponse { 267*d5c09012SAndroid Build Coastguard Worker // DataScans (`BASIC` view only) under the given parent location. 268*d5c09012SAndroid Build Coastguard Worker repeated DataScan data_scans = 1; 269*d5c09012SAndroid Build Coastguard Worker 270*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results, or empty if there are no more 271*d5c09012SAndroid Build Coastguard Worker // results in the list. 272*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 273*d5c09012SAndroid Build Coastguard Worker 274*d5c09012SAndroid Build Coastguard Worker // Locations that could not be reached. 275*d5c09012SAndroid Build Coastguard Worker repeated string unreachable = 3; 276*d5c09012SAndroid Build Coastguard Worker} 277*d5c09012SAndroid Build Coastguard Worker 278*d5c09012SAndroid Build Coastguard Worker// Run DataScan Request 279*d5c09012SAndroid Build Coastguard Workermessage RunDataScanRequest { 280*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the DataScan: 281*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}`. 282*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 283*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 284*d5c09012SAndroid Build Coastguard Worker // 285*d5c09012SAndroid Build Coastguard Worker // Only **OnDemand** data scans are allowed. 286*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 287*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 288*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 289*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/DataScan" 290*d5c09012SAndroid Build Coastguard Worker } 291*d5c09012SAndroid Build Coastguard Worker ]; 292*d5c09012SAndroid Build Coastguard Worker} 293*d5c09012SAndroid Build Coastguard Worker 294*d5c09012SAndroid Build Coastguard Worker// Run DataScan Response. 295*d5c09012SAndroid Build Coastguard Workermessage RunDataScanResponse { 296*d5c09012SAndroid Build Coastguard Worker // DataScanJob created by RunDataScan request. 297*d5c09012SAndroid Build Coastguard Worker DataScanJob job = 1; 298*d5c09012SAndroid Build Coastguard Worker} 299*d5c09012SAndroid Build Coastguard Worker 300*d5c09012SAndroid Build Coastguard Worker// Get DataScanJob request. 301*d5c09012SAndroid Build Coastguard Workermessage GetDataScanJobRequest { 302*d5c09012SAndroid Build Coastguard Worker // DataScanJob view options. 303*d5c09012SAndroid Build Coastguard Worker enum DataScanJobView { 304*d5c09012SAndroid Build Coastguard Worker // The API will default to the `BASIC` view. 305*d5c09012SAndroid Build Coastguard Worker DATA_SCAN_JOB_VIEW_UNSPECIFIED = 0; 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // Basic view that does not include *spec* and *result*. 308*d5c09012SAndroid Build Coastguard Worker BASIC = 1; 309*d5c09012SAndroid Build Coastguard Worker 310*d5c09012SAndroid Build Coastguard Worker // Include everything. 311*d5c09012SAndroid Build Coastguard Worker FULL = 10; 312*d5c09012SAndroid Build Coastguard Worker } 313*d5c09012SAndroid Build Coastguard Worker 314*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the DataScanJob: 315*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id}` 316*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 317*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 318*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 319*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 320*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 321*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/DataScanJob" 322*d5c09012SAndroid Build Coastguard Worker } 323*d5c09012SAndroid Build Coastguard Worker ]; 324*d5c09012SAndroid Build Coastguard Worker 325*d5c09012SAndroid Build Coastguard Worker // Optional. Select the DataScanJob view to return. Defaults to `BASIC`. 326*d5c09012SAndroid Build Coastguard Worker DataScanJobView view = 2 [(google.api.field_behavior) = OPTIONAL]; 327*d5c09012SAndroid Build Coastguard Worker} 328*d5c09012SAndroid Build Coastguard Worker 329*d5c09012SAndroid Build Coastguard Worker// List DataScanJobs request. 330*d5c09012SAndroid Build Coastguard Workermessage ListDataScanJobsRequest { 331*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the parent environment: 332*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}` 333*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 334*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 335*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 336*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 337*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 338*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/DataScan" 339*d5c09012SAndroid Build Coastguard Worker } 340*d5c09012SAndroid Build Coastguard Worker ]; 341*d5c09012SAndroid Build Coastguard Worker 342*d5c09012SAndroid Build Coastguard Worker // Optional. Maximum number of DataScanJobs to return. The service may return 343*d5c09012SAndroid Build Coastguard Worker // fewer than this value. If unspecified, at most 10 DataScanJobs will be 344*d5c09012SAndroid Build Coastguard Worker // returned. The maximum value is 1000; values above 1000 will be coerced to 345*d5c09012SAndroid Build Coastguard Worker // 1000. 346*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 347*d5c09012SAndroid Build Coastguard Worker 348*d5c09012SAndroid Build Coastguard Worker // Optional. Page token received from a previous `ListDataScanJobs` call. 349*d5c09012SAndroid Build Coastguard Worker // Provide this to retrieve the subsequent page. When paginating, all other 350*d5c09012SAndroid Build Coastguard Worker // parameters provided to `ListDataScanJobs` must match the call that provided 351*d5c09012SAndroid Build Coastguard Worker // the page token. 352*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 353*d5c09012SAndroid Build Coastguard Worker 354*d5c09012SAndroid Build Coastguard Worker // Optional. An expression for filtering the results of the ListDataScanJobs 355*d5c09012SAndroid Build Coastguard Worker // request. 356*d5c09012SAndroid Build Coastguard Worker // 357*d5c09012SAndroid Build Coastguard Worker // If unspecified, all datascan jobs will be returned. Multiple filters can be 358*d5c09012SAndroid Build Coastguard Worker // applied (with `AND`, `OR` logical operators). Filters are case-sensitive. 359*d5c09012SAndroid Build Coastguard Worker // 360*d5c09012SAndroid Build Coastguard Worker // Allowed fields are: 361*d5c09012SAndroid Build Coastguard Worker // 362*d5c09012SAndroid Build Coastguard Worker // - `start_time` 363*d5c09012SAndroid Build Coastguard Worker // - `end_time` 364*d5c09012SAndroid Build Coastguard Worker // 365*d5c09012SAndroid Build Coastguard Worker // `start_time` and `end_time` expect RFC-3339 formatted strings (e.g. 366*d5c09012SAndroid Build Coastguard Worker // 2018-10-08T18:30:00-07:00). 367*d5c09012SAndroid Build Coastguard Worker // 368*d5c09012SAndroid Build Coastguard Worker // For instance, 'start_time > 2018-10-08T00:00:00.123456789Z AND end_time < 369*d5c09012SAndroid Build Coastguard Worker // 2018-10-09T00:00:00.123456789Z' limits results to DataScanJobs between 370*d5c09012SAndroid Build Coastguard Worker // specified start and end times. 371*d5c09012SAndroid Build Coastguard Worker string filter = 4 [(google.api.field_behavior) = OPTIONAL]; 372*d5c09012SAndroid Build Coastguard Worker} 373*d5c09012SAndroid Build Coastguard Worker 374*d5c09012SAndroid Build Coastguard Worker// List DataScanJobs response. 375*d5c09012SAndroid Build Coastguard Workermessage ListDataScanJobsResponse { 376*d5c09012SAndroid Build Coastguard Worker // DataScanJobs (`BASIC` view only) under a given dataScan. 377*d5c09012SAndroid Build Coastguard Worker repeated DataScanJob data_scan_jobs = 1; 378*d5c09012SAndroid Build Coastguard Worker 379*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results, or empty if there are no more 380*d5c09012SAndroid Build Coastguard Worker // results in the list. 381*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 382*d5c09012SAndroid Build Coastguard Worker} 383*d5c09012SAndroid Build Coastguard Worker 384*d5c09012SAndroid Build Coastguard Worker// Generate recommended DataQualityRules request. 385*d5c09012SAndroid Build Coastguard Workermessage GenerateDataQualityRulesRequest { 386*d5c09012SAndroid Build Coastguard Worker // Required. The name should be either 387*d5c09012SAndroid Build Coastguard Worker // * the name of a datascan with at least one successful completed data 388*d5c09012SAndroid Build Coastguard Worker // profiling job, or 389*d5c09012SAndroid Build Coastguard Worker // * the name of a successful completed data profiling datascan job. 390*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 391*d5c09012SAndroid Build Coastguard Worker} 392*d5c09012SAndroid Build Coastguard Worker 393*d5c09012SAndroid Build Coastguard Worker// Generate recommended DataQualityRules response. 394*d5c09012SAndroid Build Coastguard Workermessage GenerateDataQualityRulesResponse { 395*d5c09012SAndroid Build Coastguard Worker // Generated recommended {@link DataQualityRule}s. 396*d5c09012SAndroid Build Coastguard Worker repeated DataQualityRule rule = 1; 397*d5c09012SAndroid Build Coastguard Worker} 398*d5c09012SAndroid Build Coastguard Worker 399*d5c09012SAndroid Build Coastguard Worker// Represents a user-visible job which provides the insights for the related 400*d5c09012SAndroid Build Coastguard Worker// data source. 401*d5c09012SAndroid Build Coastguard Worker// 402*d5c09012SAndroid Build Coastguard Worker// For example: 403*d5c09012SAndroid Build Coastguard Worker// 404*d5c09012SAndroid Build Coastguard Worker// * Data Quality: generates queries based on the rules and runs against the 405*d5c09012SAndroid Build Coastguard Worker// data to get data quality check results. 406*d5c09012SAndroid Build Coastguard Worker// * Data Profile: analyzes the data in table(s) and generates insights about 407*d5c09012SAndroid Build Coastguard Worker// the structure, content and relationships (such as null percent, 408*d5c09012SAndroid Build Coastguard Worker// cardinality, min/max/mean, etc). 409*d5c09012SAndroid Build Coastguard Workermessage DataScan { 410*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 411*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/DataScan" 412*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/dataScans/{dataScan}" 413*d5c09012SAndroid Build Coastguard Worker }; 414*d5c09012SAndroid Build Coastguard Worker 415*d5c09012SAndroid Build Coastguard Worker // DataScan execution settings. 416*d5c09012SAndroid Build Coastguard Worker message ExecutionSpec { 417*d5c09012SAndroid Build Coastguard Worker // Optional. Spec related to how often and when a scan should be triggered. 418*d5c09012SAndroid Build Coastguard Worker // 419*d5c09012SAndroid Build Coastguard Worker // If not specified, the default is `OnDemand`, which means the scan will 420*d5c09012SAndroid Build Coastguard Worker // not run until the user calls `RunDataScan` API. 421*d5c09012SAndroid Build Coastguard Worker Trigger trigger = 1 [(google.api.field_behavior) = OPTIONAL]; 422*d5c09012SAndroid Build Coastguard Worker 423*d5c09012SAndroid Build Coastguard Worker // Spec related to incremental scan of the data 424*d5c09012SAndroid Build Coastguard Worker // 425*d5c09012SAndroid Build Coastguard Worker // When an option is selected for incremental scan, it cannot be unset or 426*d5c09012SAndroid Build Coastguard Worker // changed. If not specified, a data scan will run for all data in the 427*d5c09012SAndroid Build Coastguard Worker // table. 428*d5c09012SAndroid Build Coastguard Worker oneof incremental { 429*d5c09012SAndroid Build Coastguard Worker // Immutable. The unnested field (of type *Date* or *Timestamp*) that 430*d5c09012SAndroid Build Coastguard Worker // contains values which monotonically increase over time. 431*d5c09012SAndroid Build Coastguard Worker // 432*d5c09012SAndroid Build Coastguard Worker // If not specified, a data scan will run for all data in the table. 433*d5c09012SAndroid Build Coastguard Worker string field = 100 [(google.api.field_behavior) = IMMUTABLE]; 434*d5c09012SAndroid Build Coastguard Worker } 435*d5c09012SAndroid Build Coastguard Worker } 436*d5c09012SAndroid Build Coastguard Worker 437*d5c09012SAndroid Build Coastguard Worker // Status of the data scan execution. 438*d5c09012SAndroid Build Coastguard Worker message ExecutionStatus { 439*d5c09012SAndroid Build Coastguard Worker // The time when the latest DataScanJob started. 440*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp latest_job_start_time = 4; 441*d5c09012SAndroid Build Coastguard Worker 442*d5c09012SAndroid Build Coastguard Worker // The time when the latest DataScanJob ended. 443*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp latest_job_end_time = 5; 444*d5c09012SAndroid Build Coastguard Worker } 445*d5c09012SAndroid Build Coastguard Worker 446*d5c09012SAndroid Build Coastguard Worker // Output only. The relative resource name of the scan, of the form: 447*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}/dataScans/{datascan_id}`, 448*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 449*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 450*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 451*d5c09012SAndroid Build Coastguard Worker 452*d5c09012SAndroid Build Coastguard Worker // Output only. System generated globally unique ID for the scan. This ID will 453*d5c09012SAndroid Build Coastguard Worker // be different if the scan is deleted and re-created with the same name. 454*d5c09012SAndroid Build Coastguard Worker string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 455*d5c09012SAndroid Build Coastguard Worker 456*d5c09012SAndroid Build Coastguard Worker // Optional. Description of the scan. 457*d5c09012SAndroid Build Coastguard Worker // 458*d5c09012SAndroid Build Coastguard Worker // * Must be between 1-1024 characters. 459*d5c09012SAndroid Build Coastguard Worker string description = 3 [(google.api.field_behavior) = OPTIONAL]; 460*d5c09012SAndroid Build Coastguard Worker 461*d5c09012SAndroid Build Coastguard Worker // Optional. User friendly display name. 462*d5c09012SAndroid Build Coastguard Worker // 463*d5c09012SAndroid Build Coastguard Worker // * Must be between 1-256 characters. 464*d5c09012SAndroid Build Coastguard Worker string display_name = 4 [(google.api.field_behavior) = OPTIONAL]; 465*d5c09012SAndroid Build Coastguard Worker 466*d5c09012SAndroid Build Coastguard Worker // Optional. User-defined labels for the scan. 467*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 5 [(google.api.field_behavior) = OPTIONAL]; 468*d5c09012SAndroid Build Coastguard Worker 469*d5c09012SAndroid Build Coastguard Worker // Output only. Current state of the DataScan. 470*d5c09012SAndroid Build Coastguard Worker State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 471*d5c09012SAndroid Build Coastguard Worker 472*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the scan was created. 473*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 7 474*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 475*d5c09012SAndroid Build Coastguard Worker 476*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the scan was last updated. 477*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 8 478*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 479*d5c09012SAndroid Build Coastguard Worker 480*d5c09012SAndroid Build Coastguard Worker // Required. The data source for DataScan. 481*d5c09012SAndroid Build Coastguard Worker DataSource data = 9 [(google.api.field_behavior) = REQUIRED]; 482*d5c09012SAndroid Build Coastguard Worker 483*d5c09012SAndroid Build Coastguard Worker // Optional. DataScan execution settings. 484*d5c09012SAndroid Build Coastguard Worker // 485*d5c09012SAndroid Build Coastguard Worker // If not specified, the fields in it will use their default values. 486*d5c09012SAndroid Build Coastguard Worker ExecutionSpec execution_spec = 10 [(google.api.field_behavior) = OPTIONAL]; 487*d5c09012SAndroid Build Coastguard Worker 488*d5c09012SAndroid Build Coastguard Worker // Output only. Status of the data scan execution. 489*d5c09012SAndroid Build Coastguard Worker ExecutionStatus execution_status = 11 490*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 491*d5c09012SAndroid Build Coastguard Worker 492*d5c09012SAndroid Build Coastguard Worker // Output only. The type of DataScan. 493*d5c09012SAndroid Build Coastguard Worker DataScanType type = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; 494*d5c09012SAndroid Build Coastguard Worker 495*d5c09012SAndroid Build Coastguard Worker // Data Scan related setting. 496*d5c09012SAndroid Build Coastguard Worker // It is required and immutable which means once data_quality_spec is set, it 497*d5c09012SAndroid Build Coastguard Worker // cannot be changed to data_profile_spec. 498*d5c09012SAndroid Build Coastguard Worker oneof spec { 499*d5c09012SAndroid Build Coastguard Worker // DataQualityScan related setting. 500*d5c09012SAndroid Build Coastguard Worker DataQualitySpec data_quality_spec = 100; 501*d5c09012SAndroid Build Coastguard Worker 502*d5c09012SAndroid Build Coastguard Worker // DataProfileScan related setting. 503*d5c09012SAndroid Build Coastguard Worker DataProfileSpec data_profile_spec = 101; 504*d5c09012SAndroid Build Coastguard Worker } 505*d5c09012SAndroid Build Coastguard Worker 506*d5c09012SAndroid Build Coastguard Worker // The result of the data scan. 507*d5c09012SAndroid Build Coastguard Worker oneof result { 508*d5c09012SAndroid Build Coastguard Worker // Output only. The result of the data quality scan. 509*d5c09012SAndroid Build Coastguard Worker DataQualityResult data_quality_result = 200 510*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 511*d5c09012SAndroid Build Coastguard Worker 512*d5c09012SAndroid Build Coastguard Worker // Output only. The result of the data profile scan. 513*d5c09012SAndroid Build Coastguard Worker DataProfileResult data_profile_result = 201 514*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 515*d5c09012SAndroid Build Coastguard Worker } 516*d5c09012SAndroid Build Coastguard Worker} 517*d5c09012SAndroid Build Coastguard Worker 518*d5c09012SAndroid Build Coastguard Worker// A DataScanJob represents an instance of DataScan execution. 519*d5c09012SAndroid Build Coastguard Workermessage DataScanJob { 520*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 521*d5c09012SAndroid Build Coastguard Worker type: "dataplex.googleapis.com/DataScanJob" 522*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/dataScans/{dataScan}/jobs/{job}" 523*d5c09012SAndroid Build Coastguard Worker }; 524*d5c09012SAndroid Build Coastguard Worker 525*d5c09012SAndroid Build Coastguard Worker // Execution state for the DataScanJob. 526*d5c09012SAndroid Build Coastguard Worker enum State { 527*d5c09012SAndroid Build Coastguard Worker // The DataScanJob state is unspecified. 528*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 529*d5c09012SAndroid Build Coastguard Worker 530*d5c09012SAndroid Build Coastguard Worker // The DataScanJob is running. 531*d5c09012SAndroid Build Coastguard Worker RUNNING = 1; 532*d5c09012SAndroid Build Coastguard Worker 533*d5c09012SAndroid Build Coastguard Worker // The DataScanJob is canceling. 534*d5c09012SAndroid Build Coastguard Worker CANCELING = 2; 535*d5c09012SAndroid Build Coastguard Worker 536*d5c09012SAndroid Build Coastguard Worker // The DataScanJob cancellation was successful. 537*d5c09012SAndroid Build Coastguard Worker CANCELLED = 3; 538*d5c09012SAndroid Build Coastguard Worker 539*d5c09012SAndroid Build Coastguard Worker // The DataScanJob completed successfully. 540*d5c09012SAndroid Build Coastguard Worker SUCCEEDED = 4; 541*d5c09012SAndroid Build Coastguard Worker 542*d5c09012SAndroid Build Coastguard Worker // The DataScanJob is no longer running due to an error. 543*d5c09012SAndroid Build Coastguard Worker FAILED = 5; 544*d5c09012SAndroid Build Coastguard Worker 545*d5c09012SAndroid Build Coastguard Worker // The DataScanJob has been created but not started to run yet. 546*d5c09012SAndroid Build Coastguard Worker PENDING = 7; 547*d5c09012SAndroid Build Coastguard Worker } 548*d5c09012SAndroid Build Coastguard Worker 549*d5c09012SAndroid Build Coastguard Worker // Output only. The relative resource name of the DataScanJob, of the form: 550*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/locations/{location_id}/dataScans/{datascan_id}/jobs/{job_id}`, 551*d5c09012SAndroid Build Coastguard Worker // where `project` refers to a *project_id* or *project_number* and 552*d5c09012SAndroid Build Coastguard Worker // `location_id` refers to a GCP region. 553*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 554*d5c09012SAndroid Build Coastguard Worker 555*d5c09012SAndroid Build Coastguard Worker // Output only. System generated globally unique ID for the DataScanJob. 556*d5c09012SAndroid Build Coastguard Worker string uid = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 557*d5c09012SAndroid Build Coastguard Worker 558*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the DataScanJob was started. 559*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 3 560*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 561*d5c09012SAndroid Build Coastguard Worker 562*d5c09012SAndroid Build Coastguard Worker // Output only. The time when the DataScanJob ended. 563*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 4 564*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 565*d5c09012SAndroid Build Coastguard Worker 566*d5c09012SAndroid Build Coastguard Worker // Output only. Execution state for the DataScanJob. 567*d5c09012SAndroid Build Coastguard Worker State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 568*d5c09012SAndroid Build Coastguard Worker 569*d5c09012SAndroid Build Coastguard Worker // Output only. Additional information about the current state. 570*d5c09012SAndroid Build Coastguard Worker string message = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 571*d5c09012SAndroid Build Coastguard Worker 572*d5c09012SAndroid Build Coastguard Worker // Output only. The type of the parent DataScan. 573*d5c09012SAndroid Build Coastguard Worker DataScanType type = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 574*d5c09012SAndroid Build Coastguard Worker 575*d5c09012SAndroid Build Coastguard Worker // Data Scan related setting. 576*d5c09012SAndroid Build Coastguard Worker oneof spec { 577*d5c09012SAndroid Build Coastguard Worker // Output only. DataQualityScan related setting. 578*d5c09012SAndroid Build Coastguard Worker DataQualitySpec data_quality_spec = 100 579*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 580*d5c09012SAndroid Build Coastguard Worker 581*d5c09012SAndroid Build Coastguard Worker // Output only. DataProfileScan related setting. 582*d5c09012SAndroid Build Coastguard Worker DataProfileSpec data_profile_spec = 101 583*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 584*d5c09012SAndroid Build Coastguard Worker } 585*d5c09012SAndroid Build Coastguard Worker 586*d5c09012SAndroid Build Coastguard Worker // The result of the data scan. 587*d5c09012SAndroid Build Coastguard Worker oneof result { 588*d5c09012SAndroid Build Coastguard Worker // Output only. The result of the data quality scan. 589*d5c09012SAndroid Build Coastguard Worker DataQualityResult data_quality_result = 200 590*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 591*d5c09012SAndroid Build Coastguard Worker 592*d5c09012SAndroid Build Coastguard Worker // Output only. The result of the data profile scan. 593*d5c09012SAndroid Build Coastguard Worker DataProfileResult data_profile_result = 201 594*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 595*d5c09012SAndroid Build Coastguard Worker } 596*d5c09012SAndroid Build Coastguard Worker} 597*d5c09012SAndroid Build Coastguard Worker 598*d5c09012SAndroid Build Coastguard Worker// The type of DataScan. 599*d5c09012SAndroid Build Coastguard Workerenum DataScanType { 600*d5c09012SAndroid Build Coastguard Worker // The DataScan type is unspecified. 601*d5c09012SAndroid Build Coastguard Worker DATA_SCAN_TYPE_UNSPECIFIED = 0; 602*d5c09012SAndroid Build Coastguard Worker 603*d5c09012SAndroid Build Coastguard Worker // Data Quality scan. 604*d5c09012SAndroid Build Coastguard Worker DATA_QUALITY = 1; 605*d5c09012SAndroid Build Coastguard Worker 606*d5c09012SAndroid Build Coastguard Worker // Data Profile scan. 607*d5c09012SAndroid Build Coastguard Worker DATA_PROFILE = 2; 608*d5c09012SAndroid Build Coastguard Worker} 609