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.privacy.dlp.v2; 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/privacy/dlp/v2/storage.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto"; 29*d5c09012SAndroid Build Coastguard Workerimport "google/type/date.proto"; 30*d5c09012SAndroid Build Coastguard Workerimport "google/type/dayofweek.proto"; 31*d5c09012SAndroid Build Coastguard Workerimport "google/type/timeofday.proto"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dlp.V2"; 34*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dlp/apiv2/dlppb;dlppb"; 35*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 36*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "DlpProto"; 37*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.privacy.dlp.v2"; 38*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Dlp\\V2"; 39*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Dlp::V2"; 40*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 41*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DlpContent" 42*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/dlpContent" 43*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/dlpContent" 44*d5c09012SAndroid Build Coastguard Worker}; 45*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 46*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/OrganizationLocation" 47*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}" 48*d5c09012SAndroid Build Coastguard Worker}; 49*d5c09012SAndroid Build Coastguard Worker 50*d5c09012SAndroid Build Coastguard Worker// The Cloud Data Loss Prevention (DLP) API is a service that allows clients 51*d5c09012SAndroid Build Coastguard Worker// to detect the presence of Personally Identifiable Information (PII) and other 52*d5c09012SAndroid Build Coastguard Worker// privacy-sensitive data in user-supplied, unstructured data streams, like text 53*d5c09012SAndroid Build Coastguard Worker// blocks or images. 54*d5c09012SAndroid Build Coastguard Worker// The service also includes methods for sensitive data redaction and 55*d5c09012SAndroid Build Coastguard Worker// scheduling of data scans on Google Cloud Platform based data sets. 56*d5c09012SAndroid Build Coastguard Worker// 57*d5c09012SAndroid Build Coastguard Worker// To learn more about concepts and find how-to guides see 58*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/. 59*d5c09012SAndroid Build Coastguard Workerservice DlpService { 60*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dlp.googleapis.com"; 61*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 62*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Finds potentially sensitive info in content. 65*d5c09012SAndroid Build Coastguard Worker // This method has limits on input size, processing time, and output size. 66*d5c09012SAndroid Build Coastguard Worker // 67*d5c09012SAndroid Build Coastguard Worker // When no InfoTypes or CustomInfoTypes are specified in this request, the 68*d5c09012SAndroid Build Coastguard Worker // system will automatically choose what detectors to run. By default this may 69*d5c09012SAndroid Build Coastguard Worker // be all types, but may change over time as detectors are updated. 70*d5c09012SAndroid Build Coastguard Worker // 71*d5c09012SAndroid Build Coastguard Worker // For how to guides, see 72*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-images 73*d5c09012SAndroid Build Coastguard Worker // and 74*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-text, 75*d5c09012SAndroid Build Coastguard Worker rpc InspectContent(InspectContentRequest) returns (InspectContentResponse) { 76*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 77*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/content:inspect" 78*d5c09012SAndroid Build Coastguard Worker body: "*" 79*d5c09012SAndroid Build Coastguard Worker additional_bindings { 80*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/content:inspect" 81*d5c09012SAndroid Build Coastguard Worker body: "*" 82*d5c09012SAndroid Build Coastguard Worker } 83*d5c09012SAndroid Build Coastguard Worker }; 84*d5c09012SAndroid Build Coastguard Worker } 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker // Redacts potentially sensitive info from an image. 87*d5c09012SAndroid Build Coastguard Worker // This method has limits on input size, processing time, and output size. 88*d5c09012SAndroid Build Coastguard Worker // See 89*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/redacting-sensitive-data-images 90*d5c09012SAndroid Build Coastguard Worker // to learn more. 91*d5c09012SAndroid Build Coastguard Worker // 92*d5c09012SAndroid Build Coastguard Worker // When no InfoTypes or CustomInfoTypes are specified in this request, the 93*d5c09012SAndroid Build Coastguard Worker // system will automatically choose what detectors to run. By default this may 94*d5c09012SAndroid Build Coastguard Worker // be all types, but may change over time as detectors are updated. 95*d5c09012SAndroid Build Coastguard Worker rpc RedactImage(RedactImageRequest) returns (RedactImageResponse) { 96*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 97*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/image:redact" 98*d5c09012SAndroid Build Coastguard Worker body: "*" 99*d5c09012SAndroid Build Coastguard Worker additional_bindings { 100*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/image:redact" 101*d5c09012SAndroid Build Coastguard Worker body: "*" 102*d5c09012SAndroid Build Coastguard Worker } 103*d5c09012SAndroid Build Coastguard Worker }; 104*d5c09012SAndroid Build Coastguard Worker } 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // De-identifies potentially sensitive info from a ContentItem. 107*d5c09012SAndroid Build Coastguard Worker // This method has limits on input size and output size. 108*d5c09012SAndroid Build Coastguard Worker // See 109*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/deidentify-sensitive-data 110*d5c09012SAndroid Build Coastguard Worker // to learn more. 111*d5c09012SAndroid Build Coastguard Worker // 112*d5c09012SAndroid Build Coastguard Worker // When no InfoTypes or CustomInfoTypes are specified in this request, the 113*d5c09012SAndroid Build Coastguard Worker // system will automatically choose what detectors to run. By default this may 114*d5c09012SAndroid Build Coastguard Worker // be all types, but may change over time as detectors are updated. 115*d5c09012SAndroid Build Coastguard Worker rpc DeidentifyContent(DeidentifyContentRequest) 116*d5c09012SAndroid Build Coastguard Worker returns (DeidentifyContentResponse) { 117*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 118*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/content:deidentify" 119*d5c09012SAndroid Build Coastguard Worker body: "*" 120*d5c09012SAndroid Build Coastguard Worker additional_bindings { 121*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/content:deidentify" 122*d5c09012SAndroid Build Coastguard Worker body: "*" 123*d5c09012SAndroid Build Coastguard Worker } 124*d5c09012SAndroid Build Coastguard Worker }; 125*d5c09012SAndroid Build Coastguard Worker } 126*d5c09012SAndroid Build Coastguard Worker 127*d5c09012SAndroid Build Coastguard Worker // Re-identifies content that has been de-identified. 128*d5c09012SAndroid Build Coastguard Worker // See 129*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/pseudonymization#re-identification_in_free_text_code_example 130*d5c09012SAndroid Build Coastguard Worker // to learn more. 131*d5c09012SAndroid Build Coastguard Worker rpc ReidentifyContent(ReidentifyContentRequest) 132*d5c09012SAndroid Build Coastguard Worker returns (ReidentifyContentResponse) { 133*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 134*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/content:reidentify" 135*d5c09012SAndroid Build Coastguard Worker body: "*" 136*d5c09012SAndroid Build Coastguard Worker additional_bindings { 137*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/content:reidentify" 138*d5c09012SAndroid Build Coastguard Worker body: "*" 139*d5c09012SAndroid Build Coastguard Worker } 140*d5c09012SAndroid Build Coastguard Worker }; 141*d5c09012SAndroid Build Coastguard Worker } 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // Returns a list of the sensitive information types that DLP API 144*d5c09012SAndroid Build Coastguard Worker // supports. See 145*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference 146*d5c09012SAndroid Build Coastguard Worker // to learn more. 147*d5c09012SAndroid Build Coastguard Worker rpc ListInfoTypes(ListInfoTypesRequest) returns (ListInfoTypesResponse) { 148*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 149*d5c09012SAndroid Build Coastguard Worker get: "/v2/infoTypes" 150*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{parent=locations/*}/infoTypes" } 151*d5c09012SAndroid Build Coastguard Worker }; 152*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 153*d5c09012SAndroid Build Coastguard Worker } 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker // Creates an InspectTemplate for reusing frequently used configuration 156*d5c09012SAndroid Build Coastguard Worker // for inspecting content, images, and storage. 157*d5c09012SAndroid Build Coastguard Worker // See 158*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates 159*d5c09012SAndroid Build Coastguard Worker // to learn more. 160*d5c09012SAndroid Build Coastguard Worker rpc CreateInspectTemplate(CreateInspectTemplateRequest) 161*d5c09012SAndroid Build Coastguard Worker returns (InspectTemplate) { 162*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 163*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*}/inspectTemplates" 164*d5c09012SAndroid Build Coastguard Worker body: "*" 165*d5c09012SAndroid Build Coastguard Worker additional_bindings { 166*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*/locations/*}/inspectTemplates" 167*d5c09012SAndroid Build Coastguard Worker body: "*" 168*d5c09012SAndroid Build Coastguard Worker } 169*d5c09012SAndroid Build Coastguard Worker additional_bindings { 170*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/inspectTemplates" 171*d5c09012SAndroid Build Coastguard Worker body: "*" 172*d5c09012SAndroid Build Coastguard Worker } 173*d5c09012SAndroid Build Coastguard Worker additional_bindings { 174*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/inspectTemplates" 175*d5c09012SAndroid Build Coastguard Worker body: "*" 176*d5c09012SAndroid Build Coastguard Worker } 177*d5c09012SAndroid Build Coastguard Worker }; 178*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,inspect_template"; 179*d5c09012SAndroid Build Coastguard Worker } 180*d5c09012SAndroid Build Coastguard Worker 181*d5c09012SAndroid Build Coastguard Worker // Updates the InspectTemplate. 182*d5c09012SAndroid Build Coastguard Worker // See 183*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates 184*d5c09012SAndroid Build Coastguard Worker // to learn more. 185*d5c09012SAndroid Build Coastguard Worker rpc UpdateInspectTemplate(UpdateInspectTemplateRequest) 186*d5c09012SAndroid Build Coastguard Worker returns (InspectTemplate) { 187*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 188*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/inspectTemplates/*}" 189*d5c09012SAndroid Build Coastguard Worker body: "*" 190*d5c09012SAndroid Build Coastguard Worker additional_bindings { 191*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}" 192*d5c09012SAndroid Build Coastguard Worker body: "*" 193*d5c09012SAndroid Build Coastguard Worker } 194*d5c09012SAndroid Build Coastguard Worker additional_bindings { 195*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/inspectTemplates/*}" 196*d5c09012SAndroid Build Coastguard Worker body: "*" 197*d5c09012SAndroid Build Coastguard Worker } 198*d5c09012SAndroid Build Coastguard Worker additional_bindings { 199*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/locations/*/inspectTemplates/*}" 200*d5c09012SAndroid Build Coastguard Worker body: "*" 201*d5c09012SAndroid Build Coastguard Worker } 202*d5c09012SAndroid Build Coastguard Worker }; 203*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,inspect_template,update_mask"; 204*d5c09012SAndroid Build Coastguard Worker } 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker // Gets an InspectTemplate. 207*d5c09012SAndroid Build Coastguard Worker // See 208*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates 209*d5c09012SAndroid Build Coastguard Worker // to learn more. 210*d5c09012SAndroid Build Coastguard Worker rpc GetInspectTemplate(GetInspectTemplateRequest) returns (InspectTemplate) { 211*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 212*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/inspectTemplates/*}" 213*d5c09012SAndroid Build Coastguard Worker additional_bindings { 214*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}" 215*d5c09012SAndroid Build Coastguard Worker } 216*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{name=projects/*/inspectTemplates/*}" } 217*d5c09012SAndroid Build Coastguard Worker additional_bindings { 218*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/inspectTemplates/*}" 219*d5c09012SAndroid Build Coastguard Worker } 220*d5c09012SAndroid Build Coastguard Worker }; 221*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 222*d5c09012SAndroid Build Coastguard Worker } 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // Lists InspectTemplates. 225*d5c09012SAndroid Build Coastguard Worker // See 226*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates 227*d5c09012SAndroid Build Coastguard Worker // to learn more. 228*d5c09012SAndroid Build Coastguard Worker rpc ListInspectTemplates(ListInspectTemplatesRequest) 229*d5c09012SAndroid Build Coastguard Worker returns (ListInspectTemplatesResponse) { 230*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 231*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*}/inspectTemplates" 232*d5c09012SAndroid Build Coastguard Worker additional_bindings { 233*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/inspectTemplates" 234*d5c09012SAndroid Build Coastguard Worker } 235*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{parent=projects/*}/inspectTemplates" } 236*d5c09012SAndroid Build Coastguard Worker additional_bindings { 237*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/inspectTemplates" 238*d5c09012SAndroid Build Coastguard Worker } 239*d5c09012SAndroid Build Coastguard Worker }; 240*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 241*d5c09012SAndroid Build Coastguard Worker } 242*d5c09012SAndroid Build Coastguard Worker 243*d5c09012SAndroid Build Coastguard Worker // Deletes an InspectTemplate. 244*d5c09012SAndroid Build Coastguard Worker // See 245*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates 246*d5c09012SAndroid Build Coastguard Worker // to learn more. 247*d5c09012SAndroid Build Coastguard Worker rpc DeleteInspectTemplate(DeleteInspectTemplateRequest) 248*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 249*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 250*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/inspectTemplates/*}" 251*d5c09012SAndroid Build Coastguard Worker additional_bindings { 252*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}" 253*d5c09012SAndroid Build Coastguard Worker } 254*d5c09012SAndroid Build Coastguard Worker additional_bindings { delete: "/v2/{name=projects/*/inspectTemplates/*}" } 255*d5c09012SAndroid Build Coastguard Worker additional_bindings { 256*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/locations/*/inspectTemplates/*}" 257*d5c09012SAndroid Build Coastguard Worker } 258*d5c09012SAndroid Build Coastguard Worker }; 259*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 260*d5c09012SAndroid Build Coastguard Worker } 261*d5c09012SAndroid Build Coastguard Worker 262*d5c09012SAndroid Build Coastguard Worker // Creates a DeidentifyTemplate for reusing frequently used configuration 263*d5c09012SAndroid Build Coastguard Worker // for de-identifying content, images, and storage. 264*d5c09012SAndroid Build Coastguard Worker // See 265*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid 266*d5c09012SAndroid Build Coastguard Worker // to learn more. 267*d5c09012SAndroid Build Coastguard Worker rpc CreateDeidentifyTemplate(CreateDeidentifyTemplateRequest) 268*d5c09012SAndroid Build Coastguard Worker returns (DeidentifyTemplate) { 269*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 270*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*}/deidentifyTemplates" 271*d5c09012SAndroid Build Coastguard Worker body: "*" 272*d5c09012SAndroid Build Coastguard Worker additional_bindings { 273*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*/locations/*}/deidentifyTemplates" 274*d5c09012SAndroid Build Coastguard Worker body: "*" 275*d5c09012SAndroid Build Coastguard Worker } 276*d5c09012SAndroid Build Coastguard Worker additional_bindings { 277*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/deidentifyTemplates" 278*d5c09012SAndroid Build Coastguard Worker body: "*" 279*d5c09012SAndroid Build Coastguard Worker } 280*d5c09012SAndroid Build Coastguard Worker additional_bindings { 281*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/deidentifyTemplates" 282*d5c09012SAndroid Build Coastguard Worker body: "*" 283*d5c09012SAndroid Build Coastguard Worker } 284*d5c09012SAndroid Build Coastguard Worker }; 285*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,deidentify_template"; 286*d5c09012SAndroid Build Coastguard Worker } 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker // Updates the DeidentifyTemplate. 289*d5c09012SAndroid Build Coastguard Worker // See 290*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid 291*d5c09012SAndroid Build Coastguard Worker // to learn more. 292*d5c09012SAndroid Build Coastguard Worker rpc UpdateDeidentifyTemplate(UpdateDeidentifyTemplateRequest) 293*d5c09012SAndroid Build Coastguard Worker returns (DeidentifyTemplate) { 294*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 295*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/deidentifyTemplates/*}" 296*d5c09012SAndroid Build Coastguard Worker body: "*" 297*d5c09012SAndroid Build Coastguard Worker additional_bindings { 298*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}" 299*d5c09012SAndroid Build Coastguard Worker body: "*" 300*d5c09012SAndroid Build Coastguard Worker } 301*d5c09012SAndroid Build Coastguard Worker additional_bindings { 302*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/deidentifyTemplates/*}" 303*d5c09012SAndroid Build Coastguard Worker body: "*" 304*d5c09012SAndroid Build Coastguard Worker } 305*d5c09012SAndroid Build Coastguard Worker additional_bindings { 306*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}" 307*d5c09012SAndroid Build Coastguard Worker body: "*" 308*d5c09012SAndroid Build Coastguard Worker } 309*d5c09012SAndroid Build Coastguard Worker }; 310*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = 311*d5c09012SAndroid Build Coastguard Worker "name,deidentify_template,update_mask"; 312*d5c09012SAndroid Build Coastguard Worker } 313*d5c09012SAndroid Build Coastguard Worker 314*d5c09012SAndroid Build Coastguard Worker // Gets a DeidentifyTemplate. 315*d5c09012SAndroid Build Coastguard Worker // See 316*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid 317*d5c09012SAndroid Build Coastguard Worker // to learn more. 318*d5c09012SAndroid Build Coastguard Worker rpc GetDeidentifyTemplate(GetDeidentifyTemplateRequest) 319*d5c09012SAndroid Build Coastguard Worker returns (DeidentifyTemplate) { 320*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 321*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/deidentifyTemplates/*}" 322*d5c09012SAndroid Build Coastguard Worker additional_bindings { 323*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}" 324*d5c09012SAndroid Build Coastguard Worker } 325*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{name=projects/*/deidentifyTemplates/*}" } 326*d5c09012SAndroid Build Coastguard Worker additional_bindings { 327*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}" 328*d5c09012SAndroid Build Coastguard Worker } 329*d5c09012SAndroid Build Coastguard Worker }; 330*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 331*d5c09012SAndroid Build Coastguard Worker } 332*d5c09012SAndroid Build Coastguard Worker 333*d5c09012SAndroid Build Coastguard Worker // Lists DeidentifyTemplates. 334*d5c09012SAndroid Build Coastguard Worker // See 335*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid 336*d5c09012SAndroid Build Coastguard Worker // to learn more. 337*d5c09012SAndroid Build Coastguard Worker rpc ListDeidentifyTemplates(ListDeidentifyTemplatesRequest) 338*d5c09012SAndroid Build Coastguard Worker returns (ListDeidentifyTemplatesResponse) { 339*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 340*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*}/deidentifyTemplates" 341*d5c09012SAndroid Build Coastguard Worker additional_bindings { 342*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/deidentifyTemplates" 343*d5c09012SAndroid Build Coastguard Worker } 344*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{parent=projects/*}/deidentifyTemplates" } 345*d5c09012SAndroid Build Coastguard Worker additional_bindings { 346*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/deidentifyTemplates" 347*d5c09012SAndroid Build Coastguard Worker } 348*d5c09012SAndroid Build Coastguard Worker }; 349*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 350*d5c09012SAndroid Build Coastguard Worker } 351*d5c09012SAndroid Build Coastguard Worker 352*d5c09012SAndroid Build Coastguard Worker // Deletes a DeidentifyTemplate. 353*d5c09012SAndroid Build Coastguard Worker // See 354*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-templates-deid 355*d5c09012SAndroid Build Coastguard Worker // to learn more. 356*d5c09012SAndroid Build Coastguard Worker rpc DeleteDeidentifyTemplate(DeleteDeidentifyTemplateRequest) 357*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 358*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 359*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/deidentifyTemplates/*}" 360*d5c09012SAndroid Build Coastguard Worker additional_bindings { 361*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}" 362*d5c09012SAndroid Build Coastguard Worker } 363*d5c09012SAndroid Build Coastguard Worker additional_bindings { 364*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/deidentifyTemplates/*}" 365*d5c09012SAndroid Build Coastguard Worker } 366*d5c09012SAndroid Build Coastguard Worker additional_bindings { 367*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}" 368*d5c09012SAndroid Build Coastguard Worker } 369*d5c09012SAndroid Build Coastguard Worker }; 370*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 371*d5c09012SAndroid Build Coastguard Worker } 372*d5c09012SAndroid Build Coastguard Worker 373*d5c09012SAndroid Build Coastguard Worker // Creates a job trigger to run DLP actions such as scanning storage for 374*d5c09012SAndroid Build Coastguard Worker // sensitive information on a set schedule. 375*d5c09012SAndroid Build Coastguard Worker // See 376*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers 377*d5c09012SAndroid Build Coastguard Worker // to learn more. 378*d5c09012SAndroid Build Coastguard Worker rpc CreateJobTrigger(CreateJobTriggerRequest) returns (JobTrigger) { 379*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 380*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/jobTriggers" 381*d5c09012SAndroid Build Coastguard Worker body: "*" 382*d5c09012SAndroid Build Coastguard Worker additional_bindings { 383*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/jobTriggers" 384*d5c09012SAndroid Build Coastguard Worker body: "*" 385*d5c09012SAndroid Build Coastguard Worker } 386*d5c09012SAndroid Build Coastguard Worker additional_bindings { 387*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*/locations/*}/jobTriggers" 388*d5c09012SAndroid Build Coastguard Worker body: "*" 389*d5c09012SAndroid Build Coastguard Worker } 390*d5c09012SAndroid Build Coastguard Worker }; 391*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,job_trigger"; 392*d5c09012SAndroid Build Coastguard Worker } 393*d5c09012SAndroid Build Coastguard Worker 394*d5c09012SAndroid Build Coastguard Worker // Updates a job trigger. 395*d5c09012SAndroid Build Coastguard Worker // See 396*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers 397*d5c09012SAndroid Build Coastguard Worker // to learn more. 398*d5c09012SAndroid Build Coastguard Worker rpc UpdateJobTrigger(UpdateJobTriggerRequest) returns (JobTrigger) { 399*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 400*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/jobTriggers/*}" 401*d5c09012SAndroid Build Coastguard Worker body: "*" 402*d5c09012SAndroid Build Coastguard Worker additional_bindings { 403*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/locations/*/jobTriggers/*}" 404*d5c09012SAndroid Build Coastguard Worker body: "*" 405*d5c09012SAndroid Build Coastguard Worker } 406*d5c09012SAndroid Build Coastguard Worker additional_bindings { 407*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/locations/*/jobTriggers/*}" 408*d5c09012SAndroid Build Coastguard Worker body: "*" 409*d5c09012SAndroid Build Coastguard Worker } 410*d5c09012SAndroid Build Coastguard Worker }; 411*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,job_trigger,update_mask"; 412*d5c09012SAndroid Build Coastguard Worker } 413*d5c09012SAndroid Build Coastguard Worker 414*d5c09012SAndroid Build Coastguard Worker // Inspect hybrid content and store findings to a trigger. The inspection 415*d5c09012SAndroid Build Coastguard Worker // will be processed asynchronously. To review the findings monitor the 416*d5c09012SAndroid Build Coastguard Worker // jobs within the trigger. 417*d5c09012SAndroid Build Coastguard Worker rpc HybridInspectJobTrigger(HybridInspectJobTriggerRequest) 418*d5c09012SAndroid Build Coastguard Worker returns (HybridInspectResponse) { 419*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 420*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/locations/*/jobTriggers/*}:hybridInspect" 421*d5c09012SAndroid Build Coastguard Worker body: "*" 422*d5c09012SAndroid Build Coastguard Worker }; 423*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 424*d5c09012SAndroid Build Coastguard Worker } 425*d5c09012SAndroid Build Coastguard Worker 426*d5c09012SAndroid Build Coastguard Worker // Gets a job trigger. 427*d5c09012SAndroid Build Coastguard Worker // See 428*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers 429*d5c09012SAndroid Build Coastguard Worker // to learn more. 430*d5c09012SAndroid Build Coastguard Worker rpc GetJobTrigger(GetJobTriggerRequest) returns (JobTrigger) { 431*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 432*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/jobTriggers/*}" 433*d5c09012SAndroid Build Coastguard Worker additional_bindings { 434*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/jobTriggers/*}" 435*d5c09012SAndroid Build Coastguard Worker } 436*d5c09012SAndroid Build Coastguard Worker additional_bindings { 437*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/jobTriggers/*}" 438*d5c09012SAndroid Build Coastguard Worker } 439*d5c09012SAndroid Build Coastguard Worker }; 440*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 441*d5c09012SAndroid Build Coastguard Worker } 442*d5c09012SAndroid Build Coastguard Worker 443*d5c09012SAndroid Build Coastguard Worker // Lists job triggers. 444*d5c09012SAndroid Build Coastguard Worker // See 445*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers 446*d5c09012SAndroid Build Coastguard Worker // to learn more. 447*d5c09012SAndroid Build Coastguard Worker rpc ListJobTriggers(ListJobTriggersRequest) 448*d5c09012SAndroid Build Coastguard Worker returns (ListJobTriggersResponse) { 449*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 450*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*}/jobTriggers" 451*d5c09012SAndroid Build Coastguard Worker additional_bindings { 452*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/jobTriggers" 453*d5c09012SAndroid Build Coastguard Worker } 454*d5c09012SAndroid Build Coastguard Worker additional_bindings { 455*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/jobTriggers" 456*d5c09012SAndroid Build Coastguard Worker } 457*d5c09012SAndroid Build Coastguard Worker }; 458*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 459*d5c09012SAndroid Build Coastguard Worker } 460*d5c09012SAndroid Build Coastguard Worker 461*d5c09012SAndroid Build Coastguard Worker // Deletes a job trigger. 462*d5c09012SAndroid Build Coastguard Worker // See 463*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-job-triggers 464*d5c09012SAndroid Build Coastguard Worker // to learn more. 465*d5c09012SAndroid Build Coastguard Worker rpc DeleteJobTrigger(DeleteJobTriggerRequest) 466*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 467*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 468*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/jobTriggers/*}" 469*d5c09012SAndroid Build Coastguard Worker additional_bindings { 470*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/locations/*/jobTriggers/*}" 471*d5c09012SAndroid Build Coastguard Worker } 472*d5c09012SAndroid Build Coastguard Worker additional_bindings { 473*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/locations/*/jobTriggers/*}" 474*d5c09012SAndroid Build Coastguard Worker } 475*d5c09012SAndroid Build Coastguard Worker }; 476*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 477*d5c09012SAndroid Build Coastguard Worker } 478*d5c09012SAndroid Build Coastguard Worker 479*d5c09012SAndroid Build Coastguard Worker // Activate a job trigger. Causes the immediate execute of a trigger 480*d5c09012SAndroid Build Coastguard Worker // instead of waiting on the trigger event to occur. 481*d5c09012SAndroid Build Coastguard Worker rpc ActivateJobTrigger(ActivateJobTriggerRequest) returns (DlpJob) { 482*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 483*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/jobTriggers/*}:activate" 484*d5c09012SAndroid Build Coastguard Worker body: "*" 485*d5c09012SAndroid Build Coastguard Worker additional_bindings { 486*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/locations/*/jobTriggers/*}:activate" 487*d5c09012SAndroid Build Coastguard Worker body: "*" 488*d5c09012SAndroid Build Coastguard Worker } 489*d5c09012SAndroid Build Coastguard Worker }; 490*d5c09012SAndroid Build Coastguard Worker } 491*d5c09012SAndroid Build Coastguard Worker 492*d5c09012SAndroid Build Coastguard Worker // Creates a config for discovery to scan and profile storage. 493*d5c09012SAndroid Build Coastguard Worker rpc CreateDiscoveryConfig(CreateDiscoveryConfigRequest) 494*d5c09012SAndroid Build Coastguard Worker returns (DiscoveryConfig) { 495*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 496*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/discoveryConfigs" 497*d5c09012SAndroid Build Coastguard Worker body: "*" 498*d5c09012SAndroid Build Coastguard Worker additional_bindings { 499*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*/locations/*}/discoveryConfigs" 500*d5c09012SAndroid Build Coastguard Worker body: "*" 501*d5c09012SAndroid Build Coastguard Worker } 502*d5c09012SAndroid Build Coastguard Worker }; 503*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,discovery_config"; 504*d5c09012SAndroid Build Coastguard Worker } 505*d5c09012SAndroid Build Coastguard Worker 506*d5c09012SAndroid Build Coastguard Worker // Updates a discovery configuration. 507*d5c09012SAndroid Build Coastguard Worker rpc UpdateDiscoveryConfig(UpdateDiscoveryConfigRequest) 508*d5c09012SAndroid Build Coastguard Worker returns (DiscoveryConfig) { 509*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 510*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/locations/*/discoveryConfigs/*}" 511*d5c09012SAndroid Build Coastguard Worker body: "*" 512*d5c09012SAndroid Build Coastguard Worker additional_bindings { 513*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/locations/*/discoveryConfigs/*}" 514*d5c09012SAndroid Build Coastguard Worker body: "*" 515*d5c09012SAndroid Build Coastguard Worker } 516*d5c09012SAndroid Build Coastguard Worker }; 517*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,discovery_config,update_mask"; 518*d5c09012SAndroid Build Coastguard Worker } 519*d5c09012SAndroid Build Coastguard Worker 520*d5c09012SAndroid Build Coastguard Worker // Gets a discovery configuration. 521*d5c09012SAndroid Build Coastguard Worker rpc GetDiscoveryConfig(GetDiscoveryConfigRequest) returns (DiscoveryConfig) { 522*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 523*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/discoveryConfigs/*}" 524*d5c09012SAndroid Build Coastguard Worker additional_bindings { 525*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/discoveryConfigs/*}" 526*d5c09012SAndroid Build Coastguard Worker } 527*d5c09012SAndroid Build Coastguard Worker }; 528*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 529*d5c09012SAndroid Build Coastguard Worker } 530*d5c09012SAndroid Build Coastguard Worker 531*d5c09012SAndroid Build Coastguard Worker // Lists discovery configurations. 532*d5c09012SAndroid Build Coastguard Worker rpc ListDiscoveryConfigs(ListDiscoveryConfigsRequest) 533*d5c09012SAndroid Build Coastguard Worker returns (ListDiscoveryConfigsResponse) { 534*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 535*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/discoveryConfigs" 536*d5c09012SAndroid Build Coastguard Worker additional_bindings { 537*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/discoveryConfigs" 538*d5c09012SAndroid Build Coastguard Worker } 539*d5c09012SAndroid Build Coastguard Worker }; 540*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 541*d5c09012SAndroid Build Coastguard Worker } 542*d5c09012SAndroid Build Coastguard Worker 543*d5c09012SAndroid Build Coastguard Worker // Deletes a discovery configuration. 544*d5c09012SAndroid Build Coastguard Worker rpc DeleteDiscoveryConfig(DeleteDiscoveryConfigRequest) 545*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 546*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 547*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/locations/*/discoveryConfigs/*}" 548*d5c09012SAndroid Build Coastguard Worker additional_bindings { 549*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/locations/*/discoveryConfigs/*}" 550*d5c09012SAndroid Build Coastguard Worker } 551*d5c09012SAndroid Build Coastguard Worker }; 552*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 553*d5c09012SAndroid Build Coastguard Worker } 554*d5c09012SAndroid Build Coastguard Worker 555*d5c09012SAndroid Build Coastguard Worker // Creates a new job to inspect storage or calculate risk metrics. 556*d5c09012SAndroid Build Coastguard Worker // See 557*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage 558*d5c09012SAndroid Build Coastguard Worker // and 559*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis 560*d5c09012SAndroid Build Coastguard Worker // to learn more. 561*d5c09012SAndroid Build Coastguard Worker // 562*d5c09012SAndroid Build Coastguard Worker // When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the 563*d5c09012SAndroid Build Coastguard Worker // system will automatically choose what detectors to run. By default this may 564*d5c09012SAndroid Build Coastguard Worker // be all types, but may change over time as detectors are updated. 565*d5c09012SAndroid Build Coastguard Worker rpc CreateDlpJob(CreateDlpJobRequest) returns (DlpJob) { 566*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 567*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/dlpJobs" 568*d5c09012SAndroid Build Coastguard Worker body: "*" 569*d5c09012SAndroid Build Coastguard Worker additional_bindings { 570*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/dlpJobs" 571*d5c09012SAndroid Build Coastguard Worker body: "*" 572*d5c09012SAndroid Build Coastguard Worker } 573*d5c09012SAndroid Build Coastguard Worker }; 574*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,inspect_job"; 575*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,risk_job"; 576*d5c09012SAndroid Build Coastguard Worker } 577*d5c09012SAndroid Build Coastguard Worker 578*d5c09012SAndroid Build Coastguard Worker // Lists DlpJobs that match the specified filter in the request. 579*d5c09012SAndroid Build Coastguard Worker // See 580*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage 581*d5c09012SAndroid Build Coastguard Worker // and 582*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis 583*d5c09012SAndroid Build Coastguard Worker // to learn more. 584*d5c09012SAndroid Build Coastguard Worker rpc ListDlpJobs(ListDlpJobsRequest) returns (ListDlpJobsResponse) { 585*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 586*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*}/dlpJobs" 587*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{parent=projects/*/locations/*}/dlpJobs" } 588*d5c09012SAndroid Build Coastguard Worker additional_bindings { 589*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/dlpJobs" 590*d5c09012SAndroid Build Coastguard Worker } 591*d5c09012SAndroid Build Coastguard Worker }; 592*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 593*d5c09012SAndroid Build Coastguard Worker } 594*d5c09012SAndroid Build Coastguard Worker 595*d5c09012SAndroid Build Coastguard Worker // Gets the latest state of a long-running DlpJob. 596*d5c09012SAndroid Build Coastguard Worker // See 597*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage 598*d5c09012SAndroid Build Coastguard Worker // and 599*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis 600*d5c09012SAndroid Build Coastguard Worker // to learn more. 601*d5c09012SAndroid Build Coastguard Worker rpc GetDlpJob(GetDlpJobRequest) returns (DlpJob) { 602*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 603*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/dlpJobs/*}" 604*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{name=projects/*/locations/*/dlpJobs/*}" } 605*d5c09012SAndroid Build Coastguard Worker }; 606*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 607*d5c09012SAndroid Build Coastguard Worker } 608*d5c09012SAndroid Build Coastguard Worker 609*d5c09012SAndroid Build Coastguard Worker // Deletes a long-running DlpJob. This method indicates that the client is 610*d5c09012SAndroid Build Coastguard Worker // no longer interested in the DlpJob result. The job will be canceled if 611*d5c09012SAndroid Build Coastguard Worker // possible. 612*d5c09012SAndroid Build Coastguard Worker // See 613*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage 614*d5c09012SAndroid Build Coastguard Worker // and 615*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis 616*d5c09012SAndroid Build Coastguard Worker // to learn more. 617*d5c09012SAndroid Build Coastguard Worker rpc DeleteDlpJob(DeleteDlpJobRequest) returns (google.protobuf.Empty) { 618*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 619*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/dlpJobs/*}" 620*d5c09012SAndroid Build Coastguard Worker additional_bindings { 621*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/locations/*/dlpJobs/*}" 622*d5c09012SAndroid Build Coastguard Worker } 623*d5c09012SAndroid Build Coastguard Worker }; 624*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 625*d5c09012SAndroid Build Coastguard Worker } 626*d5c09012SAndroid Build Coastguard Worker 627*d5c09012SAndroid Build Coastguard Worker // Starts asynchronous cancellation on a long-running DlpJob. The server 628*d5c09012SAndroid Build Coastguard Worker // makes a best effort to cancel the DlpJob, but success is not 629*d5c09012SAndroid Build Coastguard Worker // guaranteed. 630*d5c09012SAndroid Build Coastguard Worker // See 631*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage 632*d5c09012SAndroid Build Coastguard Worker // and 633*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/compute-risk-analysis 634*d5c09012SAndroid Build Coastguard Worker // to learn more. 635*d5c09012SAndroid Build Coastguard Worker rpc CancelDlpJob(CancelDlpJobRequest) returns (google.protobuf.Empty) { 636*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 637*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/dlpJobs/*}:cancel" 638*d5c09012SAndroid Build Coastguard Worker body: "*" 639*d5c09012SAndroid Build Coastguard Worker additional_bindings { 640*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:cancel" 641*d5c09012SAndroid Build Coastguard Worker body: "*" 642*d5c09012SAndroid Build Coastguard Worker } 643*d5c09012SAndroid Build Coastguard Worker }; 644*d5c09012SAndroid Build Coastguard Worker } 645*d5c09012SAndroid Build Coastguard Worker 646*d5c09012SAndroid Build Coastguard Worker // Creates a pre-built stored infoType to be used for inspection. 647*d5c09012SAndroid Build Coastguard Worker // See 648*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes 649*d5c09012SAndroid Build Coastguard Worker // to learn more. 650*d5c09012SAndroid Build Coastguard Worker rpc CreateStoredInfoType(CreateStoredInfoTypeRequest) 651*d5c09012SAndroid Build Coastguard Worker returns (StoredInfoType) { 652*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 653*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*}/storedInfoTypes" 654*d5c09012SAndroid Build Coastguard Worker body: "*" 655*d5c09012SAndroid Build Coastguard Worker additional_bindings { 656*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=organizations/*/locations/*}/storedInfoTypes" 657*d5c09012SAndroid Build Coastguard Worker body: "*" 658*d5c09012SAndroid Build Coastguard Worker } 659*d5c09012SAndroid Build Coastguard Worker additional_bindings { 660*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*}/storedInfoTypes" 661*d5c09012SAndroid Build Coastguard Worker body: "*" 662*d5c09012SAndroid Build Coastguard Worker } 663*d5c09012SAndroid Build Coastguard Worker additional_bindings { 664*d5c09012SAndroid Build Coastguard Worker post: "/v2/{parent=projects/*/locations/*}/storedInfoTypes" 665*d5c09012SAndroid Build Coastguard Worker body: "*" 666*d5c09012SAndroid Build Coastguard Worker } 667*d5c09012SAndroid Build Coastguard Worker }; 668*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,config"; 669*d5c09012SAndroid Build Coastguard Worker } 670*d5c09012SAndroid Build Coastguard Worker 671*d5c09012SAndroid Build Coastguard Worker // Updates the stored infoType by creating a new version. The existing version 672*d5c09012SAndroid Build Coastguard Worker // will continue to be used until the new version is ready. 673*d5c09012SAndroid Build Coastguard Worker // See 674*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes 675*d5c09012SAndroid Build Coastguard Worker // to learn more. 676*d5c09012SAndroid Build Coastguard Worker rpc UpdateStoredInfoType(UpdateStoredInfoTypeRequest) 677*d5c09012SAndroid Build Coastguard Worker returns (StoredInfoType) { 678*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 679*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/storedInfoTypes/*}" 680*d5c09012SAndroid Build Coastguard Worker body: "*" 681*d5c09012SAndroid Build Coastguard Worker additional_bindings { 682*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}" 683*d5c09012SAndroid Build Coastguard Worker body: "*" 684*d5c09012SAndroid Build Coastguard Worker } 685*d5c09012SAndroid Build Coastguard Worker additional_bindings { 686*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/storedInfoTypes/*}" 687*d5c09012SAndroid Build Coastguard Worker body: "*" 688*d5c09012SAndroid Build Coastguard Worker } 689*d5c09012SAndroid Build Coastguard Worker additional_bindings { 690*d5c09012SAndroid Build Coastguard Worker patch: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}" 691*d5c09012SAndroid Build Coastguard Worker body: "*" 692*d5c09012SAndroid Build Coastguard Worker } 693*d5c09012SAndroid Build Coastguard Worker }; 694*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,config,update_mask"; 695*d5c09012SAndroid Build Coastguard Worker } 696*d5c09012SAndroid Build Coastguard Worker 697*d5c09012SAndroid Build Coastguard Worker // Gets a stored infoType. 698*d5c09012SAndroid Build Coastguard Worker // See 699*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes 700*d5c09012SAndroid Build Coastguard Worker // to learn more. 701*d5c09012SAndroid Build Coastguard Worker rpc GetStoredInfoType(GetStoredInfoTypeRequest) returns (StoredInfoType) { 702*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 703*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/storedInfoTypes/*}" 704*d5c09012SAndroid Build Coastguard Worker additional_bindings { 705*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}" 706*d5c09012SAndroid Build Coastguard Worker } 707*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{name=projects/*/storedInfoTypes/*}" } 708*d5c09012SAndroid Build Coastguard Worker additional_bindings { 709*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}" 710*d5c09012SAndroid Build Coastguard Worker } 711*d5c09012SAndroid Build Coastguard Worker }; 712*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 713*d5c09012SAndroid Build Coastguard Worker } 714*d5c09012SAndroid Build Coastguard Worker 715*d5c09012SAndroid Build Coastguard Worker // Lists stored infoTypes. 716*d5c09012SAndroid Build Coastguard Worker // See 717*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes 718*d5c09012SAndroid Build Coastguard Worker // to learn more. 719*d5c09012SAndroid Build Coastguard Worker rpc ListStoredInfoTypes(ListStoredInfoTypesRequest) 720*d5c09012SAndroid Build Coastguard Worker returns (ListStoredInfoTypesResponse) { 721*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 722*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*}/storedInfoTypes" 723*d5c09012SAndroid Build Coastguard Worker additional_bindings { 724*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/storedInfoTypes" 725*d5c09012SAndroid Build Coastguard Worker } 726*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v2/{parent=projects/*}/storedInfoTypes" } 727*d5c09012SAndroid Build Coastguard Worker additional_bindings { 728*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/storedInfoTypes" 729*d5c09012SAndroid Build Coastguard Worker } 730*d5c09012SAndroid Build Coastguard Worker }; 731*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 732*d5c09012SAndroid Build Coastguard Worker } 733*d5c09012SAndroid Build Coastguard Worker 734*d5c09012SAndroid Build Coastguard Worker // Deletes a stored infoType. 735*d5c09012SAndroid Build Coastguard Worker // See 736*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-stored-infotypes 737*d5c09012SAndroid Build Coastguard Worker // to learn more. 738*d5c09012SAndroid Build Coastguard Worker rpc DeleteStoredInfoType(DeleteStoredInfoTypeRequest) 739*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 740*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 741*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/storedInfoTypes/*}" 742*d5c09012SAndroid Build Coastguard Worker additional_bindings { 743*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}" 744*d5c09012SAndroid Build Coastguard Worker } 745*d5c09012SAndroid Build Coastguard Worker additional_bindings { delete: "/v2/{name=projects/*/storedInfoTypes/*}" } 746*d5c09012SAndroid Build Coastguard Worker additional_bindings { 747*d5c09012SAndroid Build Coastguard Worker delete: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}" 748*d5c09012SAndroid Build Coastguard Worker } 749*d5c09012SAndroid Build Coastguard Worker }; 750*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 751*d5c09012SAndroid Build Coastguard Worker } 752*d5c09012SAndroid Build Coastguard Worker 753*d5c09012SAndroid Build Coastguard Worker // Lists data profiles for an organization. 754*d5c09012SAndroid Build Coastguard Worker rpc ListProjectDataProfiles(ListProjectDataProfilesRequest) 755*d5c09012SAndroid Build Coastguard Worker returns (ListProjectDataProfilesResponse) { 756*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 757*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/projectDataProfiles" 758*d5c09012SAndroid Build Coastguard Worker additional_bindings { 759*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/projectDataProfiles" 760*d5c09012SAndroid Build Coastguard Worker } 761*d5c09012SAndroid Build Coastguard Worker }; 762*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 763*d5c09012SAndroid Build Coastguard Worker } 764*d5c09012SAndroid Build Coastguard Worker 765*d5c09012SAndroid Build Coastguard Worker // Lists data profiles for an organization. 766*d5c09012SAndroid Build Coastguard Worker rpc ListTableDataProfiles(ListTableDataProfilesRequest) 767*d5c09012SAndroid Build Coastguard Worker returns (ListTableDataProfilesResponse) { 768*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 769*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/tableDataProfiles" 770*d5c09012SAndroid Build Coastguard Worker additional_bindings { 771*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/tableDataProfiles" 772*d5c09012SAndroid Build Coastguard Worker } 773*d5c09012SAndroid Build Coastguard Worker }; 774*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 775*d5c09012SAndroid Build Coastguard Worker } 776*d5c09012SAndroid Build Coastguard Worker 777*d5c09012SAndroid Build Coastguard Worker // Lists data profiles for an organization. 778*d5c09012SAndroid Build Coastguard Worker rpc ListColumnDataProfiles(ListColumnDataProfilesRequest) 779*d5c09012SAndroid Build Coastguard Worker returns (ListColumnDataProfilesResponse) { 780*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 781*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=organizations/*/locations/*}/columnDataProfiles" 782*d5c09012SAndroid Build Coastguard Worker additional_bindings { 783*d5c09012SAndroid Build Coastguard Worker get: "/v2/{parent=projects/*/locations/*}/columnDataProfiles" 784*d5c09012SAndroid Build Coastguard Worker } 785*d5c09012SAndroid Build Coastguard Worker }; 786*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 787*d5c09012SAndroid Build Coastguard Worker } 788*d5c09012SAndroid Build Coastguard Worker 789*d5c09012SAndroid Build Coastguard Worker // Gets a project data profile. 790*d5c09012SAndroid Build Coastguard Worker rpc GetProjectDataProfile(GetProjectDataProfileRequest) 791*d5c09012SAndroid Build Coastguard Worker returns (ProjectDataProfile) { 792*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 793*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/projectDataProfiles/*}" 794*d5c09012SAndroid Build Coastguard Worker additional_bindings { 795*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/projectDataProfiles/*}" 796*d5c09012SAndroid Build Coastguard Worker } 797*d5c09012SAndroid Build Coastguard Worker }; 798*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 799*d5c09012SAndroid Build Coastguard Worker } 800*d5c09012SAndroid Build Coastguard Worker 801*d5c09012SAndroid Build Coastguard Worker // Gets a table data profile. 802*d5c09012SAndroid Build Coastguard Worker rpc GetTableDataProfile(GetTableDataProfileRequest) 803*d5c09012SAndroid Build Coastguard Worker returns (TableDataProfile) { 804*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 805*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/tableDataProfiles/*}" 806*d5c09012SAndroid Build Coastguard Worker additional_bindings { 807*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/tableDataProfiles/*}" 808*d5c09012SAndroid Build Coastguard Worker } 809*d5c09012SAndroid Build Coastguard Worker }; 810*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 811*d5c09012SAndroid Build Coastguard Worker } 812*d5c09012SAndroid Build Coastguard Worker 813*d5c09012SAndroid Build Coastguard Worker // Gets a column data profile. 814*d5c09012SAndroid Build Coastguard Worker rpc GetColumnDataProfile(GetColumnDataProfileRequest) 815*d5c09012SAndroid Build Coastguard Worker returns (ColumnDataProfile) { 816*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 817*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=organizations/*/locations/*/columnDataProfiles/*}" 818*d5c09012SAndroid Build Coastguard Worker additional_bindings { 819*d5c09012SAndroid Build Coastguard Worker get: "/v2/{name=projects/*/locations/*/columnDataProfiles/*}" 820*d5c09012SAndroid Build Coastguard Worker } 821*d5c09012SAndroid Build Coastguard Worker }; 822*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 823*d5c09012SAndroid Build Coastguard Worker } 824*d5c09012SAndroid Build Coastguard Worker 825*d5c09012SAndroid Build Coastguard Worker // Inspect hybrid content and store findings to a job. 826*d5c09012SAndroid Build Coastguard Worker // To review the findings, inspect the job. Inspection will occur 827*d5c09012SAndroid Build Coastguard Worker // asynchronously. 828*d5c09012SAndroid Build Coastguard Worker rpc HybridInspectDlpJob(HybridInspectDlpJobRequest) 829*d5c09012SAndroid Build Coastguard Worker returns (HybridInspectResponse) { 830*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 831*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:hybridInspect" 832*d5c09012SAndroid Build Coastguard Worker body: "*" 833*d5c09012SAndroid Build Coastguard Worker }; 834*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 835*d5c09012SAndroid Build Coastguard Worker } 836*d5c09012SAndroid Build Coastguard Worker 837*d5c09012SAndroid Build Coastguard Worker // Finish a running hybrid DlpJob. Triggers the finalization steps and running 838*d5c09012SAndroid Build Coastguard Worker // of any enabled actions that have not yet run. 839*d5c09012SAndroid Build Coastguard Worker rpc FinishDlpJob(FinishDlpJobRequest) returns (google.protobuf.Empty) { 840*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 841*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:finish" 842*d5c09012SAndroid Build Coastguard Worker body: "*" 843*d5c09012SAndroid Build Coastguard Worker }; 844*d5c09012SAndroid Build Coastguard Worker } 845*d5c09012SAndroid Build Coastguard Worker} 846*d5c09012SAndroid Build Coastguard Worker 847*d5c09012SAndroid Build Coastguard Worker// List of excluded infoTypes. 848*d5c09012SAndroid Build Coastguard Workermessage ExcludeInfoTypes { 849*d5c09012SAndroid Build Coastguard Worker // InfoType list in ExclusionRule rule drops a finding when it overlaps or 850*d5c09012SAndroid Build Coastguard Worker // contained within with a finding of an infoType from this list. For 851*d5c09012SAndroid Build Coastguard Worker // example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and 852*d5c09012SAndroid Build Coastguard Worker // `exclusion_rule` containing `exclude_info_types.info_types` with 853*d5c09012SAndroid Build Coastguard Worker // "EMAIL_ADDRESS" the phone number findings are dropped if they overlap 854*d5c09012SAndroid Build Coastguard Worker // with EMAIL_ADDRESS finding. 855*d5c09012SAndroid Build Coastguard Worker // That leads to "[email protected]" to generate only a single 856*d5c09012SAndroid Build Coastguard Worker // finding, namely email address. 857*d5c09012SAndroid Build Coastguard Worker repeated InfoType info_types = 1; 858*d5c09012SAndroid Build Coastguard Worker} 859*d5c09012SAndroid Build Coastguard Worker 860*d5c09012SAndroid Build Coastguard Worker// The rule to exclude findings based on a hotword. For record inspection of 861*d5c09012SAndroid Build Coastguard Worker// tables, column names are considered hotwords. An example of this is to 862*d5c09012SAndroid Build Coastguard Worker// exclude a finding if it belongs to a BigQuery column that matches a specific 863*d5c09012SAndroid Build Coastguard Worker// pattern. 864*d5c09012SAndroid Build Coastguard Workermessage ExcludeByHotword { 865*d5c09012SAndroid Build Coastguard Worker // Regular expression pattern defining what qualifies as a hotword. 866*d5c09012SAndroid Build Coastguard Worker CustomInfoType.Regex hotword_regex = 1; 867*d5c09012SAndroid Build Coastguard Worker 868*d5c09012SAndroid Build Coastguard Worker // Range of characters within which the entire hotword must reside. 869*d5c09012SAndroid Build Coastguard Worker // The total length of the window cannot exceed 1000 characters. 870*d5c09012SAndroid Build Coastguard Worker // The windowBefore property in proximity should be set to 1 if the hotword 871*d5c09012SAndroid Build Coastguard Worker // needs to be included in a column header. 872*d5c09012SAndroid Build Coastguard Worker CustomInfoType.DetectionRule.Proximity proximity = 2; 873*d5c09012SAndroid Build Coastguard Worker} 874*d5c09012SAndroid Build Coastguard Worker 875*d5c09012SAndroid Build Coastguard Worker// The rule that specifies conditions when findings of infoTypes specified in 876*d5c09012SAndroid Build Coastguard Worker// `InspectionRuleSet` are removed from results. 877*d5c09012SAndroid Build Coastguard Workermessage ExclusionRule { 878*d5c09012SAndroid Build Coastguard Worker // Exclusion rule types. 879*d5c09012SAndroid Build Coastguard Worker oneof type { 880*d5c09012SAndroid Build Coastguard Worker // Dictionary which defines the rule. 881*d5c09012SAndroid Build Coastguard Worker CustomInfoType.Dictionary dictionary = 1; 882*d5c09012SAndroid Build Coastguard Worker 883*d5c09012SAndroid Build Coastguard Worker // Regular expression which defines the rule. 884*d5c09012SAndroid Build Coastguard Worker CustomInfoType.Regex regex = 2; 885*d5c09012SAndroid Build Coastguard Worker 886*d5c09012SAndroid Build Coastguard Worker // Set of infoTypes for which findings would affect this rule. 887*d5c09012SAndroid Build Coastguard Worker ExcludeInfoTypes exclude_info_types = 3; 888*d5c09012SAndroid Build Coastguard Worker 889*d5c09012SAndroid Build Coastguard Worker // Drop if the hotword rule is contained in the proximate context. For 890*d5c09012SAndroid Build Coastguard Worker // tabular data, the context includes the column name. 891*d5c09012SAndroid Build Coastguard Worker ExcludeByHotword exclude_by_hotword = 5; 892*d5c09012SAndroid Build Coastguard Worker } 893*d5c09012SAndroid Build Coastguard Worker 894*d5c09012SAndroid Build Coastguard Worker // How the rule is applied, see MatchingType documentation for details. 895*d5c09012SAndroid Build Coastguard Worker MatchingType matching_type = 4; 896*d5c09012SAndroid Build Coastguard Worker} 897*d5c09012SAndroid Build Coastguard Worker 898*d5c09012SAndroid Build Coastguard Worker// A single inspection rule to be applied to infoTypes, specified in 899*d5c09012SAndroid Build Coastguard Worker// `InspectionRuleSet`. 900*d5c09012SAndroid Build Coastguard Workermessage InspectionRule { 901*d5c09012SAndroid Build Coastguard Worker // Inspection rule types. 902*d5c09012SAndroid Build Coastguard Worker oneof type { 903*d5c09012SAndroid Build Coastguard Worker // Hotword-based detection rule. 904*d5c09012SAndroid Build Coastguard Worker CustomInfoType.DetectionRule.HotwordRule hotword_rule = 1; 905*d5c09012SAndroid Build Coastguard Worker 906*d5c09012SAndroid Build Coastguard Worker // Exclusion rule. 907*d5c09012SAndroid Build Coastguard Worker ExclusionRule exclusion_rule = 2; 908*d5c09012SAndroid Build Coastguard Worker } 909*d5c09012SAndroid Build Coastguard Worker} 910*d5c09012SAndroid Build Coastguard Worker 911*d5c09012SAndroid Build Coastguard Worker// Rule set for modifying a set of infoTypes to alter behavior under certain 912*d5c09012SAndroid Build Coastguard Worker// circumstances, depending on the specific details of the rules within the set. 913*d5c09012SAndroid Build Coastguard Workermessage InspectionRuleSet { 914*d5c09012SAndroid Build Coastguard Worker // List of infoTypes this rule set is applied to. 915*d5c09012SAndroid Build Coastguard Worker repeated InfoType info_types = 1; 916*d5c09012SAndroid Build Coastguard Worker 917*d5c09012SAndroid Build Coastguard Worker // Set of rules to be applied to infoTypes. The rules are applied in order. 918*d5c09012SAndroid Build Coastguard Worker repeated InspectionRule rules = 2; 919*d5c09012SAndroid Build Coastguard Worker} 920*d5c09012SAndroid Build Coastguard Worker 921*d5c09012SAndroid Build Coastguard Worker// Configuration description of the scanning process. 922*d5c09012SAndroid Build Coastguard Worker// When used with redactContent only info_types and min_likelihood are currently 923*d5c09012SAndroid Build Coastguard Worker// used. 924*d5c09012SAndroid Build Coastguard Workermessage InspectConfig { 925*d5c09012SAndroid Build Coastguard Worker // Configuration for setting a minimum likelihood per infotype. Used to 926*d5c09012SAndroid Build Coastguard Worker // customize the minimum likelihood level for specific infotypes in the 927*d5c09012SAndroid Build Coastguard Worker // request. For example, use this if you want to lower the precision for 928*d5c09012SAndroid Build Coastguard Worker // PERSON_NAME without lowering the precision for the other infotypes in the 929*d5c09012SAndroid Build Coastguard Worker // request. 930*d5c09012SAndroid Build Coastguard Worker message InfoTypeLikelihood { 931*d5c09012SAndroid Build Coastguard Worker // Type of information the likelihood threshold applies to. Only one 932*d5c09012SAndroid Build Coastguard Worker // likelihood per info_type should be provided. If InfoTypeLikelihood does 933*d5c09012SAndroid Build Coastguard Worker // not have an info_type, the configuration fails. 934*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 1; 935*d5c09012SAndroid Build Coastguard Worker 936*d5c09012SAndroid Build Coastguard Worker // Only returns findings equal to or above this threshold. This field is 937*d5c09012SAndroid Build Coastguard Worker // required or else the configuration fails. 938*d5c09012SAndroid Build Coastguard Worker Likelihood min_likelihood = 2; 939*d5c09012SAndroid Build Coastguard Worker } 940*d5c09012SAndroid Build Coastguard Worker 941*d5c09012SAndroid Build Coastguard Worker // Configuration to control the number of findings returned for inspection. 942*d5c09012SAndroid Build Coastguard Worker // This is not used for de-identification or data profiling. 943*d5c09012SAndroid Build Coastguard Worker // 944*d5c09012SAndroid Build Coastguard Worker // When redacting sensitive data from images, finding limits don't apply. They 945*d5c09012SAndroid Build Coastguard Worker // can cause unexpected or inconsistent results, where only some data is 946*d5c09012SAndroid Build Coastguard Worker // redacted. Don't include finding limits in 947*d5c09012SAndroid Build Coastguard Worker // [RedactImage][google.privacy.dlp.v2.DlpService.RedactImage] 948*d5c09012SAndroid Build Coastguard Worker // requests. Otherwise, Cloud DLP returns an error. 949*d5c09012SAndroid Build Coastguard Worker message FindingLimits { 950*d5c09012SAndroid Build Coastguard Worker // Max findings configuration per infoType, per content item or long 951*d5c09012SAndroid Build Coastguard Worker // running DlpJob. 952*d5c09012SAndroid Build Coastguard Worker message InfoTypeLimit { 953*d5c09012SAndroid Build Coastguard Worker // Type of information the findings limit applies to. Only one limit per 954*d5c09012SAndroid Build Coastguard Worker // info_type should be provided. If InfoTypeLimit does not have an 955*d5c09012SAndroid Build Coastguard Worker // info_type, the DLP API applies the limit against all info_types that 956*d5c09012SAndroid Build Coastguard Worker // are found but not specified in another InfoTypeLimit. 957*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 1; 958*d5c09012SAndroid Build Coastguard Worker 959*d5c09012SAndroid Build Coastguard Worker // Max findings limit for the given infoType. 960*d5c09012SAndroid Build Coastguard Worker int32 max_findings = 2; 961*d5c09012SAndroid Build Coastguard Worker } 962*d5c09012SAndroid Build Coastguard Worker 963*d5c09012SAndroid Build Coastguard Worker // Max number of findings that are returned for each item scanned. 964*d5c09012SAndroid Build Coastguard Worker // 965*d5c09012SAndroid Build Coastguard Worker // When set within an 966*d5c09012SAndroid Build Coastguard Worker // [InspectContentRequest][google.privacy.dlp.v2.InspectContentRequest], 967*d5c09012SAndroid Build Coastguard Worker // this field is ignored. 968*d5c09012SAndroid Build Coastguard Worker // 969*d5c09012SAndroid Build Coastguard Worker // This value isn't a hard limit. If the number of findings for an item 970*d5c09012SAndroid Build Coastguard Worker // reaches this limit, the inspection of that item ends gradually, not 971*d5c09012SAndroid Build Coastguard Worker // abruptly. Therefore, the actual number of findings that Cloud DLP returns 972*d5c09012SAndroid Build Coastguard Worker // for the item can be multiple times higher than this value. 973*d5c09012SAndroid Build Coastguard Worker int32 max_findings_per_item = 1; 974*d5c09012SAndroid Build Coastguard Worker 975*d5c09012SAndroid Build Coastguard Worker // Max number of findings that are returned per request or job. 976*d5c09012SAndroid Build Coastguard Worker // 977*d5c09012SAndroid Build Coastguard Worker // If you set this field in an 978*d5c09012SAndroid Build Coastguard Worker // [InspectContentRequest][google.privacy.dlp.v2.InspectContentRequest], the 979*d5c09012SAndroid Build Coastguard Worker // resulting maximum value is the value that you set or 3,000, whichever is 980*d5c09012SAndroid Build Coastguard Worker // lower. 981*d5c09012SAndroid Build Coastguard Worker // 982*d5c09012SAndroid Build Coastguard Worker // This value isn't a hard limit. If an inspection reaches this limit, the 983*d5c09012SAndroid Build Coastguard Worker // inspection ends gradually, not abruptly. Therefore, the actual number of 984*d5c09012SAndroid Build Coastguard Worker // findings that Cloud DLP returns can be multiple times higher than this 985*d5c09012SAndroid Build Coastguard Worker // value. 986*d5c09012SAndroid Build Coastguard Worker int32 max_findings_per_request = 2; 987*d5c09012SAndroid Build Coastguard Worker 988*d5c09012SAndroid Build Coastguard Worker // Configuration of findings limit given for specified infoTypes. 989*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeLimit max_findings_per_info_type = 3; 990*d5c09012SAndroid Build Coastguard Worker } 991*d5c09012SAndroid Build Coastguard Worker 992*d5c09012SAndroid Build Coastguard Worker // Restricts what info_types to look for. The values must correspond to 993*d5c09012SAndroid Build Coastguard Worker // InfoType values returned by ListInfoTypes or listed at 994*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference. 995*d5c09012SAndroid Build Coastguard Worker // 996*d5c09012SAndroid Build Coastguard Worker // When no InfoTypes or CustomInfoTypes are specified in a request, the 997*d5c09012SAndroid Build Coastguard Worker // system may automatically choose a default list of detectors to run, which 998*d5c09012SAndroid Build Coastguard Worker // may change over time. 999*d5c09012SAndroid Build Coastguard Worker // 1000*d5c09012SAndroid Build Coastguard Worker // If you need precise control and predictability as to what detectors are 1001*d5c09012SAndroid Build Coastguard Worker // run you should specify specific InfoTypes listed in the reference, 1002*d5c09012SAndroid Build Coastguard Worker // otherwise a default list will be used, which may change over time. 1003*d5c09012SAndroid Build Coastguard Worker repeated InfoType info_types = 1; 1004*d5c09012SAndroid Build Coastguard Worker 1005*d5c09012SAndroid Build Coastguard Worker // Only returns findings equal to or above this threshold. The default is 1006*d5c09012SAndroid Build Coastguard Worker // POSSIBLE. 1007*d5c09012SAndroid Build Coastguard Worker // 1008*d5c09012SAndroid Build Coastguard Worker // In general, the highest likelihood setting yields the fewest findings in 1009*d5c09012SAndroid Build Coastguard Worker // results and the lowest chance of a false positive. For more information, 1010*d5c09012SAndroid Build Coastguard Worker // see [Match 1011*d5c09012SAndroid Build Coastguard Worker // likelihood](https://cloud.google.com/sensitive-data-protection/docs/likelihood). 1012*d5c09012SAndroid Build Coastguard Worker Likelihood min_likelihood = 2; 1013*d5c09012SAndroid Build Coastguard Worker 1014*d5c09012SAndroid Build Coastguard Worker // Minimum likelihood per infotype. For each infotype, a user can specify a 1015*d5c09012SAndroid Build Coastguard Worker // minimum likelihood. The system only returns a finding if its likelihood is 1016*d5c09012SAndroid Build Coastguard Worker // above this threshold. If this field is not set, the system uses the 1017*d5c09012SAndroid Build Coastguard Worker // InspectConfig min_likelihood. 1018*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeLikelihood min_likelihood_per_info_type = 11; 1019*d5c09012SAndroid Build Coastguard Worker 1020*d5c09012SAndroid Build Coastguard Worker // Configuration to control the number of findings returned. 1021*d5c09012SAndroid Build Coastguard Worker // This is not used for data profiling. 1022*d5c09012SAndroid Build Coastguard Worker // 1023*d5c09012SAndroid Build Coastguard Worker // When redacting sensitive data from images, finding limits don't apply. They 1024*d5c09012SAndroid Build Coastguard Worker // can cause unexpected or inconsistent results, where only some data is 1025*d5c09012SAndroid Build Coastguard Worker // redacted. Don't include finding limits in 1026*d5c09012SAndroid Build Coastguard Worker // [RedactImage][google.privacy.dlp.v2.DlpService.RedactImage] 1027*d5c09012SAndroid Build Coastguard Worker // requests. Otherwise, Cloud DLP returns an error. 1028*d5c09012SAndroid Build Coastguard Worker // 1029*d5c09012SAndroid Build Coastguard Worker // When set within an 1030*d5c09012SAndroid Build Coastguard Worker // [InspectJobConfig][google.privacy.dlp.v2.InspectJobConfig], the specified 1031*d5c09012SAndroid Build Coastguard Worker // maximum values aren't hard limits. If an inspection job reaches these 1032*d5c09012SAndroid Build Coastguard Worker // limits, the job ends gradually, not abruptly. Therefore, the actual number 1033*d5c09012SAndroid Build Coastguard Worker // of findings that Cloud DLP returns can be multiple times higher than these 1034*d5c09012SAndroid Build Coastguard Worker // maximum values. 1035*d5c09012SAndroid Build Coastguard Worker FindingLimits limits = 3; 1036*d5c09012SAndroid Build Coastguard Worker 1037*d5c09012SAndroid Build Coastguard Worker // When true, a contextual quote from the data that triggered a finding is 1038*d5c09012SAndroid Build Coastguard Worker // included in the response; see 1039*d5c09012SAndroid Build Coastguard Worker // [Finding.quote][google.privacy.dlp.v2.Finding.quote]. This is not used for 1040*d5c09012SAndroid Build Coastguard Worker // data profiling. 1041*d5c09012SAndroid Build Coastguard Worker bool include_quote = 4; 1042*d5c09012SAndroid Build Coastguard Worker 1043*d5c09012SAndroid Build Coastguard Worker // When true, excludes type information of the findings. 1044*d5c09012SAndroid Build Coastguard Worker // This is not used for data profiling. 1045*d5c09012SAndroid Build Coastguard Worker bool exclude_info_types = 5; 1046*d5c09012SAndroid Build Coastguard Worker 1047*d5c09012SAndroid Build Coastguard Worker // CustomInfoTypes provided by the user. See 1048*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes 1049*d5c09012SAndroid Build Coastguard Worker // to learn more. 1050*d5c09012SAndroid Build Coastguard Worker repeated CustomInfoType custom_info_types = 6; 1051*d5c09012SAndroid Build Coastguard Worker 1052*d5c09012SAndroid Build Coastguard Worker // Deprecated and unused. 1053*d5c09012SAndroid Build Coastguard Worker repeated ContentOption content_options = 8; 1054*d5c09012SAndroid Build Coastguard Worker 1055*d5c09012SAndroid Build Coastguard Worker // Set of rules to apply to the findings for this InspectConfig. 1056*d5c09012SAndroid Build Coastguard Worker // Exclusion rules, contained in the set are executed in the end, other 1057*d5c09012SAndroid Build Coastguard Worker // rules are executed in the order they are specified for each info type. 1058*d5c09012SAndroid Build Coastguard Worker repeated InspectionRuleSet rule_set = 10; 1059*d5c09012SAndroid Build Coastguard Worker} 1060*d5c09012SAndroid Build Coastguard Worker 1061*d5c09012SAndroid Build Coastguard Worker// Container for bytes to inspect or redact. 1062*d5c09012SAndroid Build Coastguard Workermessage ByteContentItem { 1063*d5c09012SAndroid Build Coastguard Worker // The type of data being sent for inspection. To learn more, see 1064*d5c09012SAndroid Build Coastguard Worker // [Supported file 1065*d5c09012SAndroid Build Coastguard Worker // types](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types). 1066*d5c09012SAndroid Build Coastguard Worker enum BytesType { 1067*d5c09012SAndroid Build Coastguard Worker // Unused 1068*d5c09012SAndroid Build Coastguard Worker BYTES_TYPE_UNSPECIFIED = 0; 1069*d5c09012SAndroid Build Coastguard Worker 1070*d5c09012SAndroid Build Coastguard Worker // Any image type. 1071*d5c09012SAndroid Build Coastguard Worker IMAGE = 6; 1072*d5c09012SAndroid Build Coastguard Worker 1073*d5c09012SAndroid Build Coastguard Worker // jpeg 1074*d5c09012SAndroid Build Coastguard Worker IMAGE_JPEG = 1; 1075*d5c09012SAndroid Build Coastguard Worker 1076*d5c09012SAndroid Build Coastguard Worker // bmp 1077*d5c09012SAndroid Build Coastguard Worker IMAGE_BMP = 2; 1078*d5c09012SAndroid Build Coastguard Worker 1079*d5c09012SAndroid Build Coastguard Worker // png 1080*d5c09012SAndroid Build Coastguard Worker IMAGE_PNG = 3; 1081*d5c09012SAndroid Build Coastguard Worker 1082*d5c09012SAndroid Build Coastguard Worker // svg 1083*d5c09012SAndroid Build Coastguard Worker IMAGE_SVG = 4; 1084*d5c09012SAndroid Build Coastguard Worker 1085*d5c09012SAndroid Build Coastguard Worker // plain text 1086*d5c09012SAndroid Build Coastguard Worker TEXT_UTF8 = 5; 1087*d5c09012SAndroid Build Coastguard Worker 1088*d5c09012SAndroid Build Coastguard Worker // docx, docm, dotx, dotm 1089*d5c09012SAndroid Build Coastguard Worker WORD_DOCUMENT = 7; 1090*d5c09012SAndroid Build Coastguard Worker 1091*d5c09012SAndroid Build Coastguard Worker // pdf 1092*d5c09012SAndroid Build Coastguard Worker PDF = 8; 1093*d5c09012SAndroid Build Coastguard Worker 1094*d5c09012SAndroid Build Coastguard Worker // pptx, pptm, potx, potm, pot 1095*d5c09012SAndroid Build Coastguard Worker POWERPOINT_DOCUMENT = 9; 1096*d5c09012SAndroid Build Coastguard Worker 1097*d5c09012SAndroid Build Coastguard Worker // xlsx, xlsm, xltx, xltm 1098*d5c09012SAndroid Build Coastguard Worker EXCEL_DOCUMENT = 10; 1099*d5c09012SAndroid Build Coastguard Worker 1100*d5c09012SAndroid Build Coastguard Worker // avro 1101*d5c09012SAndroid Build Coastguard Worker AVRO = 11; 1102*d5c09012SAndroid Build Coastguard Worker 1103*d5c09012SAndroid Build Coastguard Worker // csv 1104*d5c09012SAndroid Build Coastguard Worker CSV = 12; 1105*d5c09012SAndroid Build Coastguard Worker 1106*d5c09012SAndroid Build Coastguard Worker // tsv 1107*d5c09012SAndroid Build Coastguard Worker TSV = 13; 1108*d5c09012SAndroid Build Coastguard Worker } 1109*d5c09012SAndroid Build Coastguard Worker 1110*d5c09012SAndroid Build Coastguard Worker // The type of data stored in the bytes string. Default will be TEXT_UTF8. 1111*d5c09012SAndroid Build Coastguard Worker BytesType type = 1; 1112*d5c09012SAndroid Build Coastguard Worker 1113*d5c09012SAndroid Build Coastguard Worker // Content data to inspect or redact. 1114*d5c09012SAndroid Build Coastguard Worker bytes data = 2; 1115*d5c09012SAndroid Build Coastguard Worker} 1116*d5c09012SAndroid Build Coastguard Worker 1117*d5c09012SAndroid Build Coastguard Worker// Type of content to inspect. 1118*d5c09012SAndroid Build Coastguard Workermessage ContentItem { 1119*d5c09012SAndroid Build Coastguard Worker // Data of the item either in the byte array or UTF-8 string form, or table. 1120*d5c09012SAndroid Build Coastguard Worker oneof data_item { 1121*d5c09012SAndroid Build Coastguard Worker // String data to inspect or redact. 1122*d5c09012SAndroid Build Coastguard Worker string value = 3; 1123*d5c09012SAndroid Build Coastguard Worker 1124*d5c09012SAndroid Build Coastguard Worker // Structured content for inspection. See 1125*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table 1126*d5c09012SAndroid Build Coastguard Worker // to learn more. 1127*d5c09012SAndroid Build Coastguard Worker Table table = 4; 1128*d5c09012SAndroid Build Coastguard Worker 1129*d5c09012SAndroid Build Coastguard Worker // Content data to inspect or redact. Replaces `type` and `data`. 1130*d5c09012SAndroid Build Coastguard Worker ByteContentItem byte_item = 5; 1131*d5c09012SAndroid Build Coastguard Worker } 1132*d5c09012SAndroid Build Coastguard Worker} 1133*d5c09012SAndroid Build Coastguard Worker 1134*d5c09012SAndroid Build Coastguard Worker// Structured content to inspect. Up to 50,000 `Value`s per request allowed. See 1135*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table 1136*d5c09012SAndroid Build Coastguard Worker// to learn more. 1137*d5c09012SAndroid Build Coastguard Workermessage Table { 1138*d5c09012SAndroid Build Coastguard Worker // Values of the row. 1139*d5c09012SAndroid Build Coastguard Worker message Row { 1140*d5c09012SAndroid Build Coastguard Worker // Individual cells. 1141*d5c09012SAndroid Build Coastguard Worker repeated Value values = 1; 1142*d5c09012SAndroid Build Coastguard Worker } 1143*d5c09012SAndroid Build Coastguard Worker 1144*d5c09012SAndroid Build Coastguard Worker // Headers of the table. 1145*d5c09012SAndroid Build Coastguard Worker repeated FieldId headers = 1; 1146*d5c09012SAndroid Build Coastguard Worker 1147*d5c09012SAndroid Build Coastguard Worker // Rows of the table. 1148*d5c09012SAndroid Build Coastguard Worker repeated Row rows = 2; 1149*d5c09012SAndroid Build Coastguard Worker} 1150*d5c09012SAndroid Build Coastguard Worker 1151*d5c09012SAndroid Build Coastguard Worker// All the findings for a single scanned item. 1152*d5c09012SAndroid Build Coastguard Workermessage InspectResult { 1153*d5c09012SAndroid Build Coastguard Worker // List of findings for an item. 1154*d5c09012SAndroid Build Coastguard Worker repeated Finding findings = 1; 1155*d5c09012SAndroid Build Coastguard Worker 1156*d5c09012SAndroid Build Coastguard Worker // If true, then this item might have more findings than were returned, 1157*d5c09012SAndroid Build Coastguard Worker // and the findings returned are an arbitrary subset of all findings. 1158*d5c09012SAndroid Build Coastguard Worker // The findings list might be truncated because the input items were too 1159*d5c09012SAndroid Build Coastguard Worker // large, or because the server reached the maximum amount of resources 1160*d5c09012SAndroid Build Coastguard Worker // allowed for a single API call. For best results, divide the input into 1161*d5c09012SAndroid Build Coastguard Worker // smaller batches. 1162*d5c09012SAndroid Build Coastguard Worker bool findings_truncated = 2; 1163*d5c09012SAndroid Build Coastguard Worker} 1164*d5c09012SAndroid Build Coastguard Worker 1165*d5c09012SAndroid Build Coastguard Worker// Represents a piece of potentially sensitive content. 1166*d5c09012SAndroid Build Coastguard Workermessage Finding { 1167*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1168*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/Finding" 1169*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/findings/{finding}" 1170*d5c09012SAndroid Build Coastguard Worker }; 1171*d5c09012SAndroid Build Coastguard Worker 1172*d5c09012SAndroid Build Coastguard Worker // Resource name in format 1173*d5c09012SAndroid Build Coastguard Worker // projects/{project}/locations/{location}/findings/{finding} Populated only 1174*d5c09012SAndroid Build Coastguard Worker // when viewing persisted findings. 1175*d5c09012SAndroid Build Coastguard Worker string name = 14; 1176*d5c09012SAndroid Build Coastguard Worker 1177*d5c09012SAndroid Build Coastguard Worker // The content that was found. Even if the content is not textual, it 1178*d5c09012SAndroid Build Coastguard Worker // may be converted to a textual representation here. 1179*d5c09012SAndroid Build Coastguard Worker // Provided if `include_quote` is true and the finding is 1180*d5c09012SAndroid Build Coastguard Worker // less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes 1181*d5c09012SAndroid Build Coastguard Worker // in length, the quote may be omitted. 1182*d5c09012SAndroid Build Coastguard Worker string quote = 1; 1183*d5c09012SAndroid Build Coastguard Worker 1184*d5c09012SAndroid Build Coastguard Worker // The type of content that might have been found. 1185*d5c09012SAndroid Build Coastguard Worker // Provided if `excluded_types` is false. 1186*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 2; 1187*d5c09012SAndroid Build Coastguard Worker 1188*d5c09012SAndroid Build Coastguard Worker // Confidence of how likely it is that the `info_type` is correct. 1189*d5c09012SAndroid Build Coastguard Worker Likelihood likelihood = 3; 1190*d5c09012SAndroid Build Coastguard Worker 1191*d5c09012SAndroid Build Coastguard Worker // Where the content was found. 1192*d5c09012SAndroid Build Coastguard Worker Location location = 4; 1193*d5c09012SAndroid Build Coastguard Worker 1194*d5c09012SAndroid Build Coastguard Worker // Timestamp when finding was detected. 1195*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 6; 1196*d5c09012SAndroid Build Coastguard Worker 1197*d5c09012SAndroid Build Coastguard Worker // Contains data parsed from quotes. Only populated if include_quote was set 1198*d5c09012SAndroid Build Coastguard Worker // to true and a supported infoType was requested. Currently supported 1199*d5c09012SAndroid Build Coastguard Worker // infoTypes: DATE, DATE_OF_BIRTH and TIME. 1200*d5c09012SAndroid Build Coastguard Worker QuoteInfo quote_info = 7; 1201*d5c09012SAndroid Build Coastguard Worker 1202*d5c09012SAndroid Build Coastguard Worker // The job that stored the finding. 1203*d5c09012SAndroid Build Coastguard Worker string resource_name = 8 1204*d5c09012SAndroid Build Coastguard Worker [(google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" }]; 1205*d5c09012SAndroid Build Coastguard Worker 1206*d5c09012SAndroid Build Coastguard Worker // Job trigger name, if applicable, for this finding. 1207*d5c09012SAndroid Build Coastguard Worker string trigger_name = 9 [ 1208*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/JobTrigger" } 1209*d5c09012SAndroid Build Coastguard Worker ]; 1210*d5c09012SAndroid Build Coastguard Worker 1211*d5c09012SAndroid Build Coastguard Worker // The labels associated with this `Finding`. 1212*d5c09012SAndroid Build Coastguard Worker // 1213*d5c09012SAndroid Build Coastguard Worker // Label keys must be between 1 and 63 characters long and must conform 1214*d5c09012SAndroid Build Coastguard Worker // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. 1215*d5c09012SAndroid Build Coastguard Worker // 1216*d5c09012SAndroid Build Coastguard Worker // Label values must be between 0 and 63 characters long and must conform 1217*d5c09012SAndroid Build Coastguard Worker // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. 1218*d5c09012SAndroid Build Coastguard Worker // 1219*d5c09012SAndroid Build Coastguard Worker // No more than 10 labels can be associated with a given finding. 1220*d5c09012SAndroid Build Coastguard Worker // 1221*d5c09012SAndroid Build Coastguard Worker // Examples: 1222*d5c09012SAndroid Build Coastguard Worker // * `"environment" : "production"` 1223*d5c09012SAndroid Build Coastguard Worker // * `"pipeline" : "etl"` 1224*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 10; 1225*d5c09012SAndroid Build Coastguard Worker 1226*d5c09012SAndroid Build Coastguard Worker // Time the job started that produced this finding. 1227*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp job_create_time = 11; 1228*d5c09012SAndroid Build Coastguard Worker 1229*d5c09012SAndroid Build Coastguard Worker // The job that stored the finding. 1230*d5c09012SAndroid Build Coastguard Worker string job_name = 13 1231*d5c09012SAndroid Build Coastguard Worker [(google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" }]; 1232*d5c09012SAndroid Build Coastguard Worker 1233*d5c09012SAndroid Build Coastguard Worker // The unique finding id. 1234*d5c09012SAndroid Build Coastguard Worker string finding_id = 15; 1235*d5c09012SAndroid Build Coastguard Worker} 1236*d5c09012SAndroid Build Coastguard Worker 1237*d5c09012SAndroid Build Coastguard Worker// Specifies the location of the finding. 1238*d5c09012SAndroid Build Coastguard Workermessage Location { 1239*d5c09012SAndroid Build Coastguard Worker // Zero-based byte offsets delimiting the finding. 1240*d5c09012SAndroid Build Coastguard Worker // These are relative to the finding's containing element. 1241*d5c09012SAndroid Build Coastguard Worker // Note that when the content is not textual, this references 1242*d5c09012SAndroid Build Coastguard Worker // the UTF-8 encoded textual representation of the content. 1243*d5c09012SAndroid Build Coastguard Worker // Omitted if content is an image. 1244*d5c09012SAndroid Build Coastguard Worker Range byte_range = 1; 1245*d5c09012SAndroid Build Coastguard Worker 1246*d5c09012SAndroid Build Coastguard Worker // Unicode character offsets delimiting the finding. 1247*d5c09012SAndroid Build Coastguard Worker // These are relative to the finding's containing element. 1248*d5c09012SAndroid Build Coastguard Worker // Provided when the content is text. 1249*d5c09012SAndroid Build Coastguard Worker Range codepoint_range = 2; 1250*d5c09012SAndroid Build Coastguard Worker 1251*d5c09012SAndroid Build Coastguard Worker // List of nested objects pointing to the precise location of the finding 1252*d5c09012SAndroid Build Coastguard Worker // within the file or record. 1253*d5c09012SAndroid Build Coastguard Worker repeated ContentLocation content_locations = 7; 1254*d5c09012SAndroid Build Coastguard Worker 1255*d5c09012SAndroid Build Coastguard Worker // Information about the container where this finding occurred, if available. 1256*d5c09012SAndroid Build Coastguard Worker Container container = 8; 1257*d5c09012SAndroid Build Coastguard Worker} 1258*d5c09012SAndroid Build Coastguard Worker 1259*d5c09012SAndroid Build Coastguard Worker// Precise location of the finding within a document, record, image, or metadata 1260*d5c09012SAndroid Build Coastguard Worker// container. 1261*d5c09012SAndroid Build Coastguard Workermessage ContentLocation { 1262*d5c09012SAndroid Build Coastguard Worker // Name of the container where the finding is located. 1263*d5c09012SAndroid Build Coastguard Worker // The top level name is the source file name or table name. Names of some 1264*d5c09012SAndroid Build Coastguard Worker // common storage containers are formatted as follows: 1265*d5c09012SAndroid Build Coastguard Worker // 1266*d5c09012SAndroid Build Coastguard Worker // * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` 1267*d5c09012SAndroid Build Coastguard Worker // * Cloud Storage files: `gs://{bucket}/{path}` 1268*d5c09012SAndroid Build Coastguard Worker // * Datastore namespace: {namespace} 1269*d5c09012SAndroid Build Coastguard Worker // 1270*d5c09012SAndroid Build Coastguard Worker // Nested names could be absent if the embedded object has no string 1271*d5c09012SAndroid Build Coastguard Worker // identifier (for example, an image contained within a document). 1272*d5c09012SAndroid Build Coastguard Worker string container_name = 1; 1273*d5c09012SAndroid Build Coastguard Worker 1274*d5c09012SAndroid Build Coastguard Worker // Type of the container within the file with location of the finding. 1275*d5c09012SAndroid Build Coastguard Worker oneof location { 1276*d5c09012SAndroid Build Coastguard Worker // Location within a row or record of a database table. 1277*d5c09012SAndroid Build Coastguard Worker RecordLocation record_location = 2; 1278*d5c09012SAndroid Build Coastguard Worker 1279*d5c09012SAndroid Build Coastguard Worker // Location within an image's pixels. 1280*d5c09012SAndroid Build Coastguard Worker ImageLocation image_location = 3; 1281*d5c09012SAndroid Build Coastguard Worker 1282*d5c09012SAndroid Build Coastguard Worker // Location data for document files. 1283*d5c09012SAndroid Build Coastguard Worker DocumentLocation document_location = 5; 1284*d5c09012SAndroid Build Coastguard Worker 1285*d5c09012SAndroid Build Coastguard Worker // Location within the metadata for inspected content. 1286*d5c09012SAndroid Build Coastguard Worker MetadataLocation metadata_location = 8; 1287*d5c09012SAndroid Build Coastguard Worker } 1288*d5c09012SAndroid Build Coastguard Worker 1289*d5c09012SAndroid Build Coastguard Worker // Finding container modification timestamp, if applicable. For Cloud Storage, 1290*d5c09012SAndroid Build Coastguard Worker // this field contains the last file modification timestamp. For a BigQuery 1291*d5c09012SAndroid Build Coastguard Worker // table, this field contains the last_modified_time property. For Datastore, 1292*d5c09012SAndroid Build Coastguard Worker // this field isn't populated. 1293*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp container_timestamp = 6; 1294*d5c09012SAndroid Build Coastguard Worker 1295*d5c09012SAndroid Build Coastguard Worker // Finding container version, if available 1296*d5c09012SAndroid Build Coastguard Worker // ("generation" for Cloud Storage). 1297*d5c09012SAndroid Build Coastguard Worker string container_version = 7; 1298*d5c09012SAndroid Build Coastguard Worker} 1299*d5c09012SAndroid Build Coastguard Worker 1300*d5c09012SAndroid Build Coastguard Worker// Metadata Location 1301*d5c09012SAndroid Build Coastguard Workermessage MetadataLocation { 1302*d5c09012SAndroid Build Coastguard Worker // Type of metadata containing the finding. 1303*d5c09012SAndroid Build Coastguard Worker MetadataType type = 1; 1304*d5c09012SAndroid Build Coastguard Worker 1305*d5c09012SAndroid Build Coastguard Worker // Label of the piece of metadata containing the finding, for example - 1306*d5c09012SAndroid Build Coastguard Worker // latitude, author, caption. 1307*d5c09012SAndroid Build Coastguard Worker oneof label { 1308*d5c09012SAndroid Build Coastguard Worker // Storage metadata. 1309*d5c09012SAndroid Build Coastguard Worker StorageMetadataLabel storage_label = 3; 1310*d5c09012SAndroid Build Coastguard Worker } 1311*d5c09012SAndroid Build Coastguard Worker} 1312*d5c09012SAndroid Build Coastguard Worker 1313*d5c09012SAndroid Build Coastguard Worker// Storage metadata label to indicate which metadata entry contains findings. 1314*d5c09012SAndroid Build Coastguard Workermessage StorageMetadataLabel { 1315*d5c09012SAndroid Build Coastguard Worker // Label name. 1316*d5c09012SAndroid Build Coastguard Worker string key = 1; 1317*d5c09012SAndroid Build Coastguard Worker} 1318*d5c09012SAndroid Build Coastguard Worker 1319*d5c09012SAndroid Build Coastguard Worker// Location of a finding within a document. 1320*d5c09012SAndroid Build Coastguard Workermessage DocumentLocation { 1321*d5c09012SAndroid Build Coastguard Worker // Offset of the line, from the beginning of the file, where the finding 1322*d5c09012SAndroid Build Coastguard Worker // is located. 1323*d5c09012SAndroid Build Coastguard Worker int64 file_offset = 1; 1324*d5c09012SAndroid Build Coastguard Worker} 1325*d5c09012SAndroid Build Coastguard Worker 1326*d5c09012SAndroid Build Coastguard Worker// Location of a finding within a row or record. 1327*d5c09012SAndroid Build Coastguard Workermessage RecordLocation { 1328*d5c09012SAndroid Build Coastguard Worker // Key of the finding. 1329*d5c09012SAndroid Build Coastguard Worker RecordKey record_key = 1; 1330*d5c09012SAndroid Build Coastguard Worker 1331*d5c09012SAndroid Build Coastguard Worker // Field id of the field containing the finding. 1332*d5c09012SAndroid Build Coastguard Worker FieldId field_id = 2; 1333*d5c09012SAndroid Build Coastguard Worker 1334*d5c09012SAndroid Build Coastguard Worker // Location within a `ContentItem.Table`. 1335*d5c09012SAndroid Build Coastguard Worker TableLocation table_location = 3; 1336*d5c09012SAndroid Build Coastguard Worker} 1337*d5c09012SAndroid Build Coastguard Worker 1338*d5c09012SAndroid Build Coastguard Worker// Location of a finding within a table. 1339*d5c09012SAndroid Build Coastguard Workermessage TableLocation { 1340*d5c09012SAndroid Build Coastguard Worker // The zero-based index of the row where the finding is located. Only 1341*d5c09012SAndroid Build Coastguard Worker // populated for resources that have a natural ordering, not BigQuery. In 1342*d5c09012SAndroid Build Coastguard Worker // BigQuery, to identify the row a finding came from, populate 1343*d5c09012SAndroid Build Coastguard Worker // BigQueryOptions.identifying_fields with your primary key column names and 1344*d5c09012SAndroid Build Coastguard Worker // when you store the findings the value of those columns will be stored 1345*d5c09012SAndroid Build Coastguard Worker // inside of Finding. 1346*d5c09012SAndroid Build Coastguard Worker int64 row_index = 1; 1347*d5c09012SAndroid Build Coastguard Worker} 1348*d5c09012SAndroid Build Coastguard Worker 1349*d5c09012SAndroid Build Coastguard Worker// Represents a container that may contain DLP findings. 1350*d5c09012SAndroid Build Coastguard Worker// Examples of a container include a file, table, or database record. 1351*d5c09012SAndroid Build Coastguard Workermessage Container { 1352*d5c09012SAndroid Build Coastguard Worker // Container type, for example BigQuery or Cloud Storage. 1353*d5c09012SAndroid Build Coastguard Worker string type = 1; 1354*d5c09012SAndroid Build Coastguard Worker 1355*d5c09012SAndroid Build Coastguard Worker // Project where the finding was found. 1356*d5c09012SAndroid Build Coastguard Worker // Can be different from the project that owns the finding. 1357*d5c09012SAndroid Build Coastguard Worker string project_id = 2; 1358*d5c09012SAndroid Build Coastguard Worker 1359*d5c09012SAndroid Build Coastguard Worker // A string representation of the full container name. 1360*d5c09012SAndroid Build Coastguard Worker // Examples: 1361*d5c09012SAndroid Build Coastguard Worker // - BigQuery: 'Project:DataSetId.TableId' 1362*d5c09012SAndroid Build Coastguard Worker // - Cloud Storage: 'gs://Bucket/folders/filename.txt' 1363*d5c09012SAndroid Build Coastguard Worker string full_path = 3; 1364*d5c09012SAndroid Build Coastguard Worker 1365*d5c09012SAndroid Build Coastguard Worker // The root of the container. 1366*d5c09012SAndroid Build Coastguard Worker // Examples: 1367*d5c09012SAndroid Build Coastguard Worker // 1368*d5c09012SAndroid Build Coastguard Worker // - For BigQuery table `project_id:dataset_id.table_id`, the root is 1369*d5c09012SAndroid Build Coastguard Worker // `dataset_id` 1370*d5c09012SAndroid Build Coastguard Worker // - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root 1371*d5c09012SAndroid Build Coastguard Worker // is `gs://bucket` 1372*d5c09012SAndroid Build Coastguard Worker string root_path = 4; 1373*d5c09012SAndroid Build Coastguard Worker 1374*d5c09012SAndroid Build Coastguard Worker // The rest of the path after the root. 1375*d5c09012SAndroid Build Coastguard Worker // Examples: 1376*d5c09012SAndroid Build Coastguard Worker // 1377*d5c09012SAndroid Build Coastguard Worker // - For BigQuery table `project_id:dataset_id.table_id`, the relative path is 1378*d5c09012SAndroid Build Coastguard Worker // `table_id` 1379*d5c09012SAndroid Build Coastguard Worker // - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative 1380*d5c09012SAndroid Build Coastguard Worker // path is `folder/filename.txt` 1381*d5c09012SAndroid Build Coastguard Worker string relative_path = 5; 1382*d5c09012SAndroid Build Coastguard Worker 1383*d5c09012SAndroid Build Coastguard Worker // Findings container modification timestamp, if applicable. For Cloud 1384*d5c09012SAndroid Build Coastguard Worker // Storage, this field contains the last file modification timestamp. For a 1385*d5c09012SAndroid Build Coastguard Worker // BigQuery table, this field contains the last_modified_time property. For 1386*d5c09012SAndroid Build Coastguard Worker // Datastore, this field isn't populated. 1387*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 6; 1388*d5c09012SAndroid Build Coastguard Worker 1389*d5c09012SAndroid Build Coastguard Worker // Findings container version, if available 1390*d5c09012SAndroid Build Coastguard Worker // ("generation" for Cloud Storage). 1391*d5c09012SAndroid Build Coastguard Worker string version = 7; 1392*d5c09012SAndroid Build Coastguard Worker} 1393*d5c09012SAndroid Build Coastguard Worker 1394*d5c09012SAndroid Build Coastguard Worker// Generic half-open interval [start, end) 1395*d5c09012SAndroid Build Coastguard Workermessage Range { 1396*d5c09012SAndroid Build Coastguard Worker // Index of the first character of the range (inclusive). 1397*d5c09012SAndroid Build Coastguard Worker int64 start = 1; 1398*d5c09012SAndroid Build Coastguard Worker 1399*d5c09012SAndroid Build Coastguard Worker // Index of the last character of the range (exclusive). 1400*d5c09012SAndroid Build Coastguard Worker int64 end = 2; 1401*d5c09012SAndroid Build Coastguard Worker} 1402*d5c09012SAndroid Build Coastguard Worker 1403*d5c09012SAndroid Build Coastguard Worker// Location of the finding within an image. 1404*d5c09012SAndroid Build Coastguard Workermessage ImageLocation { 1405*d5c09012SAndroid Build Coastguard Worker // Bounding boxes locating the pixels within the image containing the finding. 1406*d5c09012SAndroid Build Coastguard Worker repeated BoundingBox bounding_boxes = 1; 1407*d5c09012SAndroid Build Coastguard Worker} 1408*d5c09012SAndroid Build Coastguard Worker 1409*d5c09012SAndroid Build Coastguard Worker// Bounding box encompassing detected text within an image. 1410*d5c09012SAndroid Build Coastguard Workermessage BoundingBox { 1411*d5c09012SAndroid Build Coastguard Worker // Top coordinate of the bounding box. (0,0) is upper left. 1412*d5c09012SAndroid Build Coastguard Worker int32 top = 1; 1413*d5c09012SAndroid Build Coastguard Worker 1414*d5c09012SAndroid Build Coastguard Worker // Left coordinate of the bounding box. (0,0) is upper left. 1415*d5c09012SAndroid Build Coastguard Worker int32 left = 2; 1416*d5c09012SAndroid Build Coastguard Worker 1417*d5c09012SAndroid Build Coastguard Worker // Width of the bounding box in pixels. 1418*d5c09012SAndroid Build Coastguard Worker int32 width = 3; 1419*d5c09012SAndroid Build Coastguard Worker 1420*d5c09012SAndroid Build Coastguard Worker // Height of the bounding box in pixels. 1421*d5c09012SAndroid Build Coastguard Worker int32 height = 4; 1422*d5c09012SAndroid Build Coastguard Worker} 1423*d5c09012SAndroid Build Coastguard Worker 1424*d5c09012SAndroid Build Coastguard Worker// Request to search for potentially sensitive info in an image and redact it 1425*d5c09012SAndroid Build Coastguard Worker// by covering it with a colored rectangle. 1426*d5c09012SAndroid Build Coastguard Workermessage RedactImageRequest { 1427*d5c09012SAndroid Build Coastguard Worker // Configuration for determining how redaction of images should occur. 1428*d5c09012SAndroid Build Coastguard Worker message ImageRedactionConfig { 1429*d5c09012SAndroid Build Coastguard Worker // Type of information to redact from images. 1430*d5c09012SAndroid Build Coastguard Worker oneof target { 1431*d5c09012SAndroid Build Coastguard Worker // Only one per info_type should be provided per request. If not 1432*d5c09012SAndroid Build Coastguard Worker // specified, and redact_all_text is false, the DLP API will redact all 1433*d5c09012SAndroid Build Coastguard Worker // text that it matches against all info_types that are found, but not 1434*d5c09012SAndroid Build Coastguard Worker // specified in another ImageRedactionConfig. 1435*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 1; 1436*d5c09012SAndroid Build Coastguard Worker 1437*d5c09012SAndroid Build Coastguard Worker // If true, all text found in the image, regardless whether it matches an 1438*d5c09012SAndroid Build Coastguard Worker // info_type, is redacted. Only one should be provided. 1439*d5c09012SAndroid Build Coastguard Worker bool redact_all_text = 2; 1440*d5c09012SAndroid Build Coastguard Worker } 1441*d5c09012SAndroid Build Coastguard Worker 1442*d5c09012SAndroid Build Coastguard Worker // The color to use when redacting content from an image. If not specified, 1443*d5c09012SAndroid Build Coastguard Worker // the default is black. 1444*d5c09012SAndroid Build Coastguard Worker Color redaction_color = 3; 1445*d5c09012SAndroid Build Coastguard Worker } 1446*d5c09012SAndroid Build Coastguard Worker 1447*d5c09012SAndroid Build Coastguard Worker // Parent resource name. 1448*d5c09012SAndroid Build Coastguard Worker // 1449*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 1450*d5c09012SAndroid Build Coastguard Worker // processing 1451*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 1452*d5c09012SAndroid Build Coastguard Worker // 1453*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 1454*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 1455*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 1456*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 1457*d5c09012SAndroid Build Coastguard Worker // 1458*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 1459*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 1460*d5c09012SAndroid Build Coastguard Worker // for processing data: 1461*d5c09012SAndroid Build Coastguard Worker // 1462*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 1463*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.resource_reference) = { 1464*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DlpContent" 1465*d5c09012SAndroid Build Coastguard Worker }]; 1466*d5c09012SAndroid Build Coastguard Worker 1467*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 1468*d5c09012SAndroid Build Coastguard Worker string location_id = 8; 1469*d5c09012SAndroid Build Coastguard Worker 1470*d5c09012SAndroid Build Coastguard Worker // Configuration for the inspector. 1471*d5c09012SAndroid Build Coastguard Worker InspectConfig inspect_config = 2; 1472*d5c09012SAndroid Build Coastguard Worker 1473*d5c09012SAndroid Build Coastguard Worker // The configuration for specifying what content to redact from images. 1474*d5c09012SAndroid Build Coastguard Worker repeated ImageRedactionConfig image_redaction_configs = 5; 1475*d5c09012SAndroid Build Coastguard Worker 1476*d5c09012SAndroid Build Coastguard Worker // Whether the response should include findings along with the redacted 1477*d5c09012SAndroid Build Coastguard Worker // image. 1478*d5c09012SAndroid Build Coastguard Worker bool include_findings = 6; 1479*d5c09012SAndroid Build Coastguard Worker 1480*d5c09012SAndroid Build Coastguard Worker // The content must be PNG, JPEG, SVG or BMP. 1481*d5c09012SAndroid Build Coastguard Worker ByteContentItem byte_item = 7; 1482*d5c09012SAndroid Build Coastguard Worker} 1483*d5c09012SAndroid Build Coastguard Worker 1484*d5c09012SAndroid Build Coastguard Worker// Represents a color in the RGB color space. 1485*d5c09012SAndroid Build Coastguard Workermessage Color { 1486*d5c09012SAndroid Build Coastguard Worker // The amount of red in the color as a value in the interval [0, 1]. 1487*d5c09012SAndroid Build Coastguard Worker float red = 1; 1488*d5c09012SAndroid Build Coastguard Worker 1489*d5c09012SAndroid Build Coastguard Worker // The amount of green in the color as a value in the interval [0, 1]. 1490*d5c09012SAndroid Build Coastguard Worker float green = 2; 1491*d5c09012SAndroid Build Coastguard Worker 1492*d5c09012SAndroid Build Coastguard Worker // The amount of blue in the color as a value in the interval [0, 1]. 1493*d5c09012SAndroid Build Coastguard Worker float blue = 3; 1494*d5c09012SAndroid Build Coastguard Worker} 1495*d5c09012SAndroid Build Coastguard Worker 1496*d5c09012SAndroid Build Coastguard Worker// Results of redacting an image. 1497*d5c09012SAndroid Build Coastguard Workermessage RedactImageResponse { 1498*d5c09012SAndroid Build Coastguard Worker // The redacted image. The type will be the same as the original image. 1499*d5c09012SAndroid Build Coastguard Worker bytes redacted_image = 1; 1500*d5c09012SAndroid Build Coastguard Worker 1501*d5c09012SAndroid Build Coastguard Worker // If an image was being inspected and the InspectConfig's include_quote was 1502*d5c09012SAndroid Build Coastguard Worker // set to true, then this field will include all text, if any, that was found 1503*d5c09012SAndroid Build Coastguard Worker // in the image. 1504*d5c09012SAndroid Build Coastguard Worker string extracted_text = 2; 1505*d5c09012SAndroid Build Coastguard Worker 1506*d5c09012SAndroid Build Coastguard Worker // The findings. Populated when include_findings in the request is true. 1507*d5c09012SAndroid Build Coastguard Worker InspectResult inspect_result = 3; 1508*d5c09012SAndroid Build Coastguard Worker} 1509*d5c09012SAndroid Build Coastguard Worker 1510*d5c09012SAndroid Build Coastguard Worker// Request to de-identify a ContentItem. 1511*d5c09012SAndroid Build Coastguard Workermessage DeidentifyContentRequest { 1512*d5c09012SAndroid Build Coastguard Worker // Parent resource name. 1513*d5c09012SAndroid Build Coastguard Worker // 1514*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 1515*d5c09012SAndroid Build Coastguard Worker // processing 1516*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 1517*d5c09012SAndroid Build Coastguard Worker // 1518*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 1519*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 1520*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 1521*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 1522*d5c09012SAndroid Build Coastguard Worker // 1523*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 1524*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 1525*d5c09012SAndroid Build Coastguard Worker // for processing data: 1526*d5c09012SAndroid Build Coastguard Worker // 1527*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 1528*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.resource_reference) = { 1529*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DlpContent" 1530*d5c09012SAndroid Build Coastguard Worker }]; 1531*d5c09012SAndroid Build Coastguard Worker 1532*d5c09012SAndroid Build Coastguard Worker // Configuration for the de-identification of the content item. 1533*d5c09012SAndroid Build Coastguard Worker // Items specified here will override the template referenced by the 1534*d5c09012SAndroid Build Coastguard Worker // deidentify_template_name argument. 1535*d5c09012SAndroid Build Coastguard Worker DeidentifyConfig deidentify_config = 2; 1536*d5c09012SAndroid Build Coastguard Worker 1537*d5c09012SAndroid Build Coastguard Worker // Configuration for the inspector. 1538*d5c09012SAndroid Build Coastguard Worker // Items specified here will override the template referenced by the 1539*d5c09012SAndroid Build Coastguard Worker // inspect_template_name argument. 1540*d5c09012SAndroid Build Coastguard Worker InspectConfig inspect_config = 3; 1541*d5c09012SAndroid Build Coastguard Worker 1542*d5c09012SAndroid Build Coastguard Worker // The item to de-identify. Will be treated as text. 1543*d5c09012SAndroid Build Coastguard Worker // 1544*d5c09012SAndroid Build Coastguard Worker // This value must be of type 1545*d5c09012SAndroid Build Coastguard Worker // [Table][google.privacy.dlp.v2.Table] if your 1546*d5c09012SAndroid Build Coastguard Worker // [deidentify_config][google.privacy.dlp.v2.DeidentifyContentRequest.deidentify_config] 1547*d5c09012SAndroid Build Coastguard Worker // is a 1548*d5c09012SAndroid Build Coastguard Worker // [RecordTransformations][google.privacy.dlp.v2.RecordTransformations] 1549*d5c09012SAndroid Build Coastguard Worker // object. 1550*d5c09012SAndroid Build Coastguard Worker ContentItem item = 4; 1551*d5c09012SAndroid Build Coastguard Worker 1552*d5c09012SAndroid Build Coastguard Worker // Template to use. Any configuration directly specified in 1553*d5c09012SAndroid Build Coastguard Worker // inspect_config will override those set in the template. Singular fields 1554*d5c09012SAndroid Build Coastguard Worker // that are set in this request will replace their corresponding fields in the 1555*d5c09012SAndroid Build Coastguard Worker // template. Repeated fields are appended. Singular sub-messages and groups 1556*d5c09012SAndroid Build Coastguard Worker // are recursively merged. 1557*d5c09012SAndroid Build Coastguard Worker string inspect_template_name = 5; 1558*d5c09012SAndroid Build Coastguard Worker 1559*d5c09012SAndroid Build Coastguard Worker // Template to use. Any configuration directly specified in 1560*d5c09012SAndroid Build Coastguard Worker // deidentify_config will override those set in the template. Singular fields 1561*d5c09012SAndroid Build Coastguard Worker // that are set in this request will replace their corresponding fields in the 1562*d5c09012SAndroid Build Coastguard Worker // template. Repeated fields are appended. Singular sub-messages and groups 1563*d5c09012SAndroid Build Coastguard Worker // are recursively merged. 1564*d5c09012SAndroid Build Coastguard Worker string deidentify_template_name = 6; 1565*d5c09012SAndroid Build Coastguard Worker 1566*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 1567*d5c09012SAndroid Build Coastguard Worker string location_id = 7; 1568*d5c09012SAndroid Build Coastguard Worker} 1569*d5c09012SAndroid Build Coastguard Worker 1570*d5c09012SAndroid Build Coastguard Worker// Results of de-identifying a ContentItem. 1571*d5c09012SAndroid Build Coastguard Workermessage DeidentifyContentResponse { 1572*d5c09012SAndroid Build Coastguard Worker // The de-identified item. 1573*d5c09012SAndroid Build Coastguard Worker ContentItem item = 1; 1574*d5c09012SAndroid Build Coastguard Worker 1575*d5c09012SAndroid Build Coastguard Worker // An overview of the changes that were made on the `item`. 1576*d5c09012SAndroid Build Coastguard Worker TransformationOverview overview = 2; 1577*d5c09012SAndroid Build Coastguard Worker} 1578*d5c09012SAndroid Build Coastguard Worker 1579*d5c09012SAndroid Build Coastguard Worker// Request to re-identify an item. 1580*d5c09012SAndroid Build Coastguard Workermessage ReidentifyContentRequest { 1581*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 1582*d5c09012SAndroid Build Coastguard Worker // 1583*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 1584*d5c09012SAndroid Build Coastguard Worker // processing 1585*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 1586*d5c09012SAndroid Build Coastguard Worker // 1587*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 1588*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 1589*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 1590*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 1591*d5c09012SAndroid Build Coastguard Worker // 1592*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 1593*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 1594*d5c09012SAndroid Build Coastguard Worker // for processing data: 1595*d5c09012SAndroid Build Coastguard Worker // 1596*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 1597*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1598*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1599*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1600*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DlpContent" 1601*d5c09012SAndroid Build Coastguard Worker } 1602*d5c09012SAndroid Build Coastguard Worker ]; 1603*d5c09012SAndroid Build Coastguard Worker 1604*d5c09012SAndroid Build Coastguard Worker // Configuration for the re-identification of the content item. 1605*d5c09012SAndroid Build Coastguard Worker // This field shares the same proto message type that is used for 1606*d5c09012SAndroid Build Coastguard Worker // de-identification, however its usage here is for the reversal of the 1607*d5c09012SAndroid Build Coastguard Worker // previous de-identification. Re-identification is performed by examining 1608*d5c09012SAndroid Build Coastguard Worker // the transformations used to de-identify the items and executing the 1609*d5c09012SAndroid Build Coastguard Worker // reverse. This requires that only reversible transformations 1610*d5c09012SAndroid Build Coastguard Worker // be provided here. The reversible transformations are: 1611*d5c09012SAndroid Build Coastguard Worker // 1612*d5c09012SAndroid Build Coastguard Worker // - `CryptoDeterministicConfig` 1613*d5c09012SAndroid Build Coastguard Worker // - `CryptoReplaceFfxFpeConfig` 1614*d5c09012SAndroid Build Coastguard Worker DeidentifyConfig reidentify_config = 2; 1615*d5c09012SAndroid Build Coastguard Worker 1616*d5c09012SAndroid Build Coastguard Worker // Configuration for the inspector. 1617*d5c09012SAndroid Build Coastguard Worker InspectConfig inspect_config = 3; 1618*d5c09012SAndroid Build Coastguard Worker 1619*d5c09012SAndroid Build Coastguard Worker // The item to re-identify. Will be treated as text. 1620*d5c09012SAndroid Build Coastguard Worker ContentItem item = 4; 1621*d5c09012SAndroid Build Coastguard Worker 1622*d5c09012SAndroid Build Coastguard Worker // Template to use. Any configuration directly specified in 1623*d5c09012SAndroid Build Coastguard Worker // `inspect_config` will override those set in the template. Singular fields 1624*d5c09012SAndroid Build Coastguard Worker // that are set in this request will replace their corresponding fields in the 1625*d5c09012SAndroid Build Coastguard Worker // template. Repeated fields are appended. Singular sub-messages and groups 1626*d5c09012SAndroid Build Coastguard Worker // are recursively merged. 1627*d5c09012SAndroid Build Coastguard Worker string inspect_template_name = 5; 1628*d5c09012SAndroid Build Coastguard Worker 1629*d5c09012SAndroid Build Coastguard Worker // Template to use. References an instance of `DeidentifyTemplate`. 1630*d5c09012SAndroid Build Coastguard Worker // Any configuration directly specified in `reidentify_config` or 1631*d5c09012SAndroid Build Coastguard Worker // `inspect_config` will override those set in the template. The 1632*d5c09012SAndroid Build Coastguard Worker // `DeidentifyTemplate` used must include only reversible transformations. 1633*d5c09012SAndroid Build Coastguard Worker // Singular fields that are set in this request will replace their 1634*d5c09012SAndroid Build Coastguard Worker // corresponding fields in the template. Repeated fields are appended. 1635*d5c09012SAndroid Build Coastguard Worker // Singular sub-messages and groups are recursively merged. 1636*d5c09012SAndroid Build Coastguard Worker string reidentify_template_name = 6; 1637*d5c09012SAndroid Build Coastguard Worker 1638*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 1639*d5c09012SAndroid Build Coastguard Worker string location_id = 7; 1640*d5c09012SAndroid Build Coastguard Worker} 1641*d5c09012SAndroid Build Coastguard Worker 1642*d5c09012SAndroid Build Coastguard Worker// Results of re-identifying an item. 1643*d5c09012SAndroid Build Coastguard Workermessage ReidentifyContentResponse { 1644*d5c09012SAndroid Build Coastguard Worker // The re-identified item. 1645*d5c09012SAndroid Build Coastguard Worker ContentItem item = 1; 1646*d5c09012SAndroid Build Coastguard Worker 1647*d5c09012SAndroid Build Coastguard Worker // An overview of the changes that were made to the `item`. 1648*d5c09012SAndroid Build Coastguard Worker TransformationOverview overview = 2; 1649*d5c09012SAndroid Build Coastguard Worker} 1650*d5c09012SAndroid Build Coastguard Worker 1651*d5c09012SAndroid Build Coastguard Worker// Request to search for potentially sensitive info in a ContentItem. 1652*d5c09012SAndroid Build Coastguard Workermessage InspectContentRequest { 1653*d5c09012SAndroid Build Coastguard Worker // Parent resource name. 1654*d5c09012SAndroid Build Coastguard Worker // 1655*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 1656*d5c09012SAndroid Build Coastguard Worker // processing 1657*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 1658*d5c09012SAndroid Build Coastguard Worker // 1659*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 1660*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 1661*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 1662*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 1663*d5c09012SAndroid Build Coastguard Worker // 1664*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 1665*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 1666*d5c09012SAndroid Build Coastguard Worker // for processing data: 1667*d5c09012SAndroid Build Coastguard Worker // 1668*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 1669*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.resource_reference) = { 1670*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DlpContent" 1671*d5c09012SAndroid Build Coastguard Worker }]; 1672*d5c09012SAndroid Build Coastguard Worker 1673*d5c09012SAndroid Build Coastguard Worker // Configuration for the inspector. What specified here will override 1674*d5c09012SAndroid Build Coastguard Worker // the template referenced by the inspect_template_name argument. 1675*d5c09012SAndroid Build Coastguard Worker InspectConfig inspect_config = 2; 1676*d5c09012SAndroid Build Coastguard Worker 1677*d5c09012SAndroid Build Coastguard Worker // The item to inspect. 1678*d5c09012SAndroid Build Coastguard Worker ContentItem item = 3; 1679*d5c09012SAndroid Build Coastguard Worker 1680*d5c09012SAndroid Build Coastguard Worker // Template to use. Any configuration directly specified in 1681*d5c09012SAndroid Build Coastguard Worker // inspect_config will override those set in the template. Singular fields 1682*d5c09012SAndroid Build Coastguard Worker // that are set in this request will replace their corresponding fields in the 1683*d5c09012SAndroid Build Coastguard Worker // template. Repeated fields are appended. Singular sub-messages and groups 1684*d5c09012SAndroid Build Coastguard Worker // are recursively merged. 1685*d5c09012SAndroid Build Coastguard Worker string inspect_template_name = 4; 1686*d5c09012SAndroid Build Coastguard Worker 1687*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 1688*d5c09012SAndroid Build Coastguard Worker string location_id = 5; 1689*d5c09012SAndroid Build Coastguard Worker} 1690*d5c09012SAndroid Build Coastguard Worker 1691*d5c09012SAndroid Build Coastguard Worker// Results of inspecting an item. 1692*d5c09012SAndroid Build Coastguard Workermessage InspectContentResponse { 1693*d5c09012SAndroid Build Coastguard Worker // The findings. 1694*d5c09012SAndroid Build Coastguard Worker InspectResult result = 1; 1695*d5c09012SAndroid Build Coastguard Worker} 1696*d5c09012SAndroid Build Coastguard Worker 1697*d5c09012SAndroid Build Coastguard Worker// Cloud repository for storing output. 1698*d5c09012SAndroid Build Coastguard Workermessage OutputStorageConfig { 1699*d5c09012SAndroid Build Coastguard Worker // Predefined schemas for storing findings. 1700*d5c09012SAndroid Build Coastguard Worker // Only for use with external storage. 1701*d5c09012SAndroid Build Coastguard Worker enum OutputSchema { 1702*d5c09012SAndroid Build Coastguard Worker // Unused. 1703*d5c09012SAndroid Build Coastguard Worker OUTPUT_SCHEMA_UNSPECIFIED = 0; 1704*d5c09012SAndroid Build Coastguard Worker 1705*d5c09012SAndroid Build Coastguard Worker // Basic schema including only `info_type`, `quote`, `certainty`, and 1706*d5c09012SAndroid Build Coastguard Worker // `timestamp`. 1707*d5c09012SAndroid Build Coastguard Worker BASIC_COLUMNS = 1; 1708*d5c09012SAndroid Build Coastguard Worker 1709*d5c09012SAndroid Build Coastguard Worker // Schema tailored to findings from scanning Cloud Storage. 1710*d5c09012SAndroid Build Coastguard Worker GCS_COLUMNS = 2; 1711*d5c09012SAndroid Build Coastguard Worker 1712*d5c09012SAndroid Build Coastguard Worker // Schema tailored to findings from scanning Google Datastore. 1713*d5c09012SAndroid Build Coastguard Worker DATASTORE_COLUMNS = 3; 1714*d5c09012SAndroid Build Coastguard Worker 1715*d5c09012SAndroid Build Coastguard Worker // Schema tailored to findings from scanning Google BigQuery. 1716*d5c09012SAndroid Build Coastguard Worker BIG_QUERY_COLUMNS = 4; 1717*d5c09012SAndroid Build Coastguard Worker 1718*d5c09012SAndroid Build Coastguard Worker // Schema containing all columns. 1719*d5c09012SAndroid Build Coastguard Worker ALL_COLUMNS = 5; 1720*d5c09012SAndroid Build Coastguard Worker } 1721*d5c09012SAndroid Build Coastguard Worker 1722*d5c09012SAndroid Build Coastguard Worker // Output storage types. 1723*d5c09012SAndroid Build Coastguard Worker oneof type { 1724*d5c09012SAndroid Build Coastguard Worker // Store findings in an existing table or a new table in an existing 1725*d5c09012SAndroid Build Coastguard Worker // dataset. If table_id is not set a new one will be generated 1726*d5c09012SAndroid Build Coastguard Worker // for you with the following format: 1727*d5c09012SAndroid Build Coastguard Worker // dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used 1728*d5c09012SAndroid Build Coastguard Worker // for generating the date details. 1729*d5c09012SAndroid Build Coastguard Worker // 1730*d5c09012SAndroid Build Coastguard Worker // For Inspect, each column in an existing output table must have the same 1731*d5c09012SAndroid Build Coastguard Worker // name, type, and mode of a field in the `Finding` object. 1732*d5c09012SAndroid Build Coastguard Worker // 1733*d5c09012SAndroid Build Coastguard Worker // For Risk, an existing output table should be the output of a previous 1734*d5c09012SAndroid Build Coastguard Worker // Risk analysis job run on the same source table, with the same privacy 1735*d5c09012SAndroid Build Coastguard Worker // metric and quasi-identifiers. Risk jobs that analyze the same table but 1736*d5c09012SAndroid Build Coastguard Worker // compute a different privacy metric, or use different sets of 1737*d5c09012SAndroid Build Coastguard Worker // quasi-identifiers, cannot store their results in the same table. 1738*d5c09012SAndroid Build Coastguard Worker BigQueryTable table = 1; 1739*d5c09012SAndroid Build Coastguard Worker } 1740*d5c09012SAndroid Build Coastguard Worker 1741*d5c09012SAndroid Build Coastguard Worker // Schema used for writing the findings for Inspect jobs. This field is only 1742*d5c09012SAndroid Build Coastguard Worker // used for Inspect and must be unspecified for Risk jobs. Columns are derived 1743*d5c09012SAndroid Build Coastguard Worker // from the `Finding` object. If appending to an existing table, any columns 1744*d5c09012SAndroid Build Coastguard Worker // from the predefined schema that are missing will be added. No columns in 1745*d5c09012SAndroid Build Coastguard Worker // the existing table will be deleted. 1746*d5c09012SAndroid Build Coastguard Worker // 1747*d5c09012SAndroid Build Coastguard Worker // If unspecified, then all available columns will be used for a new table or 1748*d5c09012SAndroid Build Coastguard Worker // an (existing) table with no schema, and no changes will be made to an 1749*d5c09012SAndroid Build Coastguard Worker // existing table that has a schema. 1750*d5c09012SAndroid Build Coastguard Worker // Only for use with external storage. 1751*d5c09012SAndroid Build Coastguard Worker OutputSchema output_schema = 3; 1752*d5c09012SAndroid Build Coastguard Worker} 1753*d5c09012SAndroid Build Coastguard Worker 1754*d5c09012SAndroid Build Coastguard Worker// Statistics regarding a specific InfoType. 1755*d5c09012SAndroid Build Coastguard Workermessage InfoTypeStats { 1756*d5c09012SAndroid Build Coastguard Worker // The type of finding this stat is for. 1757*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 1; 1758*d5c09012SAndroid Build Coastguard Worker 1759*d5c09012SAndroid Build Coastguard Worker // Number of findings for this infoType. 1760*d5c09012SAndroid Build Coastguard Worker int64 count = 2; 1761*d5c09012SAndroid Build Coastguard Worker} 1762*d5c09012SAndroid Build Coastguard Worker 1763*d5c09012SAndroid Build Coastguard Worker// The results of an inspect DataSource job. 1764*d5c09012SAndroid Build Coastguard Workermessage InspectDataSourceDetails { 1765*d5c09012SAndroid Build Coastguard Worker // Snapshot of the inspection configuration. 1766*d5c09012SAndroid Build Coastguard Worker message RequestedOptions { 1767*d5c09012SAndroid Build Coastguard Worker // If run with an InspectTemplate, a snapshot of its state at the time of 1768*d5c09012SAndroid Build Coastguard Worker // this run. 1769*d5c09012SAndroid Build Coastguard Worker InspectTemplate snapshot_inspect_template = 1; 1770*d5c09012SAndroid Build Coastguard Worker 1771*d5c09012SAndroid Build Coastguard Worker // Inspect config. 1772*d5c09012SAndroid Build Coastguard Worker InspectJobConfig job_config = 3; 1773*d5c09012SAndroid Build Coastguard Worker } 1774*d5c09012SAndroid Build Coastguard Worker 1775*d5c09012SAndroid Build Coastguard Worker // All result fields mentioned below are updated while the job is processing. 1776*d5c09012SAndroid Build Coastguard Worker message Result { 1777*d5c09012SAndroid Build Coastguard Worker // Total size in bytes that were processed. 1778*d5c09012SAndroid Build Coastguard Worker int64 processed_bytes = 1; 1779*d5c09012SAndroid Build Coastguard Worker 1780*d5c09012SAndroid Build Coastguard Worker // Estimate of the number of bytes to process. 1781*d5c09012SAndroid Build Coastguard Worker int64 total_estimated_bytes = 2; 1782*d5c09012SAndroid Build Coastguard Worker 1783*d5c09012SAndroid Build Coastguard Worker // Statistics of how many instances of each info type were found during 1784*d5c09012SAndroid Build Coastguard Worker // inspect job. 1785*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeStats info_type_stats = 3; 1786*d5c09012SAndroid Build Coastguard Worker 1787*d5c09012SAndroid Build Coastguard Worker // Statistics related to the processing of hybrid inspect. 1788*d5c09012SAndroid Build Coastguard Worker HybridInspectStatistics hybrid_stats = 7; 1789*d5c09012SAndroid Build Coastguard Worker } 1790*d5c09012SAndroid Build Coastguard Worker 1791*d5c09012SAndroid Build Coastguard Worker // The configuration used for this job. 1792*d5c09012SAndroid Build Coastguard Worker RequestedOptions requested_options = 2; 1793*d5c09012SAndroid Build Coastguard Worker 1794*d5c09012SAndroid Build Coastguard Worker // A summary of the outcome of this inspection job. 1795*d5c09012SAndroid Build Coastguard Worker Result result = 3; 1796*d5c09012SAndroid Build Coastguard Worker} 1797*d5c09012SAndroid Build Coastguard Worker 1798*d5c09012SAndroid Build Coastguard Worker// The schema of data to be saved to the BigQuery table when the 1799*d5c09012SAndroid Build Coastguard Worker// `DataProfileAction` is enabled. 1800*d5c09012SAndroid Build Coastguard Workermessage DataProfileBigQueryRowSchema { 1801*d5c09012SAndroid Build Coastguard Worker // Data profile type. 1802*d5c09012SAndroid Build Coastguard Worker oneof data_profile { 1803*d5c09012SAndroid Build Coastguard Worker // Table data profile column 1804*d5c09012SAndroid Build Coastguard Worker TableDataProfile table_profile = 1; 1805*d5c09012SAndroid Build Coastguard Worker 1806*d5c09012SAndroid Build Coastguard Worker // Column data profile column 1807*d5c09012SAndroid Build Coastguard Worker ColumnDataProfile column_profile = 2; 1808*d5c09012SAndroid Build Coastguard Worker } 1809*d5c09012SAndroid Build Coastguard Worker} 1810*d5c09012SAndroid Build Coastguard Worker 1811*d5c09012SAndroid Build Coastguard Worker// Statistics related to processing hybrid inspect requests. 1812*d5c09012SAndroid Build Coastguard Workermessage HybridInspectStatistics { 1813*d5c09012SAndroid Build Coastguard Worker // The number of hybrid inspection requests processed within this job. 1814*d5c09012SAndroid Build Coastguard Worker int64 processed_count = 1; 1815*d5c09012SAndroid Build Coastguard Worker 1816*d5c09012SAndroid Build Coastguard Worker // The number of hybrid inspection requests aborted because the job ran 1817*d5c09012SAndroid Build Coastguard Worker // out of quota or was ended before they could be processed. 1818*d5c09012SAndroid Build Coastguard Worker int64 aborted_count = 2; 1819*d5c09012SAndroid Build Coastguard Worker 1820*d5c09012SAndroid Build Coastguard Worker // The number of hybrid requests currently being processed. Only populated 1821*d5c09012SAndroid Build Coastguard Worker // when called via method `getDlpJob`. 1822*d5c09012SAndroid Build Coastguard Worker // A burst of traffic may cause hybrid inspect requests to be enqueued. 1823*d5c09012SAndroid Build Coastguard Worker // Processing will take place as quickly as possible, but resource limitations 1824*d5c09012SAndroid Build Coastguard Worker // may impact how long a request is enqueued for. 1825*d5c09012SAndroid Build Coastguard Worker int64 pending_count = 3; 1826*d5c09012SAndroid Build Coastguard Worker} 1827*d5c09012SAndroid Build Coastguard Worker 1828*d5c09012SAndroid Build Coastguard Worker// The results of an [Action][google.privacy.dlp.v2.Action]. 1829*d5c09012SAndroid Build Coastguard Workermessage ActionDetails { 1830*d5c09012SAndroid Build Coastguard Worker // Summary of what occurred in the actions. 1831*d5c09012SAndroid Build Coastguard Worker oneof details { 1832*d5c09012SAndroid Build Coastguard Worker // Outcome of a de-identification action. 1833*d5c09012SAndroid Build Coastguard Worker DeidentifyDataSourceDetails deidentify_details = 1; 1834*d5c09012SAndroid Build Coastguard Worker } 1835*d5c09012SAndroid Build Coastguard Worker} 1836*d5c09012SAndroid Build Coastguard Worker 1837*d5c09012SAndroid Build Coastguard Worker// Summary of what was modified during a transformation. 1838*d5c09012SAndroid Build Coastguard Workermessage DeidentifyDataSourceStats { 1839*d5c09012SAndroid Build Coastguard Worker // Total size in bytes that were transformed in some way. 1840*d5c09012SAndroid Build Coastguard Worker int64 transformed_bytes = 1; 1841*d5c09012SAndroid Build Coastguard Worker 1842*d5c09012SAndroid Build Coastguard Worker // Number of successfully applied transformations. 1843*d5c09012SAndroid Build Coastguard Worker int64 transformation_count = 2; 1844*d5c09012SAndroid Build Coastguard Worker 1845*d5c09012SAndroid Build Coastguard Worker // Number of errors encountered while trying to apply transformations. 1846*d5c09012SAndroid Build Coastguard Worker int64 transformation_error_count = 3; 1847*d5c09012SAndroid Build Coastguard Worker} 1848*d5c09012SAndroid Build Coastguard Worker 1849*d5c09012SAndroid Build Coastguard Worker// The results of a [Deidentify][google.privacy.dlp.v2.Action.Deidentify] action 1850*d5c09012SAndroid Build Coastguard Worker// from an inspect job. 1851*d5c09012SAndroid Build Coastguard Workermessage DeidentifyDataSourceDetails { 1852*d5c09012SAndroid Build Coastguard Worker // De-identification options. 1853*d5c09012SAndroid Build Coastguard Worker message RequestedDeidentifyOptions { 1854*d5c09012SAndroid Build Coastguard Worker // Snapshot of the state of the `DeidentifyTemplate` from the 1855*d5c09012SAndroid Build Coastguard Worker // [Deidentify][google.privacy.dlp.v2.Action.Deidentify] action at the time 1856*d5c09012SAndroid Build Coastguard Worker // this job was run. 1857*d5c09012SAndroid Build Coastguard Worker DeidentifyTemplate snapshot_deidentify_template = 1; 1858*d5c09012SAndroid Build Coastguard Worker 1859*d5c09012SAndroid Build Coastguard Worker // Snapshot of the state of the structured `DeidentifyTemplate` from the 1860*d5c09012SAndroid Build Coastguard Worker // `Deidentify` action at the time this job was run. 1861*d5c09012SAndroid Build Coastguard Worker DeidentifyTemplate snapshot_structured_deidentify_template = 2; 1862*d5c09012SAndroid Build Coastguard Worker 1863*d5c09012SAndroid Build Coastguard Worker // Snapshot of the state of the image transformation `DeidentifyTemplate` 1864*d5c09012SAndroid Build Coastguard Worker // from the `Deidentify` action at the time this job was run. 1865*d5c09012SAndroid Build Coastguard Worker DeidentifyTemplate snapshot_image_redact_template = 3; 1866*d5c09012SAndroid Build Coastguard Worker } 1867*d5c09012SAndroid Build Coastguard Worker 1868*d5c09012SAndroid Build Coastguard Worker // De-identification config used for the request. 1869*d5c09012SAndroid Build Coastguard Worker RequestedDeidentifyOptions requested_options = 1; 1870*d5c09012SAndroid Build Coastguard Worker 1871*d5c09012SAndroid Build Coastguard Worker // Stats about the de-identification operation. 1872*d5c09012SAndroid Build Coastguard Worker DeidentifyDataSourceStats deidentify_stats = 2; 1873*d5c09012SAndroid Build Coastguard Worker} 1874*d5c09012SAndroid Build Coastguard Worker 1875*d5c09012SAndroid Build Coastguard Worker// InfoType description. 1876*d5c09012SAndroid Build Coastguard Workermessage InfoTypeDescription { 1877*d5c09012SAndroid Build Coastguard Worker // Internal name of the infoType. 1878*d5c09012SAndroid Build Coastguard Worker string name = 1; 1879*d5c09012SAndroid Build Coastguard Worker 1880*d5c09012SAndroid Build Coastguard Worker // Human readable form of the infoType name. 1881*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 1882*d5c09012SAndroid Build Coastguard Worker 1883*d5c09012SAndroid Build Coastguard Worker // Which parts of the API supports this InfoType. 1884*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeSupportedBy supported_by = 3; 1885*d5c09012SAndroid Build Coastguard Worker 1886*d5c09012SAndroid Build Coastguard Worker // Description of the infotype. Translated when language is provided in the 1887*d5c09012SAndroid Build Coastguard Worker // request. 1888*d5c09012SAndroid Build Coastguard Worker string description = 4; 1889*d5c09012SAndroid Build Coastguard Worker 1890*d5c09012SAndroid Build Coastguard Worker // A list of available versions for the infotype. 1891*d5c09012SAndroid Build Coastguard Worker repeated VersionDescription versions = 9; 1892*d5c09012SAndroid Build Coastguard Worker 1893*d5c09012SAndroid Build Coastguard Worker // The category of the infoType. 1894*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeCategory categories = 10; 1895*d5c09012SAndroid Build Coastguard Worker 1896*d5c09012SAndroid Build Coastguard Worker // The default sensitivity of the infoType. 1897*d5c09012SAndroid Build Coastguard Worker SensitivityScore sensitivity_score = 11; 1898*d5c09012SAndroid Build Coastguard Worker} 1899*d5c09012SAndroid Build Coastguard Worker 1900*d5c09012SAndroid Build Coastguard Worker// Classification of infoTypes to organize them according to geographic 1901*d5c09012SAndroid Build Coastguard Worker// location, industry, and data type. 1902*d5c09012SAndroid Build Coastguard Workermessage InfoTypeCategory { 1903*d5c09012SAndroid Build Coastguard Worker // Enum of the current locations. 1904*d5c09012SAndroid Build Coastguard Worker // We might add more locations in the future. 1905*d5c09012SAndroid Build Coastguard Worker enum LocationCategory { 1906*d5c09012SAndroid Build Coastguard Worker // Unused location 1907*d5c09012SAndroid Build Coastguard Worker LOCATION_UNSPECIFIED = 0; 1908*d5c09012SAndroid Build Coastguard Worker 1909*d5c09012SAndroid Build Coastguard Worker // The infoType is not issued by or tied to a specific region, but is used 1910*d5c09012SAndroid Build Coastguard Worker // almost everywhere. 1911*d5c09012SAndroid Build Coastguard Worker GLOBAL = 1; 1912*d5c09012SAndroid Build Coastguard Worker 1913*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Argentina. 1914*d5c09012SAndroid Build Coastguard Worker ARGENTINA = 2; 1915*d5c09012SAndroid Build Coastguard Worker 1916*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Australia. 1917*d5c09012SAndroid Build Coastguard Worker AUSTRALIA = 3; 1918*d5c09012SAndroid Build Coastguard Worker 1919*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Belgium. 1920*d5c09012SAndroid Build Coastguard Worker BELGIUM = 4; 1921*d5c09012SAndroid Build Coastguard Worker 1922*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Brazil. 1923*d5c09012SAndroid Build Coastguard Worker BRAZIL = 5; 1924*d5c09012SAndroid Build Coastguard Worker 1925*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Canada. 1926*d5c09012SAndroid Build Coastguard Worker CANADA = 6; 1927*d5c09012SAndroid Build Coastguard Worker 1928*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Chile. 1929*d5c09012SAndroid Build Coastguard Worker CHILE = 7; 1930*d5c09012SAndroid Build Coastguard Worker 1931*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in China. 1932*d5c09012SAndroid Build Coastguard Worker CHINA = 8; 1933*d5c09012SAndroid Build Coastguard Worker 1934*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Colombia. 1935*d5c09012SAndroid Build Coastguard Worker COLOMBIA = 9; 1936*d5c09012SAndroid Build Coastguard Worker 1937*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Croatia. 1938*d5c09012SAndroid Build Coastguard Worker CROATIA = 42; 1939*d5c09012SAndroid Build Coastguard Worker 1940*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Denmark. 1941*d5c09012SAndroid Build Coastguard Worker DENMARK = 10; 1942*d5c09012SAndroid Build Coastguard Worker 1943*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in France. 1944*d5c09012SAndroid Build Coastguard Worker FRANCE = 11; 1945*d5c09012SAndroid Build Coastguard Worker 1946*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Finland. 1947*d5c09012SAndroid Build Coastguard Worker FINLAND = 12; 1948*d5c09012SAndroid Build Coastguard Worker 1949*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Germany. 1950*d5c09012SAndroid Build Coastguard Worker GERMANY = 13; 1951*d5c09012SAndroid Build Coastguard Worker 1952*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Hong Kong. 1953*d5c09012SAndroid Build Coastguard Worker HONG_KONG = 14; 1954*d5c09012SAndroid Build Coastguard Worker 1955*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in India. 1956*d5c09012SAndroid Build Coastguard Worker INDIA = 15; 1957*d5c09012SAndroid Build Coastguard Worker 1958*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Indonesia. 1959*d5c09012SAndroid Build Coastguard Worker INDONESIA = 16; 1960*d5c09012SAndroid Build Coastguard Worker 1961*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Ireland. 1962*d5c09012SAndroid Build Coastguard Worker IRELAND = 17; 1963*d5c09012SAndroid Build Coastguard Worker 1964*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Israel. 1965*d5c09012SAndroid Build Coastguard Worker ISRAEL = 18; 1966*d5c09012SAndroid Build Coastguard Worker 1967*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Italy. 1968*d5c09012SAndroid Build Coastguard Worker ITALY = 19; 1969*d5c09012SAndroid Build Coastguard Worker 1970*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Japan. 1971*d5c09012SAndroid Build Coastguard Worker JAPAN = 20; 1972*d5c09012SAndroid Build Coastguard Worker 1973*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Korea. 1974*d5c09012SAndroid Build Coastguard Worker KOREA = 21; 1975*d5c09012SAndroid Build Coastguard Worker 1976*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Mexico. 1977*d5c09012SAndroid Build Coastguard Worker MEXICO = 22; 1978*d5c09012SAndroid Build Coastguard Worker 1979*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in the Netherlands. 1980*d5c09012SAndroid Build Coastguard Worker THE_NETHERLANDS = 23; 1981*d5c09012SAndroid Build Coastguard Worker 1982*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in New Zealand. 1983*d5c09012SAndroid Build Coastguard Worker NEW_ZEALAND = 41; 1984*d5c09012SAndroid Build Coastguard Worker 1985*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Norway. 1986*d5c09012SAndroid Build Coastguard Worker NORWAY = 24; 1987*d5c09012SAndroid Build Coastguard Worker 1988*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Paraguay. 1989*d5c09012SAndroid Build Coastguard Worker PARAGUAY = 25; 1990*d5c09012SAndroid Build Coastguard Worker 1991*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Peru. 1992*d5c09012SAndroid Build Coastguard Worker PERU = 26; 1993*d5c09012SAndroid Build Coastguard Worker 1994*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Poland. 1995*d5c09012SAndroid Build Coastguard Worker POLAND = 27; 1996*d5c09012SAndroid Build Coastguard Worker 1997*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Portugal. 1998*d5c09012SAndroid Build Coastguard Worker PORTUGAL = 28; 1999*d5c09012SAndroid Build Coastguard Worker 2000*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Singapore. 2001*d5c09012SAndroid Build Coastguard Worker SINGAPORE = 29; 2002*d5c09012SAndroid Build Coastguard Worker 2003*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in South Africa. 2004*d5c09012SAndroid Build Coastguard Worker SOUTH_AFRICA = 30; 2005*d5c09012SAndroid Build Coastguard Worker 2006*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Spain. 2007*d5c09012SAndroid Build Coastguard Worker SPAIN = 31; 2008*d5c09012SAndroid Build Coastguard Worker 2009*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Sweden. 2010*d5c09012SAndroid Build Coastguard Worker SWEDEN = 32; 2011*d5c09012SAndroid Build Coastguard Worker 2012*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Switzerland. 2013*d5c09012SAndroid Build Coastguard Worker SWITZERLAND = 43; 2014*d5c09012SAndroid Build Coastguard Worker 2015*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Taiwan. 2016*d5c09012SAndroid Build Coastguard Worker TAIWAN = 33; 2017*d5c09012SAndroid Build Coastguard Worker 2018*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Thailand. 2019*d5c09012SAndroid Build Coastguard Worker THAILAND = 34; 2020*d5c09012SAndroid Build Coastguard Worker 2021*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Turkey. 2022*d5c09012SAndroid Build Coastguard Worker TURKEY = 35; 2023*d5c09012SAndroid Build Coastguard Worker 2024*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in the United Kingdom. 2025*d5c09012SAndroid Build Coastguard Worker UNITED_KINGDOM = 36; 2026*d5c09012SAndroid Build Coastguard Worker 2027*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in the United States. 2028*d5c09012SAndroid Build Coastguard Worker UNITED_STATES = 37; 2029*d5c09012SAndroid Build Coastguard Worker 2030*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Uruguay. 2031*d5c09012SAndroid Build Coastguard Worker URUGUAY = 38; 2032*d5c09012SAndroid Build Coastguard Worker 2033*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Venezuela. 2034*d5c09012SAndroid Build Coastguard Worker VENEZUELA = 39; 2035*d5c09012SAndroid Build Coastguard Worker 2036*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in Google internally. 2037*d5c09012SAndroid Build Coastguard Worker INTERNAL = 40; 2038*d5c09012SAndroid Build Coastguard Worker } 2039*d5c09012SAndroid Build Coastguard Worker 2040*d5c09012SAndroid Build Coastguard Worker // Enum of the current industries in the category. 2041*d5c09012SAndroid Build Coastguard Worker // We might add more industries in the future. 2042*d5c09012SAndroid Build Coastguard Worker enum IndustryCategory { 2043*d5c09012SAndroid Build Coastguard Worker // Unused industry 2044*d5c09012SAndroid Build Coastguard Worker INDUSTRY_UNSPECIFIED = 0; 2045*d5c09012SAndroid Build Coastguard Worker 2046*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in the finance industry. 2047*d5c09012SAndroid Build Coastguard Worker FINANCE = 1; 2048*d5c09012SAndroid Build Coastguard Worker 2049*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in the health industry. 2050*d5c09012SAndroid Build Coastguard Worker HEALTH = 2; 2051*d5c09012SAndroid Build Coastguard Worker 2052*d5c09012SAndroid Build Coastguard Worker // The infoType is typically used in the telecommunications industry. 2053*d5c09012SAndroid Build Coastguard Worker TELECOMMUNICATIONS = 3; 2054*d5c09012SAndroid Build Coastguard Worker } 2055*d5c09012SAndroid Build Coastguard Worker 2056*d5c09012SAndroid Build Coastguard Worker // Enum of the current types in the category. 2057*d5c09012SAndroid Build Coastguard Worker // We might add more types in the future. 2058*d5c09012SAndroid Build Coastguard Worker enum TypeCategory { 2059*d5c09012SAndroid Build Coastguard Worker // Unused type 2060*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 2061*d5c09012SAndroid Build Coastguard Worker 2062*d5c09012SAndroid Build Coastguard Worker // Personally identifiable information, for example, a 2063*d5c09012SAndroid Build Coastguard Worker // name or phone number 2064*d5c09012SAndroid Build Coastguard Worker PII = 1; 2065*d5c09012SAndroid Build Coastguard Worker 2066*d5c09012SAndroid Build Coastguard Worker // Personally identifiable information that is especially sensitive, for 2067*d5c09012SAndroid Build Coastguard Worker // example, a passport number. 2068*d5c09012SAndroid Build Coastguard Worker SPII = 2; 2069*d5c09012SAndroid Build Coastguard Worker 2070*d5c09012SAndroid Build Coastguard Worker // Attributes that can partially identify someone, especially in 2071*d5c09012SAndroid Build Coastguard Worker // combination with other attributes, like age, height, and gender. 2072*d5c09012SAndroid Build Coastguard Worker DEMOGRAPHIC = 3; 2073*d5c09012SAndroid Build Coastguard Worker 2074*d5c09012SAndroid Build Coastguard Worker // Confidential or secret information, for example, a password. 2075*d5c09012SAndroid Build Coastguard Worker CREDENTIAL = 4; 2076*d5c09012SAndroid Build Coastguard Worker 2077*d5c09012SAndroid Build Coastguard Worker // An identification document issued by a government. 2078*d5c09012SAndroid Build Coastguard Worker GOVERNMENT_ID = 5; 2079*d5c09012SAndroid Build Coastguard Worker 2080*d5c09012SAndroid Build Coastguard Worker // A document, for example, a resume or source code. 2081*d5c09012SAndroid Build Coastguard Worker DOCUMENT = 6; 2082*d5c09012SAndroid Build Coastguard Worker 2083*d5c09012SAndroid Build Coastguard Worker // Information that is not sensitive on its own, but provides details about 2084*d5c09012SAndroid Build Coastguard Worker // the circumstances surrounding an entity or an event. 2085*d5c09012SAndroid Build Coastguard Worker CONTEXTUAL_INFORMATION = 7; 2086*d5c09012SAndroid Build Coastguard Worker } 2087*d5c09012SAndroid Build Coastguard Worker 2088*d5c09012SAndroid Build Coastguard Worker // Categories of infotypes. 2089*d5c09012SAndroid Build Coastguard Worker oneof category { 2090*d5c09012SAndroid Build Coastguard Worker // The region or country that issued the ID or document represented by the 2091*d5c09012SAndroid Build Coastguard Worker // infoType. 2092*d5c09012SAndroid Build Coastguard Worker LocationCategory location_category = 1; 2093*d5c09012SAndroid Build Coastguard Worker 2094*d5c09012SAndroid Build Coastguard Worker // The group of relevant businesses where this infoType is commonly used 2095*d5c09012SAndroid Build Coastguard Worker IndustryCategory industry_category = 2; 2096*d5c09012SAndroid Build Coastguard Worker 2097*d5c09012SAndroid Build Coastguard Worker // The class of identifiers where this infoType belongs 2098*d5c09012SAndroid Build Coastguard Worker TypeCategory type_category = 3; 2099*d5c09012SAndroid Build Coastguard Worker } 2100*d5c09012SAndroid Build Coastguard Worker} 2101*d5c09012SAndroid Build Coastguard Worker 2102*d5c09012SAndroid Build Coastguard Worker// Details about each available version for an infotype. 2103*d5c09012SAndroid Build Coastguard Workermessage VersionDescription { 2104*d5c09012SAndroid Build Coastguard Worker // Name of the version 2105*d5c09012SAndroid Build Coastguard Worker string version = 1; 2106*d5c09012SAndroid Build Coastguard Worker 2107*d5c09012SAndroid Build Coastguard Worker // Description of the version. 2108*d5c09012SAndroid Build Coastguard Worker string description = 2; 2109*d5c09012SAndroid Build Coastguard Worker} 2110*d5c09012SAndroid Build Coastguard Worker 2111*d5c09012SAndroid Build Coastguard Worker// Request for the list of infoTypes. 2112*d5c09012SAndroid Build Coastguard Workermessage ListInfoTypesRequest { 2113*d5c09012SAndroid Build Coastguard Worker // The parent resource name. 2114*d5c09012SAndroid Build Coastguard Worker // 2115*d5c09012SAndroid Build Coastguard Worker // The format of this value is as follows: 2116*d5c09012SAndroid Build Coastguard Worker // 2117*d5c09012SAndroid Build Coastguard Worker // locations/<var>LOCATION_ID</var> 2118*d5c09012SAndroid Build Coastguard Worker string parent = 4; 2119*d5c09012SAndroid Build Coastguard Worker 2120*d5c09012SAndroid Build Coastguard Worker // BCP-47 language code for localized infoType friendly 2121*d5c09012SAndroid Build Coastguard Worker // names. If omitted, or if localized strings are not available, 2122*d5c09012SAndroid Build Coastguard Worker // en-US strings will be returned. 2123*d5c09012SAndroid Build Coastguard Worker string language_code = 1; 2124*d5c09012SAndroid Build Coastguard Worker 2125*d5c09012SAndroid Build Coastguard Worker // filter to only return infoTypes supported by certain parts of the 2126*d5c09012SAndroid Build Coastguard Worker // API. Defaults to supported_by=INSPECT. 2127*d5c09012SAndroid Build Coastguard Worker string filter = 2; 2128*d5c09012SAndroid Build Coastguard Worker 2129*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 2130*d5c09012SAndroid Build Coastguard Worker string location_id = 3; 2131*d5c09012SAndroid Build Coastguard Worker} 2132*d5c09012SAndroid Build Coastguard Worker 2133*d5c09012SAndroid Build Coastguard Worker// Response to the ListInfoTypes request. 2134*d5c09012SAndroid Build Coastguard Workermessage ListInfoTypesResponse { 2135*d5c09012SAndroid Build Coastguard Worker // Set of sensitive infoTypes. 2136*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeDescription info_types = 1; 2137*d5c09012SAndroid Build Coastguard Worker} 2138*d5c09012SAndroid Build Coastguard Worker 2139*d5c09012SAndroid Build Coastguard Worker// Configuration for a risk analysis job. See 2140*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/concepts-risk-analysis 2141*d5c09012SAndroid Build Coastguard Worker// to learn more. 2142*d5c09012SAndroid Build Coastguard Workermessage RiskAnalysisJobConfig { 2143*d5c09012SAndroid Build Coastguard Worker // Privacy metric to compute. 2144*d5c09012SAndroid Build Coastguard Worker PrivacyMetric privacy_metric = 1; 2145*d5c09012SAndroid Build Coastguard Worker 2146*d5c09012SAndroid Build Coastguard Worker // Input dataset to compute metrics over. 2147*d5c09012SAndroid Build Coastguard Worker BigQueryTable source_table = 2; 2148*d5c09012SAndroid Build Coastguard Worker 2149*d5c09012SAndroid Build Coastguard Worker // Actions to execute at the completion of the job. Are executed in the order 2150*d5c09012SAndroid Build Coastguard Worker // provided. 2151*d5c09012SAndroid Build Coastguard Worker repeated Action actions = 3; 2152*d5c09012SAndroid Build Coastguard Worker} 2153*d5c09012SAndroid Build Coastguard Worker 2154*d5c09012SAndroid Build Coastguard Worker// A column with a semantic tag attached. 2155*d5c09012SAndroid Build Coastguard Workermessage QuasiId { 2156*d5c09012SAndroid Build Coastguard Worker // Required. Identifies the column. 2157*d5c09012SAndroid Build Coastguard Worker FieldId field = 1 [(google.api.field_behavior) = REQUIRED]; 2158*d5c09012SAndroid Build Coastguard Worker 2159*d5c09012SAndroid Build Coastguard Worker // Semantic tag that identifies what a column contains, to determine which 2160*d5c09012SAndroid Build Coastguard Worker // statistical model to use to estimate the reidentifiability of each 2161*d5c09012SAndroid Build Coastguard Worker // value. [required] 2162*d5c09012SAndroid Build Coastguard Worker oneof tag { 2163*d5c09012SAndroid Build Coastguard Worker // A column can be tagged with a InfoType to use the relevant public 2164*d5c09012SAndroid Build Coastguard Worker // dataset as a statistical model of population, if available. We 2165*d5c09012SAndroid Build Coastguard Worker // currently support US ZIP codes, region codes, ages and genders. 2166*d5c09012SAndroid Build Coastguard Worker // To programmatically obtain the list of supported InfoTypes, use 2167*d5c09012SAndroid Build Coastguard Worker // ListInfoTypes with the supported_by=RISK_ANALYSIS filter. 2168*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 2; 2169*d5c09012SAndroid Build Coastguard Worker 2170*d5c09012SAndroid Build Coastguard Worker // A column can be tagged with a custom tag. In this case, the user must 2171*d5c09012SAndroid Build Coastguard Worker // indicate an auxiliary table that contains statistical information on 2172*d5c09012SAndroid Build Coastguard Worker // the possible values of this column (below). 2173*d5c09012SAndroid Build Coastguard Worker string custom_tag = 3; 2174*d5c09012SAndroid Build Coastguard Worker 2175*d5c09012SAndroid Build Coastguard Worker // If no semantic tag is indicated, we infer the statistical model from 2176*d5c09012SAndroid Build Coastguard Worker // the distribution of values in the input data 2177*d5c09012SAndroid Build Coastguard Worker google.protobuf.Empty inferred = 4; 2178*d5c09012SAndroid Build Coastguard Worker } 2179*d5c09012SAndroid Build Coastguard Worker} 2180*d5c09012SAndroid Build Coastguard Worker 2181*d5c09012SAndroid Build Coastguard Worker// An auxiliary table containing statistical information on the relative 2182*d5c09012SAndroid Build Coastguard Worker// frequency of different quasi-identifiers values. It has one or several 2183*d5c09012SAndroid Build Coastguard Worker// quasi-identifiers columns, and one column that indicates the relative 2184*d5c09012SAndroid Build Coastguard Worker// frequency of each quasi-identifier tuple. 2185*d5c09012SAndroid Build Coastguard Worker// If a tuple is present in the data but not in the auxiliary table, the 2186*d5c09012SAndroid Build Coastguard Worker// corresponding relative frequency is assumed to be zero (and thus, the 2187*d5c09012SAndroid Build Coastguard Worker// tuple is highly reidentifiable). 2188*d5c09012SAndroid Build Coastguard Workermessage StatisticalTable { 2189*d5c09012SAndroid Build Coastguard Worker // A quasi-identifier column has a custom_tag, used to know which column 2190*d5c09012SAndroid Build Coastguard Worker // in the data corresponds to which column in the statistical model. 2191*d5c09012SAndroid Build Coastguard Worker message QuasiIdentifierField { 2192*d5c09012SAndroid Build Coastguard Worker // Identifies the column. 2193*d5c09012SAndroid Build Coastguard Worker FieldId field = 1; 2194*d5c09012SAndroid Build Coastguard Worker 2195*d5c09012SAndroid Build Coastguard Worker // A column can be tagged with a custom tag. In this case, the user must 2196*d5c09012SAndroid Build Coastguard Worker // indicate an auxiliary table that contains statistical information on 2197*d5c09012SAndroid Build Coastguard Worker // the possible values of this column (below). 2198*d5c09012SAndroid Build Coastguard Worker string custom_tag = 2; 2199*d5c09012SAndroid Build Coastguard Worker } 2200*d5c09012SAndroid Build Coastguard Worker 2201*d5c09012SAndroid Build Coastguard Worker // Required. Auxiliary table location. 2202*d5c09012SAndroid Build Coastguard Worker BigQueryTable table = 3 [(google.api.field_behavior) = REQUIRED]; 2203*d5c09012SAndroid Build Coastguard Worker 2204*d5c09012SAndroid Build Coastguard Worker // Required. Quasi-identifier columns. 2205*d5c09012SAndroid Build Coastguard Worker repeated QuasiIdentifierField quasi_ids = 1 2206*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 2207*d5c09012SAndroid Build Coastguard Worker 2208*d5c09012SAndroid Build Coastguard Worker // Required. The relative frequency column must contain a floating-point 2209*d5c09012SAndroid Build Coastguard Worker // number between 0 and 1 (inclusive). Null values are assumed to be zero. 2210*d5c09012SAndroid Build Coastguard Worker FieldId relative_frequency = 2 [(google.api.field_behavior) = REQUIRED]; 2211*d5c09012SAndroid Build Coastguard Worker} 2212*d5c09012SAndroid Build Coastguard Worker 2213*d5c09012SAndroid Build Coastguard Worker// Privacy metric to compute for reidentification risk analysis. 2214*d5c09012SAndroid Build Coastguard Workermessage PrivacyMetric { 2215*d5c09012SAndroid Build Coastguard Worker // Compute numerical stats over an individual column, including 2216*d5c09012SAndroid Build Coastguard Worker // min, max, and quantiles. 2217*d5c09012SAndroid Build Coastguard Worker message NumericalStatsConfig { 2218*d5c09012SAndroid Build Coastguard Worker // Field to compute numerical stats on. Supported types are 2219*d5c09012SAndroid Build Coastguard Worker // integer, float, date, datetime, timestamp, time. 2220*d5c09012SAndroid Build Coastguard Worker FieldId field = 1; 2221*d5c09012SAndroid Build Coastguard Worker } 2222*d5c09012SAndroid Build Coastguard Worker 2223*d5c09012SAndroid Build Coastguard Worker // Compute numerical stats over an individual column, including 2224*d5c09012SAndroid Build Coastguard Worker // number of distinct values and value count distribution. 2225*d5c09012SAndroid Build Coastguard Worker message CategoricalStatsConfig { 2226*d5c09012SAndroid Build Coastguard Worker // Field to compute categorical stats on. All column types are 2227*d5c09012SAndroid Build Coastguard Worker // supported except for arrays and structs. However, it may be more 2228*d5c09012SAndroid Build Coastguard Worker // informative to use NumericalStats when the field type is supported, 2229*d5c09012SAndroid Build Coastguard Worker // depending on the data. 2230*d5c09012SAndroid Build Coastguard Worker FieldId field = 1; 2231*d5c09012SAndroid Build Coastguard Worker } 2232*d5c09012SAndroid Build Coastguard Worker 2233*d5c09012SAndroid Build Coastguard Worker // k-anonymity metric, used for analysis of reidentification risk. 2234*d5c09012SAndroid Build Coastguard Worker message KAnonymityConfig { 2235*d5c09012SAndroid Build Coastguard Worker // Set of fields to compute k-anonymity over. When multiple fields are 2236*d5c09012SAndroid Build Coastguard Worker // specified, they are considered a single composite key. Structs and 2237*d5c09012SAndroid Build Coastguard Worker // repeated data types are not supported; however, nested fields are 2238*d5c09012SAndroid Build Coastguard Worker // supported so long as they are not structs themselves or nested within 2239*d5c09012SAndroid Build Coastguard Worker // a repeated field. 2240*d5c09012SAndroid Build Coastguard Worker repeated FieldId quasi_ids = 1; 2241*d5c09012SAndroid Build Coastguard Worker 2242*d5c09012SAndroid Build Coastguard Worker // Message indicating that multiple rows might be associated to a 2243*d5c09012SAndroid Build Coastguard Worker // single individual. If the same entity_id is associated to multiple 2244*d5c09012SAndroid Build Coastguard Worker // quasi-identifier tuples over distinct rows, we consider the entire 2245*d5c09012SAndroid Build Coastguard Worker // collection of tuples as the composite quasi-identifier. This collection 2246*d5c09012SAndroid Build Coastguard Worker // is a multiset: the order in which the different tuples appear in the 2247*d5c09012SAndroid Build Coastguard Worker // dataset is ignored, but their frequency is taken into account. 2248*d5c09012SAndroid Build Coastguard Worker // 2249*d5c09012SAndroid Build Coastguard Worker // Important note: a maximum of 1000 rows can be associated to a single 2250*d5c09012SAndroid Build Coastguard Worker // entity ID. If more rows are associated with the same entity ID, some 2251*d5c09012SAndroid Build Coastguard Worker // might be ignored. 2252*d5c09012SAndroid Build Coastguard Worker EntityId entity_id = 2; 2253*d5c09012SAndroid Build Coastguard Worker } 2254*d5c09012SAndroid Build Coastguard Worker 2255*d5c09012SAndroid Build Coastguard Worker // l-diversity metric, used for analysis of reidentification risk. 2256*d5c09012SAndroid Build Coastguard Worker message LDiversityConfig { 2257*d5c09012SAndroid Build Coastguard Worker // Set of quasi-identifiers indicating how equivalence classes are 2258*d5c09012SAndroid Build Coastguard Worker // defined for the l-diversity computation. When multiple fields are 2259*d5c09012SAndroid Build Coastguard Worker // specified, they are considered a single composite key. 2260*d5c09012SAndroid Build Coastguard Worker repeated FieldId quasi_ids = 1; 2261*d5c09012SAndroid Build Coastguard Worker 2262*d5c09012SAndroid Build Coastguard Worker // Sensitive field for computing the l-value. 2263*d5c09012SAndroid Build Coastguard Worker FieldId sensitive_attribute = 2; 2264*d5c09012SAndroid Build Coastguard Worker } 2265*d5c09012SAndroid Build Coastguard Worker 2266*d5c09012SAndroid Build Coastguard Worker // Reidentifiability metric. This corresponds to a risk model similar to what 2267*d5c09012SAndroid Build Coastguard Worker // is called "journalist risk" in the literature, except the attack dataset is 2268*d5c09012SAndroid Build Coastguard Worker // statistically modeled instead of being perfectly known. This can be done 2269*d5c09012SAndroid Build Coastguard Worker // using publicly available data (like the US Census), or using a custom 2270*d5c09012SAndroid Build Coastguard Worker // statistical model (indicated as one or several BigQuery tables), or by 2271*d5c09012SAndroid Build Coastguard Worker // extrapolating from the distribution of values in the input dataset. 2272*d5c09012SAndroid Build Coastguard Worker message KMapEstimationConfig { 2273*d5c09012SAndroid Build Coastguard Worker // A column with a semantic tag attached. 2274*d5c09012SAndroid Build Coastguard Worker message TaggedField { 2275*d5c09012SAndroid Build Coastguard Worker // Required. Identifies the column. 2276*d5c09012SAndroid Build Coastguard Worker FieldId field = 1 [(google.api.field_behavior) = REQUIRED]; 2277*d5c09012SAndroid Build Coastguard Worker 2278*d5c09012SAndroid Build Coastguard Worker // Semantic tag that identifies what a column contains, to determine which 2279*d5c09012SAndroid Build Coastguard Worker // statistical model to use to estimate the reidentifiability of each 2280*d5c09012SAndroid Build Coastguard Worker // value. [required] 2281*d5c09012SAndroid Build Coastguard Worker oneof tag { 2282*d5c09012SAndroid Build Coastguard Worker // A column can be tagged with a InfoType to use the relevant public 2283*d5c09012SAndroid Build Coastguard Worker // dataset as a statistical model of population, if available. We 2284*d5c09012SAndroid Build Coastguard Worker // currently support US ZIP codes, region codes, ages and genders. 2285*d5c09012SAndroid Build Coastguard Worker // To programmatically obtain the list of supported InfoTypes, use 2286*d5c09012SAndroid Build Coastguard Worker // ListInfoTypes with the supported_by=RISK_ANALYSIS filter. 2287*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 2; 2288*d5c09012SAndroid Build Coastguard Worker 2289*d5c09012SAndroid Build Coastguard Worker // A column can be tagged with a custom tag. In this case, the user must 2290*d5c09012SAndroid Build Coastguard Worker // indicate an auxiliary table that contains statistical information on 2291*d5c09012SAndroid Build Coastguard Worker // the possible values of this column (below). 2292*d5c09012SAndroid Build Coastguard Worker string custom_tag = 3; 2293*d5c09012SAndroid Build Coastguard Worker 2294*d5c09012SAndroid Build Coastguard Worker // If no semantic tag is indicated, we infer the statistical model from 2295*d5c09012SAndroid Build Coastguard Worker // the distribution of values in the input data 2296*d5c09012SAndroid Build Coastguard Worker google.protobuf.Empty inferred = 4; 2297*d5c09012SAndroid Build Coastguard Worker } 2298*d5c09012SAndroid Build Coastguard Worker } 2299*d5c09012SAndroid Build Coastguard Worker 2300*d5c09012SAndroid Build Coastguard Worker // An auxiliary table contains statistical information on the relative 2301*d5c09012SAndroid Build Coastguard Worker // frequency of different quasi-identifiers values. It has one or several 2302*d5c09012SAndroid Build Coastguard Worker // quasi-identifiers columns, and one column that indicates the relative 2303*d5c09012SAndroid Build Coastguard Worker // frequency of each quasi-identifier tuple. 2304*d5c09012SAndroid Build Coastguard Worker // If a tuple is present in the data but not in the auxiliary table, the 2305*d5c09012SAndroid Build Coastguard Worker // corresponding relative frequency is assumed to be zero (and thus, the 2306*d5c09012SAndroid Build Coastguard Worker // tuple is highly reidentifiable). 2307*d5c09012SAndroid Build Coastguard Worker message AuxiliaryTable { 2308*d5c09012SAndroid Build Coastguard Worker // A quasi-identifier column has a custom_tag, used to know which column 2309*d5c09012SAndroid Build Coastguard Worker // in the data corresponds to which column in the statistical model. 2310*d5c09012SAndroid Build Coastguard Worker message QuasiIdField { 2311*d5c09012SAndroid Build Coastguard Worker // Identifies the column. 2312*d5c09012SAndroid Build Coastguard Worker FieldId field = 1; 2313*d5c09012SAndroid Build Coastguard Worker 2314*d5c09012SAndroid Build Coastguard Worker // A auxiliary field. 2315*d5c09012SAndroid Build Coastguard Worker string custom_tag = 2; 2316*d5c09012SAndroid Build Coastguard Worker } 2317*d5c09012SAndroid Build Coastguard Worker 2318*d5c09012SAndroid Build Coastguard Worker // Required. Auxiliary table location. 2319*d5c09012SAndroid Build Coastguard Worker BigQueryTable table = 3 [(google.api.field_behavior) = REQUIRED]; 2320*d5c09012SAndroid Build Coastguard Worker 2321*d5c09012SAndroid Build Coastguard Worker // Required. Quasi-identifier columns. 2322*d5c09012SAndroid Build Coastguard Worker repeated QuasiIdField quasi_ids = 1 2323*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 2324*d5c09012SAndroid Build Coastguard Worker 2325*d5c09012SAndroid Build Coastguard Worker // Required. The relative frequency column must contain a floating-point 2326*d5c09012SAndroid Build Coastguard Worker // number between 0 and 1 (inclusive). Null values are assumed to be zero. 2327*d5c09012SAndroid Build Coastguard Worker FieldId relative_frequency = 2 [(google.api.field_behavior) = REQUIRED]; 2328*d5c09012SAndroid Build Coastguard Worker } 2329*d5c09012SAndroid Build Coastguard Worker 2330*d5c09012SAndroid Build Coastguard Worker // Required. Fields considered to be quasi-identifiers. No two columns can 2331*d5c09012SAndroid Build Coastguard Worker // have the same tag. 2332*d5c09012SAndroid Build Coastguard Worker repeated TaggedField quasi_ids = 1 [(google.api.field_behavior) = REQUIRED]; 2333*d5c09012SAndroid Build Coastguard Worker 2334*d5c09012SAndroid Build Coastguard Worker // ISO 3166-1 alpha-2 region code to use in the statistical modeling. 2335*d5c09012SAndroid Build Coastguard Worker // Set if no column is tagged with a region-specific InfoType (like 2336*d5c09012SAndroid Build Coastguard Worker // US_ZIP_5) or a region code. 2337*d5c09012SAndroid Build Coastguard Worker string region_code = 2; 2338*d5c09012SAndroid Build Coastguard Worker 2339*d5c09012SAndroid Build Coastguard Worker // Several auxiliary tables can be used in the analysis. Each custom_tag 2340*d5c09012SAndroid Build Coastguard Worker // used to tag a quasi-identifiers column must appear in exactly one column 2341*d5c09012SAndroid Build Coastguard Worker // of one auxiliary table. 2342*d5c09012SAndroid Build Coastguard Worker repeated AuxiliaryTable auxiliary_tables = 3; 2343*d5c09012SAndroid Build Coastguard Worker } 2344*d5c09012SAndroid Build Coastguard Worker 2345*d5c09012SAndroid Build Coastguard Worker // δ-presence metric, used to estimate how likely it is for an attacker to 2346*d5c09012SAndroid Build Coastguard Worker // figure out that one given individual appears in a de-identified dataset. 2347*d5c09012SAndroid Build Coastguard Worker // Similarly to the k-map metric, we cannot compute δ-presence exactly without 2348*d5c09012SAndroid Build Coastguard Worker // knowing the attack dataset, so we use a statistical model instead. 2349*d5c09012SAndroid Build Coastguard Worker message DeltaPresenceEstimationConfig { 2350*d5c09012SAndroid Build Coastguard Worker // Required. Fields considered to be quasi-identifiers. No two fields can 2351*d5c09012SAndroid Build Coastguard Worker // have the same tag. 2352*d5c09012SAndroid Build Coastguard Worker repeated QuasiId quasi_ids = 1 [(google.api.field_behavior) = REQUIRED]; 2353*d5c09012SAndroid Build Coastguard Worker 2354*d5c09012SAndroid Build Coastguard Worker // ISO 3166-1 alpha-2 region code to use in the statistical modeling. 2355*d5c09012SAndroid Build Coastguard Worker // Set if no column is tagged with a region-specific InfoType (like 2356*d5c09012SAndroid Build Coastguard Worker // US_ZIP_5) or a region code. 2357*d5c09012SAndroid Build Coastguard Worker string region_code = 2; 2358*d5c09012SAndroid Build Coastguard Worker 2359*d5c09012SAndroid Build Coastguard Worker // Several auxiliary tables can be used in the analysis. Each custom_tag 2360*d5c09012SAndroid Build Coastguard Worker // used to tag a quasi-identifiers field must appear in exactly one 2361*d5c09012SAndroid Build Coastguard Worker // field of one auxiliary table. 2362*d5c09012SAndroid Build Coastguard Worker repeated StatisticalTable auxiliary_tables = 3; 2363*d5c09012SAndroid Build Coastguard Worker } 2364*d5c09012SAndroid Build Coastguard Worker 2365*d5c09012SAndroid Build Coastguard Worker // Types of analysis. 2366*d5c09012SAndroid Build Coastguard Worker oneof type { 2367*d5c09012SAndroid Build Coastguard Worker // Numerical stats 2368*d5c09012SAndroid Build Coastguard Worker NumericalStatsConfig numerical_stats_config = 1; 2369*d5c09012SAndroid Build Coastguard Worker 2370*d5c09012SAndroid Build Coastguard Worker // Categorical stats 2371*d5c09012SAndroid Build Coastguard Worker CategoricalStatsConfig categorical_stats_config = 2; 2372*d5c09012SAndroid Build Coastguard Worker 2373*d5c09012SAndroid Build Coastguard Worker // K-anonymity 2374*d5c09012SAndroid Build Coastguard Worker KAnonymityConfig k_anonymity_config = 3; 2375*d5c09012SAndroid Build Coastguard Worker 2376*d5c09012SAndroid Build Coastguard Worker // l-diversity 2377*d5c09012SAndroid Build Coastguard Worker LDiversityConfig l_diversity_config = 4; 2378*d5c09012SAndroid Build Coastguard Worker 2379*d5c09012SAndroid Build Coastguard Worker // k-map 2380*d5c09012SAndroid Build Coastguard Worker KMapEstimationConfig k_map_estimation_config = 5; 2381*d5c09012SAndroid Build Coastguard Worker 2382*d5c09012SAndroid Build Coastguard Worker // delta-presence 2383*d5c09012SAndroid Build Coastguard Worker DeltaPresenceEstimationConfig delta_presence_estimation_config = 6; 2384*d5c09012SAndroid Build Coastguard Worker } 2385*d5c09012SAndroid Build Coastguard Worker} 2386*d5c09012SAndroid Build Coastguard Worker 2387*d5c09012SAndroid Build Coastguard Worker// Result of a risk analysis operation request. 2388*d5c09012SAndroid Build Coastguard Workermessage AnalyzeDataSourceRiskDetails { 2389*d5c09012SAndroid Build Coastguard Worker // Result of the numerical stats computation. 2390*d5c09012SAndroid Build Coastguard Worker message NumericalStatsResult { 2391*d5c09012SAndroid Build Coastguard Worker // Minimum value appearing in the column. 2392*d5c09012SAndroid Build Coastguard Worker Value min_value = 1; 2393*d5c09012SAndroid Build Coastguard Worker 2394*d5c09012SAndroid Build Coastguard Worker // Maximum value appearing in the column. 2395*d5c09012SAndroid Build Coastguard Worker Value max_value = 2; 2396*d5c09012SAndroid Build Coastguard Worker 2397*d5c09012SAndroid Build Coastguard Worker // List of 99 values that partition the set of field values into 100 equal 2398*d5c09012SAndroid Build Coastguard Worker // sized buckets. 2399*d5c09012SAndroid Build Coastguard Worker repeated Value quantile_values = 4; 2400*d5c09012SAndroid Build Coastguard Worker } 2401*d5c09012SAndroid Build Coastguard Worker 2402*d5c09012SAndroid Build Coastguard Worker // Result of the categorical stats computation. 2403*d5c09012SAndroid Build Coastguard Worker message CategoricalStatsResult { 2404*d5c09012SAndroid Build Coastguard Worker // Histogram of value frequencies in the column. 2405*d5c09012SAndroid Build Coastguard Worker message CategoricalStatsHistogramBucket { 2406*d5c09012SAndroid Build Coastguard Worker // Lower bound on the value frequency of the values in this bucket. 2407*d5c09012SAndroid Build Coastguard Worker int64 value_frequency_lower_bound = 1; 2408*d5c09012SAndroid Build Coastguard Worker 2409*d5c09012SAndroid Build Coastguard Worker // Upper bound on the value frequency of the values in this bucket. 2410*d5c09012SAndroid Build Coastguard Worker int64 value_frequency_upper_bound = 2; 2411*d5c09012SAndroid Build Coastguard Worker 2412*d5c09012SAndroid Build Coastguard Worker // Total number of values in this bucket. 2413*d5c09012SAndroid Build Coastguard Worker int64 bucket_size = 3; 2414*d5c09012SAndroid Build Coastguard Worker 2415*d5c09012SAndroid Build Coastguard Worker // Sample of value frequencies in this bucket. The total number of 2416*d5c09012SAndroid Build Coastguard Worker // values returned per bucket is capped at 20. 2417*d5c09012SAndroid Build Coastguard Worker repeated ValueFrequency bucket_values = 4; 2418*d5c09012SAndroid Build Coastguard Worker 2419*d5c09012SAndroid Build Coastguard Worker // Total number of distinct values in this bucket. 2420*d5c09012SAndroid Build Coastguard Worker int64 bucket_value_count = 5; 2421*d5c09012SAndroid Build Coastguard Worker } 2422*d5c09012SAndroid Build Coastguard Worker 2423*d5c09012SAndroid Build Coastguard Worker // Histogram of value frequencies in the column. 2424*d5c09012SAndroid Build Coastguard Worker repeated CategoricalStatsHistogramBucket value_frequency_histogram_buckets = 2425*d5c09012SAndroid Build Coastguard Worker 5; 2426*d5c09012SAndroid Build Coastguard Worker } 2427*d5c09012SAndroid Build Coastguard Worker 2428*d5c09012SAndroid Build Coastguard Worker // Result of the k-anonymity computation. 2429*d5c09012SAndroid Build Coastguard Worker message KAnonymityResult { 2430*d5c09012SAndroid Build Coastguard Worker // The set of columns' values that share the same ldiversity value 2431*d5c09012SAndroid Build Coastguard Worker message KAnonymityEquivalenceClass { 2432*d5c09012SAndroid Build Coastguard Worker // Set of values defining the equivalence class. One value per 2433*d5c09012SAndroid Build Coastguard Worker // quasi-identifier column in the original KAnonymity metric message. 2434*d5c09012SAndroid Build Coastguard Worker // The order is always the same as the original request. 2435*d5c09012SAndroid Build Coastguard Worker repeated Value quasi_ids_values = 1; 2436*d5c09012SAndroid Build Coastguard Worker 2437*d5c09012SAndroid Build Coastguard Worker // Size of the equivalence class, for example number of rows with the 2438*d5c09012SAndroid Build Coastguard Worker // above set of values. 2439*d5c09012SAndroid Build Coastguard Worker int64 equivalence_class_size = 2; 2440*d5c09012SAndroid Build Coastguard Worker } 2441*d5c09012SAndroid Build Coastguard Worker 2442*d5c09012SAndroid Build Coastguard Worker // Histogram of k-anonymity equivalence classes. 2443*d5c09012SAndroid Build Coastguard Worker message KAnonymityHistogramBucket { 2444*d5c09012SAndroid Build Coastguard Worker // Lower bound on the size of the equivalence classes in this bucket. 2445*d5c09012SAndroid Build Coastguard Worker int64 equivalence_class_size_lower_bound = 1; 2446*d5c09012SAndroid Build Coastguard Worker 2447*d5c09012SAndroid Build Coastguard Worker // Upper bound on the size of the equivalence classes in this bucket. 2448*d5c09012SAndroid Build Coastguard Worker int64 equivalence_class_size_upper_bound = 2; 2449*d5c09012SAndroid Build Coastguard Worker 2450*d5c09012SAndroid Build Coastguard Worker // Total number of equivalence classes in this bucket. 2451*d5c09012SAndroid Build Coastguard Worker int64 bucket_size = 3; 2452*d5c09012SAndroid Build Coastguard Worker 2453*d5c09012SAndroid Build Coastguard Worker // Sample of equivalence classes in this bucket. The total number of 2454*d5c09012SAndroid Build Coastguard Worker // classes returned per bucket is capped at 20. 2455*d5c09012SAndroid Build Coastguard Worker repeated KAnonymityEquivalenceClass bucket_values = 4; 2456*d5c09012SAndroid Build Coastguard Worker 2457*d5c09012SAndroid Build Coastguard Worker // Total number of distinct equivalence classes in this bucket. 2458*d5c09012SAndroid Build Coastguard Worker int64 bucket_value_count = 5; 2459*d5c09012SAndroid Build Coastguard Worker } 2460*d5c09012SAndroid Build Coastguard Worker 2461*d5c09012SAndroid Build Coastguard Worker // Histogram of k-anonymity equivalence classes. 2462*d5c09012SAndroid Build Coastguard Worker repeated KAnonymityHistogramBucket equivalence_class_histogram_buckets = 5; 2463*d5c09012SAndroid Build Coastguard Worker } 2464*d5c09012SAndroid Build Coastguard Worker 2465*d5c09012SAndroid Build Coastguard Worker // Result of the l-diversity computation. 2466*d5c09012SAndroid Build Coastguard Worker message LDiversityResult { 2467*d5c09012SAndroid Build Coastguard Worker // The set of columns' values that share the same ldiversity value. 2468*d5c09012SAndroid Build Coastguard Worker message LDiversityEquivalenceClass { 2469*d5c09012SAndroid Build Coastguard Worker // Quasi-identifier values defining the k-anonymity equivalence 2470*d5c09012SAndroid Build Coastguard Worker // class. The order is always the same as the original request. 2471*d5c09012SAndroid Build Coastguard Worker repeated Value quasi_ids_values = 1; 2472*d5c09012SAndroid Build Coastguard Worker 2473*d5c09012SAndroid Build Coastguard Worker // Size of the k-anonymity equivalence class. 2474*d5c09012SAndroid Build Coastguard Worker int64 equivalence_class_size = 2; 2475*d5c09012SAndroid Build Coastguard Worker 2476*d5c09012SAndroid Build Coastguard Worker // Number of distinct sensitive values in this equivalence class. 2477*d5c09012SAndroid Build Coastguard Worker int64 num_distinct_sensitive_values = 3; 2478*d5c09012SAndroid Build Coastguard Worker 2479*d5c09012SAndroid Build Coastguard Worker // Estimated frequencies of top sensitive values. 2480*d5c09012SAndroid Build Coastguard Worker repeated ValueFrequency top_sensitive_values = 4; 2481*d5c09012SAndroid Build Coastguard Worker } 2482*d5c09012SAndroid Build Coastguard Worker 2483*d5c09012SAndroid Build Coastguard Worker // Histogram of l-diversity equivalence class sensitive value frequencies. 2484*d5c09012SAndroid Build Coastguard Worker message LDiversityHistogramBucket { 2485*d5c09012SAndroid Build Coastguard Worker // Lower bound on the sensitive value frequencies of the equivalence 2486*d5c09012SAndroid Build Coastguard Worker // classes in this bucket. 2487*d5c09012SAndroid Build Coastguard Worker int64 sensitive_value_frequency_lower_bound = 1; 2488*d5c09012SAndroid Build Coastguard Worker 2489*d5c09012SAndroid Build Coastguard Worker // Upper bound on the sensitive value frequencies of the equivalence 2490*d5c09012SAndroid Build Coastguard Worker // classes in this bucket. 2491*d5c09012SAndroid Build Coastguard Worker int64 sensitive_value_frequency_upper_bound = 2; 2492*d5c09012SAndroid Build Coastguard Worker 2493*d5c09012SAndroid Build Coastguard Worker // Total number of equivalence classes in this bucket. 2494*d5c09012SAndroid Build Coastguard Worker int64 bucket_size = 3; 2495*d5c09012SAndroid Build Coastguard Worker 2496*d5c09012SAndroid Build Coastguard Worker // Sample of equivalence classes in this bucket. The total number of 2497*d5c09012SAndroid Build Coastguard Worker // classes returned per bucket is capped at 20. 2498*d5c09012SAndroid Build Coastguard Worker repeated LDiversityEquivalenceClass bucket_values = 4; 2499*d5c09012SAndroid Build Coastguard Worker 2500*d5c09012SAndroid Build Coastguard Worker // Total number of distinct equivalence classes in this bucket. 2501*d5c09012SAndroid Build Coastguard Worker int64 bucket_value_count = 5; 2502*d5c09012SAndroid Build Coastguard Worker } 2503*d5c09012SAndroid Build Coastguard Worker 2504*d5c09012SAndroid Build Coastguard Worker // Histogram of l-diversity equivalence class sensitive value frequencies. 2505*d5c09012SAndroid Build Coastguard Worker repeated LDiversityHistogramBucket 2506*d5c09012SAndroid Build Coastguard Worker sensitive_value_frequency_histogram_buckets = 5; 2507*d5c09012SAndroid Build Coastguard Worker } 2508*d5c09012SAndroid Build Coastguard Worker 2509*d5c09012SAndroid Build Coastguard Worker // Result of the reidentifiability analysis. Note that these results are an 2510*d5c09012SAndroid Build Coastguard Worker // estimation, not exact values. 2511*d5c09012SAndroid Build Coastguard Worker message KMapEstimationResult { 2512*d5c09012SAndroid Build Coastguard Worker // A tuple of values for the quasi-identifier columns. 2513*d5c09012SAndroid Build Coastguard Worker message KMapEstimationQuasiIdValues { 2514*d5c09012SAndroid Build Coastguard Worker // The quasi-identifier values. 2515*d5c09012SAndroid Build Coastguard Worker repeated Value quasi_ids_values = 1; 2516*d5c09012SAndroid Build Coastguard Worker 2517*d5c09012SAndroid Build Coastguard Worker // The estimated anonymity for these quasi-identifier values. 2518*d5c09012SAndroid Build Coastguard Worker int64 estimated_anonymity = 2; 2519*d5c09012SAndroid Build Coastguard Worker } 2520*d5c09012SAndroid Build Coastguard Worker 2521*d5c09012SAndroid Build Coastguard Worker // A KMapEstimationHistogramBucket message with the following values: 2522*d5c09012SAndroid Build Coastguard Worker // min_anonymity: 3 2523*d5c09012SAndroid Build Coastguard Worker // max_anonymity: 5 2524*d5c09012SAndroid Build Coastguard Worker // frequency: 42 2525*d5c09012SAndroid Build Coastguard Worker // means that there are 42 records whose quasi-identifier values correspond 2526*d5c09012SAndroid Build Coastguard Worker // to 3, 4 or 5 people in the overlying population. An important particular 2527*d5c09012SAndroid Build Coastguard Worker // case is when min_anonymity = max_anonymity = 1: the frequency field then 2528*d5c09012SAndroid Build Coastguard Worker // corresponds to the number of uniquely identifiable records. 2529*d5c09012SAndroid Build Coastguard Worker message KMapEstimationHistogramBucket { 2530*d5c09012SAndroid Build Coastguard Worker // Always positive. 2531*d5c09012SAndroid Build Coastguard Worker int64 min_anonymity = 1; 2532*d5c09012SAndroid Build Coastguard Worker 2533*d5c09012SAndroid Build Coastguard Worker // Always greater than or equal to min_anonymity. 2534*d5c09012SAndroid Build Coastguard Worker int64 max_anonymity = 2; 2535*d5c09012SAndroid Build Coastguard Worker 2536*d5c09012SAndroid Build Coastguard Worker // Number of records within these anonymity bounds. 2537*d5c09012SAndroid Build Coastguard Worker int64 bucket_size = 5; 2538*d5c09012SAndroid Build Coastguard Worker 2539*d5c09012SAndroid Build Coastguard Worker // Sample of quasi-identifier tuple values in this bucket. The total 2540*d5c09012SAndroid Build Coastguard Worker // number of classes returned per bucket is capped at 20. 2541*d5c09012SAndroid Build Coastguard Worker repeated KMapEstimationQuasiIdValues bucket_values = 6; 2542*d5c09012SAndroid Build Coastguard Worker 2543*d5c09012SAndroid Build Coastguard Worker // Total number of distinct quasi-identifier tuple values in this bucket. 2544*d5c09012SAndroid Build Coastguard Worker int64 bucket_value_count = 7; 2545*d5c09012SAndroid Build Coastguard Worker } 2546*d5c09012SAndroid Build Coastguard Worker 2547*d5c09012SAndroid Build Coastguard Worker // The intervals [min_anonymity, max_anonymity] do not overlap. If a value 2548*d5c09012SAndroid Build Coastguard Worker // doesn't correspond to any such interval, the associated frequency is 2549*d5c09012SAndroid Build Coastguard Worker // zero. For example, the following records: 2550*d5c09012SAndroid Build Coastguard Worker // {min_anonymity: 1, max_anonymity: 1, frequency: 17} 2551*d5c09012SAndroid Build Coastguard Worker // {min_anonymity: 2, max_anonymity: 3, frequency: 42} 2552*d5c09012SAndroid Build Coastguard Worker // {min_anonymity: 5, max_anonymity: 10, frequency: 99} 2553*d5c09012SAndroid Build Coastguard Worker // mean that there are no record with an estimated anonymity of 4, 5, or 2554*d5c09012SAndroid Build Coastguard Worker // larger than 10. 2555*d5c09012SAndroid Build Coastguard Worker repeated KMapEstimationHistogramBucket k_map_estimation_histogram = 1; 2556*d5c09012SAndroid Build Coastguard Worker } 2557*d5c09012SAndroid Build Coastguard Worker 2558*d5c09012SAndroid Build Coastguard Worker // Result of the δ-presence computation. Note that these results are an 2559*d5c09012SAndroid Build Coastguard Worker // estimation, not exact values. 2560*d5c09012SAndroid Build Coastguard Worker message DeltaPresenceEstimationResult { 2561*d5c09012SAndroid Build Coastguard Worker // A tuple of values for the quasi-identifier columns. 2562*d5c09012SAndroid Build Coastguard Worker message DeltaPresenceEstimationQuasiIdValues { 2563*d5c09012SAndroid Build Coastguard Worker // The quasi-identifier values. 2564*d5c09012SAndroid Build Coastguard Worker repeated Value quasi_ids_values = 1; 2565*d5c09012SAndroid Build Coastguard Worker 2566*d5c09012SAndroid Build Coastguard Worker // The estimated probability that a given individual sharing these 2567*d5c09012SAndroid Build Coastguard Worker // quasi-identifier values is in the dataset. This value, typically 2568*d5c09012SAndroid Build Coastguard Worker // called δ, is the ratio between the number of records in the dataset 2569*d5c09012SAndroid Build Coastguard Worker // with these quasi-identifier values, and the total number of individuals 2570*d5c09012SAndroid Build Coastguard Worker // (inside *and* outside the dataset) with these quasi-identifier values. 2571*d5c09012SAndroid Build Coastguard Worker // For example, if there are 15 individuals in the dataset who share the 2572*d5c09012SAndroid Build Coastguard Worker // same quasi-identifier values, and an estimated 100 people in the entire 2573*d5c09012SAndroid Build Coastguard Worker // population with these values, then δ is 0.15. 2574*d5c09012SAndroid Build Coastguard Worker double estimated_probability = 2; 2575*d5c09012SAndroid Build Coastguard Worker } 2576*d5c09012SAndroid Build Coastguard Worker 2577*d5c09012SAndroid Build Coastguard Worker // A DeltaPresenceEstimationHistogramBucket message with the following 2578*d5c09012SAndroid Build Coastguard Worker // values: 2579*d5c09012SAndroid Build Coastguard Worker // min_probability: 0.1 2580*d5c09012SAndroid Build Coastguard Worker // max_probability: 0.2 2581*d5c09012SAndroid Build Coastguard Worker // frequency: 42 2582*d5c09012SAndroid Build Coastguard Worker // means that there are 42 records for which δ is in [0.1, 0.2). An 2583*d5c09012SAndroid Build Coastguard Worker // important particular case is when min_probability = max_probability = 1: 2584*d5c09012SAndroid Build Coastguard Worker // then, every individual who shares this quasi-identifier combination is in 2585*d5c09012SAndroid Build Coastguard Worker // the dataset. 2586*d5c09012SAndroid Build Coastguard Worker message DeltaPresenceEstimationHistogramBucket { 2587*d5c09012SAndroid Build Coastguard Worker // Between 0 and 1. 2588*d5c09012SAndroid Build Coastguard Worker double min_probability = 1; 2589*d5c09012SAndroid Build Coastguard Worker 2590*d5c09012SAndroid Build Coastguard Worker // Always greater than or equal to min_probability. 2591*d5c09012SAndroid Build Coastguard Worker double max_probability = 2; 2592*d5c09012SAndroid Build Coastguard Worker 2593*d5c09012SAndroid Build Coastguard Worker // Number of records within these probability bounds. 2594*d5c09012SAndroid Build Coastguard Worker int64 bucket_size = 5; 2595*d5c09012SAndroid Build Coastguard Worker 2596*d5c09012SAndroid Build Coastguard Worker // Sample of quasi-identifier tuple values in this bucket. The total 2597*d5c09012SAndroid Build Coastguard Worker // number of classes returned per bucket is capped at 20. 2598*d5c09012SAndroid Build Coastguard Worker repeated DeltaPresenceEstimationQuasiIdValues bucket_values = 6; 2599*d5c09012SAndroid Build Coastguard Worker 2600*d5c09012SAndroid Build Coastguard Worker // Total number of distinct quasi-identifier tuple values in this bucket. 2601*d5c09012SAndroid Build Coastguard Worker int64 bucket_value_count = 7; 2602*d5c09012SAndroid Build Coastguard Worker } 2603*d5c09012SAndroid Build Coastguard Worker 2604*d5c09012SAndroid Build Coastguard Worker // The intervals [min_probability, max_probability) do not overlap. If a 2605*d5c09012SAndroid Build Coastguard Worker // value doesn't correspond to any such interval, the associated frequency 2606*d5c09012SAndroid Build Coastguard Worker // is zero. For example, the following records: 2607*d5c09012SAndroid Build Coastguard Worker // {min_probability: 0, max_probability: 0.1, frequency: 17} 2608*d5c09012SAndroid Build Coastguard Worker // {min_probability: 0.2, max_probability: 0.3, frequency: 42} 2609*d5c09012SAndroid Build Coastguard Worker // {min_probability: 0.3, max_probability: 0.4, frequency: 99} 2610*d5c09012SAndroid Build Coastguard Worker // mean that there are no record with an estimated probability in [0.1, 0.2) 2611*d5c09012SAndroid Build Coastguard Worker // nor larger or equal to 0.4. 2612*d5c09012SAndroid Build Coastguard Worker repeated DeltaPresenceEstimationHistogramBucket 2613*d5c09012SAndroid Build Coastguard Worker delta_presence_estimation_histogram = 1; 2614*d5c09012SAndroid Build Coastguard Worker } 2615*d5c09012SAndroid Build Coastguard Worker 2616*d5c09012SAndroid Build Coastguard Worker // Risk analysis options. 2617*d5c09012SAndroid Build Coastguard Worker message RequestedRiskAnalysisOptions { 2618*d5c09012SAndroid Build Coastguard Worker // The job config for the risk job. 2619*d5c09012SAndroid Build Coastguard Worker RiskAnalysisJobConfig job_config = 1; 2620*d5c09012SAndroid Build Coastguard Worker } 2621*d5c09012SAndroid Build Coastguard Worker 2622*d5c09012SAndroid Build Coastguard Worker // Privacy metric to compute. 2623*d5c09012SAndroid Build Coastguard Worker PrivacyMetric requested_privacy_metric = 1; 2624*d5c09012SAndroid Build Coastguard Worker 2625*d5c09012SAndroid Build Coastguard Worker // Input dataset to compute metrics over. 2626*d5c09012SAndroid Build Coastguard Worker BigQueryTable requested_source_table = 2; 2627*d5c09012SAndroid Build Coastguard Worker 2628*d5c09012SAndroid Build Coastguard Worker // Values associated with this metric. 2629*d5c09012SAndroid Build Coastguard Worker oneof result { 2630*d5c09012SAndroid Build Coastguard Worker // Numerical stats result 2631*d5c09012SAndroid Build Coastguard Worker NumericalStatsResult numerical_stats_result = 3; 2632*d5c09012SAndroid Build Coastguard Worker 2633*d5c09012SAndroid Build Coastguard Worker // Categorical stats result 2634*d5c09012SAndroid Build Coastguard Worker CategoricalStatsResult categorical_stats_result = 4; 2635*d5c09012SAndroid Build Coastguard Worker 2636*d5c09012SAndroid Build Coastguard Worker // K-anonymity result 2637*d5c09012SAndroid Build Coastguard Worker KAnonymityResult k_anonymity_result = 5; 2638*d5c09012SAndroid Build Coastguard Worker 2639*d5c09012SAndroid Build Coastguard Worker // L-divesity result 2640*d5c09012SAndroid Build Coastguard Worker LDiversityResult l_diversity_result = 6; 2641*d5c09012SAndroid Build Coastguard Worker 2642*d5c09012SAndroid Build Coastguard Worker // K-map result 2643*d5c09012SAndroid Build Coastguard Worker KMapEstimationResult k_map_estimation_result = 7; 2644*d5c09012SAndroid Build Coastguard Worker 2645*d5c09012SAndroid Build Coastguard Worker // Delta-presence result 2646*d5c09012SAndroid Build Coastguard Worker DeltaPresenceEstimationResult delta_presence_estimation_result = 9; 2647*d5c09012SAndroid Build Coastguard Worker } 2648*d5c09012SAndroid Build Coastguard Worker 2649*d5c09012SAndroid Build Coastguard Worker // The configuration used for this job. 2650*d5c09012SAndroid Build Coastguard Worker RequestedRiskAnalysisOptions requested_options = 10; 2651*d5c09012SAndroid Build Coastguard Worker} 2652*d5c09012SAndroid Build Coastguard Worker 2653*d5c09012SAndroid Build Coastguard Worker// A value of a field, including its frequency. 2654*d5c09012SAndroid Build Coastguard Workermessage ValueFrequency { 2655*d5c09012SAndroid Build Coastguard Worker // A value contained in the field in question. 2656*d5c09012SAndroid Build Coastguard Worker Value value = 1; 2657*d5c09012SAndroid Build Coastguard Worker 2658*d5c09012SAndroid Build Coastguard Worker // How many times the value is contained in the field. 2659*d5c09012SAndroid Build Coastguard Worker int64 count = 2; 2660*d5c09012SAndroid Build Coastguard Worker} 2661*d5c09012SAndroid Build Coastguard Worker 2662*d5c09012SAndroid Build Coastguard Worker// Set of primitive values supported by the system. 2663*d5c09012SAndroid Build Coastguard Worker// Note that for the purposes of inspection or transformation, the number 2664*d5c09012SAndroid Build Coastguard Worker// of bytes considered to comprise a 'Value' is based on its representation 2665*d5c09012SAndroid Build Coastguard Worker// as a UTF-8 encoded string. For example, if 'integer_value' is set to 2666*d5c09012SAndroid Build Coastguard Worker// 123456789, the number of bytes would be counted as 9, even though an 2667*d5c09012SAndroid Build Coastguard Worker// int64 only holds up to 8 bytes of data. 2668*d5c09012SAndroid Build Coastguard Workermessage Value { 2669*d5c09012SAndroid Build Coastguard Worker // Value types 2670*d5c09012SAndroid Build Coastguard Worker oneof type { 2671*d5c09012SAndroid Build Coastguard Worker // integer 2672*d5c09012SAndroid Build Coastguard Worker int64 integer_value = 1; 2673*d5c09012SAndroid Build Coastguard Worker 2674*d5c09012SAndroid Build Coastguard Worker // float 2675*d5c09012SAndroid Build Coastguard Worker double float_value = 2; 2676*d5c09012SAndroid Build Coastguard Worker 2677*d5c09012SAndroid Build Coastguard Worker // string 2678*d5c09012SAndroid Build Coastguard Worker string string_value = 3; 2679*d5c09012SAndroid Build Coastguard Worker 2680*d5c09012SAndroid Build Coastguard Worker // boolean 2681*d5c09012SAndroid Build Coastguard Worker bool boolean_value = 4; 2682*d5c09012SAndroid Build Coastguard Worker 2683*d5c09012SAndroid Build Coastguard Worker // timestamp 2684*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp timestamp_value = 5; 2685*d5c09012SAndroid Build Coastguard Worker 2686*d5c09012SAndroid Build Coastguard Worker // time of day 2687*d5c09012SAndroid Build Coastguard Worker google.type.TimeOfDay time_value = 6; 2688*d5c09012SAndroid Build Coastguard Worker 2689*d5c09012SAndroid Build Coastguard Worker // date 2690*d5c09012SAndroid Build Coastguard Worker google.type.Date date_value = 7; 2691*d5c09012SAndroid Build Coastguard Worker 2692*d5c09012SAndroid Build Coastguard Worker // day of week 2693*d5c09012SAndroid Build Coastguard Worker google.type.DayOfWeek day_of_week_value = 8; 2694*d5c09012SAndroid Build Coastguard Worker } 2695*d5c09012SAndroid Build Coastguard Worker} 2696*d5c09012SAndroid Build Coastguard Worker 2697*d5c09012SAndroid Build Coastguard Worker// Message for infoType-dependent details parsed from quote. 2698*d5c09012SAndroid Build Coastguard Workermessage QuoteInfo { 2699*d5c09012SAndroid Build Coastguard Worker // Object representation of the quote. 2700*d5c09012SAndroid Build Coastguard Worker oneof parsed_quote { 2701*d5c09012SAndroid Build Coastguard Worker // The date time indicated by the quote. 2702*d5c09012SAndroid Build Coastguard Worker DateTime date_time = 2; 2703*d5c09012SAndroid Build Coastguard Worker } 2704*d5c09012SAndroid Build Coastguard Worker} 2705*d5c09012SAndroid Build Coastguard Worker 2706*d5c09012SAndroid Build Coastguard Worker// Message for a date time object. 2707*d5c09012SAndroid Build Coastguard Worker// e.g. 2018-01-01, 5th August. 2708*d5c09012SAndroid Build Coastguard Workermessage DateTime { 2709*d5c09012SAndroid Build Coastguard Worker // Time zone of the date time object. 2710*d5c09012SAndroid Build Coastguard Worker message TimeZone { 2711*d5c09012SAndroid Build Coastguard Worker // Set only if the offset can be determined. Positive for time ahead of UTC. 2712*d5c09012SAndroid Build Coastguard Worker // E.g. For "UTC-9", this value is -540. 2713*d5c09012SAndroid Build Coastguard Worker int32 offset_minutes = 1; 2714*d5c09012SAndroid Build Coastguard Worker } 2715*d5c09012SAndroid Build Coastguard Worker 2716*d5c09012SAndroid Build Coastguard Worker // One or more of the following must be set. 2717*d5c09012SAndroid Build Coastguard Worker // Must be a valid date or time value. 2718*d5c09012SAndroid Build Coastguard Worker google.type.Date date = 1; 2719*d5c09012SAndroid Build Coastguard Worker 2720*d5c09012SAndroid Build Coastguard Worker // Day of week 2721*d5c09012SAndroid Build Coastguard Worker google.type.DayOfWeek day_of_week = 2; 2722*d5c09012SAndroid Build Coastguard Worker 2723*d5c09012SAndroid Build Coastguard Worker // Time of day 2724*d5c09012SAndroid Build Coastguard Worker google.type.TimeOfDay time = 3; 2725*d5c09012SAndroid Build Coastguard Worker 2726*d5c09012SAndroid Build Coastguard Worker // Time zone 2727*d5c09012SAndroid Build Coastguard Worker TimeZone time_zone = 4; 2728*d5c09012SAndroid Build Coastguard Worker} 2729*d5c09012SAndroid Build Coastguard Worker 2730*d5c09012SAndroid Build Coastguard Worker// The configuration that controls how the data will change. 2731*d5c09012SAndroid Build Coastguard Workermessage DeidentifyConfig { 2732*d5c09012SAndroid Build Coastguard Worker // Type of transformation 2733*d5c09012SAndroid Build Coastguard Worker oneof transformation { 2734*d5c09012SAndroid Build Coastguard Worker // Treat the dataset as free-form text and apply the same free text 2735*d5c09012SAndroid Build Coastguard Worker // transformation everywhere. 2736*d5c09012SAndroid Build Coastguard Worker InfoTypeTransformations info_type_transformations = 1; 2737*d5c09012SAndroid Build Coastguard Worker 2738*d5c09012SAndroid Build Coastguard Worker // Treat the dataset as structured. Transformations can be applied to 2739*d5c09012SAndroid Build Coastguard Worker // specific locations within structured datasets, such as transforming 2740*d5c09012SAndroid Build Coastguard Worker // a column within a table. 2741*d5c09012SAndroid Build Coastguard Worker RecordTransformations record_transformations = 2; 2742*d5c09012SAndroid Build Coastguard Worker 2743*d5c09012SAndroid Build Coastguard Worker // Treat the dataset as an image and redact. 2744*d5c09012SAndroid Build Coastguard Worker ImageTransformations image_transformations = 4; 2745*d5c09012SAndroid Build Coastguard Worker } 2746*d5c09012SAndroid Build Coastguard Worker 2747*d5c09012SAndroid Build Coastguard Worker // Mode for handling transformation errors. If left unspecified, the default 2748*d5c09012SAndroid Build Coastguard Worker // mode is `TransformationErrorHandling.ThrowError`. 2749*d5c09012SAndroid Build Coastguard Worker TransformationErrorHandling transformation_error_handling = 3; 2750*d5c09012SAndroid Build Coastguard Worker} 2751*d5c09012SAndroid Build Coastguard Worker 2752*d5c09012SAndroid Build Coastguard Worker// A type of transformation that is applied over images. 2753*d5c09012SAndroid Build Coastguard Workermessage ImageTransformations { 2754*d5c09012SAndroid Build Coastguard Worker // Configuration for determining how redaction of images should occur. 2755*d5c09012SAndroid Build Coastguard Worker message ImageTransformation { 2756*d5c09012SAndroid Build Coastguard Worker // Apply transformation to the selected info_types. 2757*d5c09012SAndroid Build Coastguard Worker message SelectedInfoTypes { 2758*d5c09012SAndroid Build Coastguard Worker // Required. InfoTypes to apply the transformation to. Required. Provided 2759*d5c09012SAndroid Build Coastguard Worker // InfoType must be unique within the ImageTransformations message. 2760*d5c09012SAndroid Build Coastguard Worker repeated InfoType info_types = 5 [(google.api.field_behavior) = REQUIRED]; 2761*d5c09012SAndroid Build Coastguard Worker } 2762*d5c09012SAndroid Build Coastguard Worker 2763*d5c09012SAndroid Build Coastguard Worker // Apply transformation to all findings. 2764*d5c09012SAndroid Build Coastguard Worker message AllInfoTypes {} 2765*d5c09012SAndroid Build Coastguard Worker 2766*d5c09012SAndroid Build Coastguard Worker // Apply to all text. 2767*d5c09012SAndroid Build Coastguard Worker message AllText {} 2768*d5c09012SAndroid Build Coastguard Worker 2769*d5c09012SAndroid Build Coastguard Worker // Part of the image to transform. 2770*d5c09012SAndroid Build Coastguard Worker oneof target { 2771*d5c09012SAndroid Build Coastguard Worker // Apply transformation to the selected info_types. 2772*d5c09012SAndroid Build Coastguard Worker SelectedInfoTypes selected_info_types = 4; 2773*d5c09012SAndroid Build Coastguard Worker 2774*d5c09012SAndroid Build Coastguard Worker // Apply transformation to all findings not specified in other 2775*d5c09012SAndroid Build Coastguard Worker // ImageTransformation's selected_info_types. Only one instance is allowed 2776*d5c09012SAndroid Build Coastguard Worker // within the ImageTransformations message. 2777*d5c09012SAndroid Build Coastguard Worker AllInfoTypes all_info_types = 5; 2778*d5c09012SAndroid Build Coastguard Worker 2779*d5c09012SAndroid Build Coastguard Worker // Apply transformation to all text that doesn't match an infoType. Only 2780*d5c09012SAndroid Build Coastguard Worker // one instance is allowed within the ImageTransformations message. 2781*d5c09012SAndroid Build Coastguard Worker AllText all_text = 6; 2782*d5c09012SAndroid Build Coastguard Worker } 2783*d5c09012SAndroid Build Coastguard Worker 2784*d5c09012SAndroid Build Coastguard Worker // The color to use when redacting content from an image. If not 2785*d5c09012SAndroid Build Coastguard Worker // specified, the default is black. 2786*d5c09012SAndroid Build Coastguard Worker Color redaction_color = 3; 2787*d5c09012SAndroid Build Coastguard Worker } 2788*d5c09012SAndroid Build Coastguard Worker 2789*d5c09012SAndroid Build Coastguard Worker // List of transforms to make. 2790*d5c09012SAndroid Build Coastguard Worker repeated ImageTransformation transforms = 2; 2791*d5c09012SAndroid Build Coastguard Worker} 2792*d5c09012SAndroid Build Coastguard Worker 2793*d5c09012SAndroid Build Coastguard Worker// How to handle transformation errors during de-identification. A 2794*d5c09012SAndroid Build Coastguard Worker// transformation error occurs when the requested transformation is incompatible 2795*d5c09012SAndroid Build Coastguard Worker// with the data. For example, trying to de-identify an IP address using a 2796*d5c09012SAndroid Build Coastguard Worker// `DateShift` transformation would result in a transformation error, since date 2797*d5c09012SAndroid Build Coastguard Worker// info cannot be extracted from an IP address. 2798*d5c09012SAndroid Build Coastguard Worker// Information about any incompatible transformations, and how they were 2799*d5c09012SAndroid Build Coastguard Worker// handled, is returned in the response as part of the 2800*d5c09012SAndroid Build Coastguard Worker// `TransformationOverviews`. 2801*d5c09012SAndroid Build Coastguard Workermessage TransformationErrorHandling { 2802*d5c09012SAndroid Build Coastguard Worker // Throw an error and fail the request when a transformation error occurs. 2803*d5c09012SAndroid Build Coastguard Worker message ThrowError {} 2804*d5c09012SAndroid Build Coastguard Worker 2805*d5c09012SAndroid Build Coastguard Worker // Skips the data without modifying it if the requested transformation would 2806*d5c09012SAndroid Build Coastguard Worker // cause an error. For example, if a `DateShift` transformation were applied 2807*d5c09012SAndroid Build Coastguard Worker // an an IP address, this mode would leave the IP address unchanged in the 2808*d5c09012SAndroid Build Coastguard Worker // response. 2809*d5c09012SAndroid Build Coastguard Worker message LeaveUntransformed {} 2810*d5c09012SAndroid Build Coastguard Worker 2811*d5c09012SAndroid Build Coastguard Worker // How transformation errors should be handled. 2812*d5c09012SAndroid Build Coastguard Worker oneof mode { 2813*d5c09012SAndroid Build Coastguard Worker // Throw an error 2814*d5c09012SAndroid Build Coastguard Worker ThrowError throw_error = 1; 2815*d5c09012SAndroid Build Coastguard Worker 2816*d5c09012SAndroid Build Coastguard Worker // Ignore errors 2817*d5c09012SAndroid Build Coastguard Worker LeaveUntransformed leave_untransformed = 2; 2818*d5c09012SAndroid Build Coastguard Worker } 2819*d5c09012SAndroid Build Coastguard Worker} 2820*d5c09012SAndroid Build Coastguard Worker 2821*d5c09012SAndroid Build Coastguard Worker// A rule for transforming a value. 2822*d5c09012SAndroid Build Coastguard Workermessage PrimitiveTransformation { 2823*d5c09012SAndroid Build Coastguard Worker // Type of transformation. 2824*d5c09012SAndroid Build Coastguard Worker oneof transformation { 2825*d5c09012SAndroid Build Coastguard Worker // Replace with a specified value. 2826*d5c09012SAndroid Build Coastguard Worker ReplaceValueConfig replace_config = 1; 2827*d5c09012SAndroid Build Coastguard Worker 2828*d5c09012SAndroid Build Coastguard Worker // Redact 2829*d5c09012SAndroid Build Coastguard Worker RedactConfig redact_config = 2; 2830*d5c09012SAndroid Build Coastguard Worker 2831*d5c09012SAndroid Build Coastguard Worker // Mask 2832*d5c09012SAndroid Build Coastguard Worker CharacterMaskConfig character_mask_config = 3; 2833*d5c09012SAndroid Build Coastguard Worker 2834*d5c09012SAndroid Build Coastguard Worker // Ffx-Fpe 2835*d5c09012SAndroid Build Coastguard Worker CryptoReplaceFfxFpeConfig crypto_replace_ffx_fpe_config = 4; 2836*d5c09012SAndroid Build Coastguard Worker 2837*d5c09012SAndroid Build Coastguard Worker // Fixed size bucketing 2838*d5c09012SAndroid Build Coastguard Worker FixedSizeBucketingConfig fixed_size_bucketing_config = 5; 2839*d5c09012SAndroid Build Coastguard Worker 2840*d5c09012SAndroid Build Coastguard Worker // Bucketing 2841*d5c09012SAndroid Build Coastguard Worker BucketingConfig bucketing_config = 6; 2842*d5c09012SAndroid Build Coastguard Worker 2843*d5c09012SAndroid Build Coastguard Worker // Replace with infotype 2844*d5c09012SAndroid Build Coastguard Worker ReplaceWithInfoTypeConfig replace_with_info_type_config = 7; 2845*d5c09012SAndroid Build Coastguard Worker 2846*d5c09012SAndroid Build Coastguard Worker // Time extraction 2847*d5c09012SAndroid Build Coastguard Worker TimePartConfig time_part_config = 8; 2848*d5c09012SAndroid Build Coastguard Worker 2849*d5c09012SAndroid Build Coastguard Worker // Crypto 2850*d5c09012SAndroid Build Coastguard Worker CryptoHashConfig crypto_hash_config = 9; 2851*d5c09012SAndroid Build Coastguard Worker 2852*d5c09012SAndroid Build Coastguard Worker // Date Shift 2853*d5c09012SAndroid Build Coastguard Worker DateShiftConfig date_shift_config = 11; 2854*d5c09012SAndroid Build Coastguard Worker 2855*d5c09012SAndroid Build Coastguard Worker // Deterministic Crypto 2856*d5c09012SAndroid Build Coastguard Worker CryptoDeterministicConfig crypto_deterministic_config = 12; 2857*d5c09012SAndroid Build Coastguard Worker 2858*d5c09012SAndroid Build Coastguard Worker // Replace with a value randomly drawn (with replacement) from a dictionary. 2859*d5c09012SAndroid Build Coastguard Worker ReplaceDictionaryConfig replace_dictionary_config = 13; 2860*d5c09012SAndroid Build Coastguard Worker } 2861*d5c09012SAndroid Build Coastguard Worker} 2862*d5c09012SAndroid Build Coastguard Worker 2863*d5c09012SAndroid Build Coastguard Worker// For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a 2864*d5c09012SAndroid Build Coastguard Worker// portion of the value. 2865*d5c09012SAndroid Build Coastguard Workermessage TimePartConfig { 2866*d5c09012SAndroid Build Coastguard Worker // Components that make up time. 2867*d5c09012SAndroid Build Coastguard Worker enum TimePart { 2868*d5c09012SAndroid Build Coastguard Worker // Unused 2869*d5c09012SAndroid Build Coastguard Worker TIME_PART_UNSPECIFIED = 0; 2870*d5c09012SAndroid Build Coastguard Worker 2871*d5c09012SAndroid Build Coastguard Worker // [0-9999] 2872*d5c09012SAndroid Build Coastguard Worker YEAR = 1; 2873*d5c09012SAndroid Build Coastguard Worker 2874*d5c09012SAndroid Build Coastguard Worker // [1-12] 2875*d5c09012SAndroid Build Coastguard Worker MONTH = 2; 2876*d5c09012SAndroid Build Coastguard Worker 2877*d5c09012SAndroid Build Coastguard Worker // [1-31] 2878*d5c09012SAndroid Build Coastguard Worker DAY_OF_MONTH = 3; 2879*d5c09012SAndroid Build Coastguard Worker 2880*d5c09012SAndroid Build Coastguard Worker // [1-7] 2881*d5c09012SAndroid Build Coastguard Worker DAY_OF_WEEK = 4; 2882*d5c09012SAndroid Build Coastguard Worker 2883*d5c09012SAndroid Build Coastguard Worker // [1-53] 2884*d5c09012SAndroid Build Coastguard Worker WEEK_OF_YEAR = 5; 2885*d5c09012SAndroid Build Coastguard Worker 2886*d5c09012SAndroid Build Coastguard Worker // [0-23] 2887*d5c09012SAndroid Build Coastguard Worker HOUR_OF_DAY = 6; 2888*d5c09012SAndroid Build Coastguard Worker } 2889*d5c09012SAndroid Build Coastguard Worker 2890*d5c09012SAndroid Build Coastguard Worker // The part of the time to keep. 2891*d5c09012SAndroid Build Coastguard Worker TimePart part_to_extract = 1; 2892*d5c09012SAndroid Build Coastguard Worker} 2893*d5c09012SAndroid Build Coastguard Worker 2894*d5c09012SAndroid Build Coastguard Worker// Pseudonymization method that generates surrogates via cryptographic hashing. 2895*d5c09012SAndroid Build Coastguard Worker// Uses SHA-256. 2896*d5c09012SAndroid Build Coastguard Worker// The key size must be either 32 or 64 bytes. 2897*d5c09012SAndroid Build Coastguard Worker// Outputs a base64 encoded representation of the hashed output 2898*d5c09012SAndroid Build Coastguard Worker// (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=). 2899*d5c09012SAndroid Build Coastguard Worker// Currently, only string and integer values can be hashed. 2900*d5c09012SAndroid Build Coastguard Worker// See https://cloud.google.com/sensitive-data-protection/docs/pseudonymization 2901*d5c09012SAndroid Build Coastguard Worker// to learn more. 2902*d5c09012SAndroid Build Coastguard Workermessage CryptoHashConfig { 2903*d5c09012SAndroid Build Coastguard Worker // The key used by the hash function. 2904*d5c09012SAndroid Build Coastguard Worker CryptoKey crypto_key = 1; 2905*d5c09012SAndroid Build Coastguard Worker} 2906*d5c09012SAndroid Build Coastguard Worker 2907*d5c09012SAndroid Build Coastguard Worker// Pseudonymization method that generates deterministic encryption for the given 2908*d5c09012SAndroid Build Coastguard Worker// input. Outputs a base64 encoded representation of the encrypted output. 2909*d5c09012SAndroid Build Coastguard Worker// Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. 2910*d5c09012SAndroid Build Coastguard Workermessage CryptoDeterministicConfig { 2911*d5c09012SAndroid Build Coastguard Worker // The key used by the encryption function. For deterministic encryption 2912*d5c09012SAndroid Build Coastguard Worker // using AES-SIV, the provided key is internally expanded to 64 bytes prior to 2913*d5c09012SAndroid Build Coastguard Worker // use. 2914*d5c09012SAndroid Build Coastguard Worker CryptoKey crypto_key = 1; 2915*d5c09012SAndroid Build Coastguard Worker 2916*d5c09012SAndroid Build Coastguard Worker // The custom info type to annotate the surrogate with. 2917*d5c09012SAndroid Build Coastguard Worker // This annotation will be applied to the surrogate by prefixing it with 2918*d5c09012SAndroid Build Coastguard Worker // the name of the custom info type followed by the number of 2919*d5c09012SAndroid Build Coastguard Worker // characters comprising the surrogate. The following scheme defines the 2920*d5c09012SAndroid Build Coastguard Worker // format: {info type name}({surrogate character count}):{surrogate} 2921*d5c09012SAndroid Build Coastguard Worker // 2922*d5c09012SAndroid Build Coastguard Worker // For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and 2923*d5c09012SAndroid Build Coastguard Worker // the surrogate is 'abc', the full replacement value 2924*d5c09012SAndroid Build Coastguard Worker // will be: 'MY_TOKEN_INFO_TYPE(3):abc' 2925*d5c09012SAndroid Build Coastguard Worker // 2926*d5c09012SAndroid Build Coastguard Worker // This annotation identifies the surrogate when inspecting content using the 2927*d5c09012SAndroid Build Coastguard Worker // custom info type 'Surrogate'. This facilitates reversal of the 2928*d5c09012SAndroid Build Coastguard Worker // surrogate when it occurs in free text. 2929*d5c09012SAndroid Build Coastguard Worker // 2930*d5c09012SAndroid Build Coastguard Worker // Note: For record transformations where the entire cell in a table is being 2931*d5c09012SAndroid Build Coastguard Worker // transformed, surrogates are not mandatory. Surrogates are used to denote 2932*d5c09012SAndroid Build Coastguard Worker // the location of the token and are necessary for re-identification in free 2933*d5c09012SAndroid Build Coastguard Worker // form text. 2934*d5c09012SAndroid Build Coastguard Worker // 2935*d5c09012SAndroid Build Coastguard Worker // In order for inspection to work properly, the name of this info type must 2936*d5c09012SAndroid Build Coastguard Worker // not occur naturally anywhere in your data; otherwise, inspection may either 2937*d5c09012SAndroid Build Coastguard Worker // 2938*d5c09012SAndroid Build Coastguard Worker // - reverse a surrogate that does not correspond to an actual identifier 2939*d5c09012SAndroid Build Coastguard Worker // - be unable to parse the surrogate and result in an error 2940*d5c09012SAndroid Build Coastguard Worker // 2941*d5c09012SAndroid Build Coastguard Worker // Therefore, choose your custom info type name carefully after considering 2942*d5c09012SAndroid Build Coastguard Worker // what your data looks like. One way to select a name that has a high chance 2943*d5c09012SAndroid Build Coastguard Worker // of yielding reliable detection is to include one or more unicode characters 2944*d5c09012SAndroid Build Coastguard Worker // that are highly improbable to exist in your data. 2945*d5c09012SAndroid Build Coastguard Worker // For example, assuming your data is entered from a regular ASCII keyboard, 2946*d5c09012SAndroid Build Coastguard Worker // the symbol with the hex code point 29DD might be used like so: 2947*d5c09012SAndroid Build Coastguard Worker // ⧝MY_TOKEN_TYPE. 2948*d5c09012SAndroid Build Coastguard Worker InfoType surrogate_info_type = 2; 2949*d5c09012SAndroid Build Coastguard Worker 2950*d5c09012SAndroid Build Coastguard Worker // A context may be used for higher security and maintaining 2951*d5c09012SAndroid Build Coastguard Worker // referential integrity such that the same identifier in two different 2952*d5c09012SAndroid Build Coastguard Worker // contexts will be given a distinct surrogate. The context is appended to 2953*d5c09012SAndroid Build Coastguard Worker // plaintext value being encrypted. On decryption the provided context is 2954*d5c09012SAndroid Build Coastguard Worker // validated against the value used during encryption. If a context was 2955*d5c09012SAndroid Build Coastguard Worker // provided during encryption, same context must be provided during decryption 2956*d5c09012SAndroid Build Coastguard Worker // as well. 2957*d5c09012SAndroid Build Coastguard Worker // 2958*d5c09012SAndroid Build Coastguard Worker // If the context is not set, plaintext would be used as is for encryption. 2959*d5c09012SAndroid Build Coastguard Worker // If the context is set but: 2960*d5c09012SAndroid Build Coastguard Worker // 2961*d5c09012SAndroid Build Coastguard Worker // 1. there is no record present when transforming a given value or 2962*d5c09012SAndroid Build Coastguard Worker // 2. the field is not present when transforming a given value, 2963*d5c09012SAndroid Build Coastguard Worker // 2964*d5c09012SAndroid Build Coastguard Worker // plaintext would be used as is for encryption. 2965*d5c09012SAndroid Build Coastguard Worker // 2966*d5c09012SAndroid Build Coastguard Worker // Note that case (1) is expected when an `InfoTypeTransformation` is 2967*d5c09012SAndroid Build Coastguard Worker // applied to both structured and unstructured `ContentItem`s. 2968*d5c09012SAndroid Build Coastguard Worker FieldId context = 3; 2969*d5c09012SAndroid Build Coastguard Worker} 2970*d5c09012SAndroid Build Coastguard Worker 2971*d5c09012SAndroid Build Coastguard Worker// Replace each input value with a given `Value`. 2972*d5c09012SAndroid Build Coastguard Workermessage ReplaceValueConfig { 2973*d5c09012SAndroid Build Coastguard Worker // Value to replace it with. 2974*d5c09012SAndroid Build Coastguard Worker Value new_value = 1; 2975*d5c09012SAndroid Build Coastguard Worker} 2976*d5c09012SAndroid Build Coastguard Worker 2977*d5c09012SAndroid Build Coastguard Worker// Replace each input value with a value randomly selected from the dictionary. 2978*d5c09012SAndroid Build Coastguard Workermessage ReplaceDictionaryConfig { 2979*d5c09012SAndroid Build Coastguard Worker // Type of dictionary. 2980*d5c09012SAndroid Build Coastguard Worker oneof type { 2981*d5c09012SAndroid Build Coastguard Worker // A list of words to select from for random replacement. The 2982*d5c09012SAndroid Build Coastguard Worker // [limits](https://cloud.google.com/sensitive-data-protection/limits) page 2983*d5c09012SAndroid Build Coastguard Worker // contains details about the size limits of dictionaries. 2984*d5c09012SAndroid Build Coastguard Worker CustomInfoType.Dictionary.WordList word_list = 1; 2985*d5c09012SAndroid Build Coastguard Worker } 2986*d5c09012SAndroid Build Coastguard Worker} 2987*d5c09012SAndroid Build Coastguard Worker 2988*d5c09012SAndroid Build Coastguard Worker// Replace each matching finding with the name of the info_type. 2989*d5c09012SAndroid Build Coastguard Workermessage ReplaceWithInfoTypeConfig {} 2990*d5c09012SAndroid Build Coastguard Worker 2991*d5c09012SAndroid Build Coastguard Worker// Redact a given value. For example, if used with an `InfoTypeTransformation` 2992*d5c09012SAndroid Build Coastguard Worker// transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the 2993*d5c09012SAndroid Build Coastguard Worker// output would be 'My phone number is '. 2994*d5c09012SAndroid Build Coastguard Workermessage RedactConfig {} 2995*d5c09012SAndroid Build Coastguard Worker 2996*d5c09012SAndroid Build Coastguard Worker// Characters to skip when doing deidentification of a value. These will be left 2997*d5c09012SAndroid Build Coastguard Worker// alone and skipped. 2998*d5c09012SAndroid Build Coastguard Workermessage CharsToIgnore { 2999*d5c09012SAndroid Build Coastguard Worker // Convenience enum for indicating common characters to not transform. 3000*d5c09012SAndroid Build Coastguard Worker enum CommonCharsToIgnore { 3001*d5c09012SAndroid Build Coastguard Worker // Unused. 3002*d5c09012SAndroid Build Coastguard Worker COMMON_CHARS_TO_IGNORE_UNSPECIFIED = 0; 3003*d5c09012SAndroid Build Coastguard Worker 3004*d5c09012SAndroid Build Coastguard Worker // 0-9 3005*d5c09012SAndroid Build Coastguard Worker NUMERIC = 1; 3006*d5c09012SAndroid Build Coastguard Worker 3007*d5c09012SAndroid Build Coastguard Worker // A-Z 3008*d5c09012SAndroid Build Coastguard Worker ALPHA_UPPER_CASE = 2; 3009*d5c09012SAndroid Build Coastguard Worker 3010*d5c09012SAndroid Build Coastguard Worker // a-z 3011*d5c09012SAndroid Build Coastguard Worker ALPHA_LOWER_CASE = 3; 3012*d5c09012SAndroid Build Coastguard Worker 3013*d5c09012SAndroid Build Coastguard Worker // US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 3014*d5c09012SAndroid Build Coastguard Worker PUNCTUATION = 4; 3015*d5c09012SAndroid Build Coastguard Worker 3016*d5c09012SAndroid Build Coastguard Worker // Whitespace character, one of [ \t\n\x0B\f\r] 3017*d5c09012SAndroid Build Coastguard Worker WHITESPACE = 5; 3018*d5c09012SAndroid Build Coastguard Worker } 3019*d5c09012SAndroid Build Coastguard Worker 3020*d5c09012SAndroid Build Coastguard Worker // Type of characters to skip. 3021*d5c09012SAndroid Build Coastguard Worker oneof characters { 3022*d5c09012SAndroid Build Coastguard Worker // Characters to not transform when masking. 3023*d5c09012SAndroid Build Coastguard Worker string characters_to_skip = 1; 3024*d5c09012SAndroid Build Coastguard Worker 3025*d5c09012SAndroid Build Coastguard Worker // Common characters to not transform when masking. Useful to avoid removing 3026*d5c09012SAndroid Build Coastguard Worker // punctuation. 3027*d5c09012SAndroid Build Coastguard Worker CommonCharsToIgnore common_characters_to_ignore = 2; 3028*d5c09012SAndroid Build Coastguard Worker } 3029*d5c09012SAndroid Build Coastguard Worker} 3030*d5c09012SAndroid Build Coastguard Worker 3031*d5c09012SAndroid Build Coastguard Worker// Partially mask a string by replacing a given number of characters with a 3032*d5c09012SAndroid Build Coastguard Worker// fixed character. Masking can start from the beginning or end of the string. 3033*d5c09012SAndroid Build Coastguard Worker// This can be used on data of any type (numbers, longs, and so on) and when 3034*d5c09012SAndroid Build Coastguard Worker// de-identifying structured data we'll attempt to preserve the original data's 3035*d5c09012SAndroid Build Coastguard Worker// type. (This allows you to take a long like 123 and modify it to a string like 3036*d5c09012SAndroid Build Coastguard Worker// **3. 3037*d5c09012SAndroid Build Coastguard Workermessage CharacterMaskConfig { 3038*d5c09012SAndroid Build Coastguard Worker // Character to use to mask the sensitive values—for example, `*` for an 3039*d5c09012SAndroid Build Coastguard Worker // alphabetic string such as a name, or `0` for a numeric string such as ZIP 3040*d5c09012SAndroid Build Coastguard Worker // code or credit card number. This string must have a length of 1. If not 3041*d5c09012SAndroid Build Coastguard Worker // supplied, this value defaults to `*` for strings, and `0` for digits. 3042*d5c09012SAndroid Build Coastguard Worker string masking_character = 1; 3043*d5c09012SAndroid Build Coastguard Worker 3044*d5c09012SAndroid Build Coastguard Worker // Number of characters to mask. If not set, all matching chars will be 3045*d5c09012SAndroid Build Coastguard Worker // masked. Skipped characters do not count towards this tally. 3046*d5c09012SAndroid Build Coastguard Worker // 3047*d5c09012SAndroid Build Coastguard Worker // If `number_to_mask` is negative, this denotes inverse masking. Cloud DLP 3048*d5c09012SAndroid Build Coastguard Worker // masks all but a number of characters. 3049*d5c09012SAndroid Build Coastguard Worker // For example, suppose you have the following values: 3050*d5c09012SAndroid Build Coastguard Worker // 3051*d5c09012SAndroid Build Coastguard Worker // - `masking_character` is `*` 3052*d5c09012SAndroid Build Coastguard Worker // - `number_to_mask` is `-4` 3053*d5c09012SAndroid Build Coastguard Worker // - `reverse_order` is `false` 3054*d5c09012SAndroid Build Coastguard Worker // - `CharsToIgnore` includes `-` 3055*d5c09012SAndroid Build Coastguard Worker // - Input string is `1234-5678-9012-3456` 3056*d5c09012SAndroid Build Coastguard Worker // 3057*d5c09012SAndroid Build Coastguard Worker // The resulting de-identified string is 3058*d5c09012SAndroid Build Coastguard Worker // `****-****-****-3456`. Cloud DLP masks all but the last four characters. 3059*d5c09012SAndroid Build Coastguard Worker // If `reverse_order` is `true`, all but the first four characters are masked 3060*d5c09012SAndroid Build Coastguard Worker // as `1234-****-****-****`. 3061*d5c09012SAndroid Build Coastguard Worker int32 number_to_mask = 2; 3062*d5c09012SAndroid Build Coastguard Worker 3063*d5c09012SAndroid Build Coastguard Worker // Mask characters in reverse order. For example, if `masking_character` is 3064*d5c09012SAndroid Build Coastguard Worker // `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the 3065*d5c09012SAndroid Build Coastguard Worker // input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. 3066*d5c09012SAndroid Build Coastguard Worker // If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` 3067*d5c09012SAndroid Build Coastguard Worker // is `true`, then the string `12345` is masked as `12***`. 3068*d5c09012SAndroid Build Coastguard Worker bool reverse_order = 3; 3069*d5c09012SAndroid Build Coastguard Worker 3070*d5c09012SAndroid Build Coastguard Worker // When masking a string, items in this list will be skipped when replacing 3071*d5c09012SAndroid Build Coastguard Worker // characters. For example, if the input string is `555-555-5555` and you 3072*d5c09012SAndroid Build Coastguard Worker // instruct Cloud DLP to skip `-` and mask 5 characters with `*`, Cloud DLP 3073*d5c09012SAndroid Build Coastguard Worker // returns `***-**5-5555`. 3074*d5c09012SAndroid Build Coastguard Worker repeated CharsToIgnore characters_to_ignore = 4; 3075*d5c09012SAndroid Build Coastguard Worker} 3076*d5c09012SAndroid Build Coastguard Worker 3077*d5c09012SAndroid Build Coastguard Worker// Buckets values based on fixed size ranges. The 3078*d5c09012SAndroid Build Coastguard Worker// Bucketing transformation can provide all of this functionality, 3079*d5c09012SAndroid Build Coastguard Worker// but requires more configuration. This message is provided as a convenience to 3080*d5c09012SAndroid Build Coastguard Worker// the user for simple bucketing strategies. 3081*d5c09012SAndroid Build Coastguard Worker// 3082*d5c09012SAndroid Build Coastguard Worker// The transformed value will be a hyphenated string of 3083*d5c09012SAndroid Build Coastguard Worker// {lower_bound}-{upper_bound}. For example, if lower_bound = 10 and upper_bound 3084*d5c09012SAndroid Build Coastguard Worker// = 20, all values that are within this bucket will be replaced with "10-20". 3085*d5c09012SAndroid Build Coastguard Worker// 3086*d5c09012SAndroid Build Coastguard Worker// This can be used on data of type: double, long. 3087*d5c09012SAndroid Build Coastguard Worker// 3088*d5c09012SAndroid Build Coastguard Worker// If the bound Value type differs from the type of data 3089*d5c09012SAndroid Build Coastguard Worker// being transformed, we will first attempt converting the type of the data to 3090*d5c09012SAndroid Build Coastguard Worker// be transformed to match the type of the bound before comparing. 3091*d5c09012SAndroid Build Coastguard Worker// 3092*d5c09012SAndroid Build Coastguard Worker// See 3093*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/concepts-bucketing to 3094*d5c09012SAndroid Build Coastguard Worker// learn more. 3095*d5c09012SAndroid Build Coastguard Workermessage FixedSizeBucketingConfig { 3096*d5c09012SAndroid Build Coastguard Worker // Required. Lower bound value of buckets. All values less than `lower_bound` 3097*d5c09012SAndroid Build Coastguard Worker // are grouped together into a single bucket; for example if `lower_bound` = 3098*d5c09012SAndroid Build Coastguard Worker // 10, then all values less than 10 are replaced with the value "-10". 3099*d5c09012SAndroid Build Coastguard Worker Value lower_bound = 1 [(google.api.field_behavior) = REQUIRED]; 3100*d5c09012SAndroid Build Coastguard Worker 3101*d5c09012SAndroid Build Coastguard Worker // Required. Upper bound value of buckets. All values greater than upper_bound 3102*d5c09012SAndroid Build Coastguard Worker // are grouped together into a single bucket; for example if `upper_bound` = 3103*d5c09012SAndroid Build Coastguard Worker // 89, then all values greater than 89 are replaced with the value "89+". 3104*d5c09012SAndroid Build Coastguard Worker Value upper_bound = 2 [(google.api.field_behavior) = REQUIRED]; 3105*d5c09012SAndroid Build Coastguard Worker 3106*d5c09012SAndroid Build Coastguard Worker // Required. Size of each bucket (except for minimum and maximum buckets). So 3107*d5c09012SAndroid Build Coastguard Worker // if `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the 3108*d5c09012SAndroid Build Coastguard Worker // following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 3109*d5c09012SAndroid Build Coastguard Worker // 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. 3110*d5c09012SAndroid Build Coastguard Worker double bucket_size = 3 [(google.api.field_behavior) = REQUIRED]; 3111*d5c09012SAndroid Build Coastguard Worker} 3112*d5c09012SAndroid Build Coastguard Worker 3113*d5c09012SAndroid Build Coastguard Worker// Generalization function that buckets values based on ranges. The ranges and 3114*d5c09012SAndroid Build Coastguard Worker// replacement values are dynamically provided by the user for custom behavior, 3115*d5c09012SAndroid Build Coastguard Worker// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH 3116*d5c09012SAndroid Build Coastguard Worker// This can be used on 3117*d5c09012SAndroid Build Coastguard Worker// data of type: number, long, string, timestamp. 3118*d5c09012SAndroid Build Coastguard Worker// If the bound `Value` type differs from the type of data being transformed, we 3119*d5c09012SAndroid Build Coastguard Worker// will first attempt converting the type of the data to be transformed to match 3120*d5c09012SAndroid Build Coastguard Worker// the type of the bound before comparing. 3121*d5c09012SAndroid Build Coastguard Worker// See 3122*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/concepts-bucketing to 3123*d5c09012SAndroid Build Coastguard Worker// learn more. 3124*d5c09012SAndroid Build Coastguard Workermessage BucketingConfig { 3125*d5c09012SAndroid Build Coastguard Worker // Bucket is represented as a range, along with replacement values. 3126*d5c09012SAndroid Build Coastguard Worker message Bucket { 3127*d5c09012SAndroid Build Coastguard Worker // Lower bound of the range, inclusive. Type should be the same as max if 3128*d5c09012SAndroid Build Coastguard Worker // used. 3129*d5c09012SAndroid Build Coastguard Worker Value min = 1; 3130*d5c09012SAndroid Build Coastguard Worker 3131*d5c09012SAndroid Build Coastguard Worker // Upper bound of the range, exclusive; type must match min. 3132*d5c09012SAndroid Build Coastguard Worker Value max = 2; 3133*d5c09012SAndroid Build Coastguard Worker 3134*d5c09012SAndroid Build Coastguard Worker // Required. Replacement value for this bucket. 3135*d5c09012SAndroid Build Coastguard Worker Value replacement_value = 3 [(google.api.field_behavior) = REQUIRED]; 3136*d5c09012SAndroid Build Coastguard Worker } 3137*d5c09012SAndroid Build Coastguard Worker 3138*d5c09012SAndroid Build Coastguard Worker // Set of buckets. Ranges must be non-overlapping. 3139*d5c09012SAndroid Build Coastguard Worker repeated Bucket buckets = 1; 3140*d5c09012SAndroid Build Coastguard Worker} 3141*d5c09012SAndroid Build Coastguard Worker 3142*d5c09012SAndroid Build Coastguard Worker// Replaces an identifier with a surrogate using Format Preserving Encryption 3143*d5c09012SAndroid Build Coastguard Worker// (FPE) with the FFX mode of operation; however when used in the 3144*d5c09012SAndroid Build Coastguard Worker// `ReidentifyContent` API method, it serves the opposite function by reversing 3145*d5c09012SAndroid Build Coastguard Worker// the surrogate back into the original identifier. The identifier must be 3146*d5c09012SAndroid Build Coastguard Worker// encoded as ASCII. For a given crypto key and context, the same identifier 3147*d5c09012SAndroid Build Coastguard Worker// will be replaced with the same surrogate. Identifiers must be at least two 3148*d5c09012SAndroid Build Coastguard Worker// characters long. In the case that the identifier is the empty string, it will 3149*d5c09012SAndroid Build Coastguard Worker// be skipped. See 3150*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/pseudonymization to 3151*d5c09012SAndroid Build Coastguard Worker// learn more. 3152*d5c09012SAndroid Build Coastguard Worker// 3153*d5c09012SAndroid Build Coastguard Worker// Note: We recommend using CryptoDeterministicConfig for all use cases which 3154*d5c09012SAndroid Build Coastguard Worker// do not require preserving the input alphabet space and size, plus warrant 3155*d5c09012SAndroid Build Coastguard Worker// referential integrity. 3156*d5c09012SAndroid Build Coastguard Workermessage CryptoReplaceFfxFpeConfig { 3157*d5c09012SAndroid Build Coastguard Worker // These are commonly used subsets of the alphabet that the FFX mode 3158*d5c09012SAndroid Build Coastguard Worker // natively supports. In the algorithm, the alphabet is selected using 3159*d5c09012SAndroid Build Coastguard Worker // the "radix". Therefore each corresponds to a particular radix. 3160*d5c09012SAndroid Build Coastguard Worker enum FfxCommonNativeAlphabet { 3161*d5c09012SAndroid Build Coastguard Worker // Unused. 3162*d5c09012SAndroid Build Coastguard Worker FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED = 0; 3163*d5c09012SAndroid Build Coastguard Worker 3164*d5c09012SAndroid Build Coastguard Worker // `[0-9]` (radix of 10) 3165*d5c09012SAndroid Build Coastguard Worker NUMERIC = 1; 3166*d5c09012SAndroid Build Coastguard Worker 3167*d5c09012SAndroid Build Coastguard Worker // `[0-9A-F]` (radix of 16) 3168*d5c09012SAndroid Build Coastguard Worker HEXADECIMAL = 2; 3169*d5c09012SAndroid Build Coastguard Worker 3170*d5c09012SAndroid Build Coastguard Worker // `[0-9A-Z]` (radix of 36) 3171*d5c09012SAndroid Build Coastguard Worker UPPER_CASE_ALPHA_NUMERIC = 3; 3172*d5c09012SAndroid Build Coastguard Worker 3173*d5c09012SAndroid Build Coastguard Worker // `[0-9A-Za-z]` (radix of 62) 3174*d5c09012SAndroid Build Coastguard Worker ALPHA_NUMERIC = 4; 3175*d5c09012SAndroid Build Coastguard Worker } 3176*d5c09012SAndroid Build Coastguard Worker 3177*d5c09012SAndroid Build Coastguard Worker // Required. The key used by the encryption algorithm. 3178*d5c09012SAndroid Build Coastguard Worker CryptoKey crypto_key = 1 [(google.api.field_behavior) = REQUIRED]; 3179*d5c09012SAndroid Build Coastguard Worker 3180*d5c09012SAndroid Build Coastguard Worker // The 'tweak', a context may be used for higher security since the same 3181*d5c09012SAndroid Build Coastguard Worker // identifier in two different contexts won't be given the same surrogate. If 3182*d5c09012SAndroid Build Coastguard Worker // the context is not set, a default tweak will be used. 3183*d5c09012SAndroid Build Coastguard Worker // 3184*d5c09012SAndroid Build Coastguard Worker // If the context is set but: 3185*d5c09012SAndroid Build Coastguard Worker // 3186*d5c09012SAndroid Build Coastguard Worker // 1. there is no record present when transforming a given value or 3187*d5c09012SAndroid Build Coastguard Worker // 1. the field is not present when transforming a given value, 3188*d5c09012SAndroid Build Coastguard Worker // 3189*d5c09012SAndroid Build Coastguard Worker // a default tweak will be used. 3190*d5c09012SAndroid Build Coastguard Worker // 3191*d5c09012SAndroid Build Coastguard Worker // Note that case (1) is expected when an `InfoTypeTransformation` is 3192*d5c09012SAndroid Build Coastguard Worker // applied to both structured and unstructured `ContentItem`s. 3193*d5c09012SAndroid Build Coastguard Worker // Currently, the referenced field may be of value type integer or string. 3194*d5c09012SAndroid Build Coastguard Worker // 3195*d5c09012SAndroid Build Coastguard Worker // The tweak is constructed as a sequence of bytes in big endian byte order 3196*d5c09012SAndroid Build Coastguard Worker // such that: 3197*d5c09012SAndroid Build Coastguard Worker // 3198*d5c09012SAndroid Build Coastguard Worker // - a 64 bit integer is encoded followed by a single byte of value 1 3199*d5c09012SAndroid Build Coastguard Worker // - a string is encoded in UTF-8 format followed by a single byte of value 2 3200*d5c09012SAndroid Build Coastguard Worker FieldId context = 2; 3201*d5c09012SAndroid Build Coastguard Worker 3202*d5c09012SAndroid Build Coastguard Worker // Choose an alphabet which the data being transformed will be made up of. 3203*d5c09012SAndroid Build Coastguard Worker oneof alphabet { 3204*d5c09012SAndroid Build Coastguard Worker // Common alphabets. 3205*d5c09012SAndroid Build Coastguard Worker FfxCommonNativeAlphabet common_alphabet = 4; 3206*d5c09012SAndroid Build Coastguard Worker 3207*d5c09012SAndroid Build Coastguard Worker // This is supported by mapping these to the alphanumeric characters 3208*d5c09012SAndroid Build Coastguard Worker // that the FFX mode natively supports. This happens before/after 3209*d5c09012SAndroid Build Coastguard Worker // encryption/decryption. 3210*d5c09012SAndroid Build Coastguard Worker // Each character listed must appear only once. 3211*d5c09012SAndroid Build Coastguard Worker // Number of characters must be in the range [2, 95]. 3212*d5c09012SAndroid Build Coastguard Worker // This must be encoded as ASCII. 3213*d5c09012SAndroid Build Coastguard Worker // The order of characters does not matter. 3214*d5c09012SAndroid Build Coastguard Worker // The full list of allowed characters is: 3215*d5c09012SAndroid Build Coastguard Worker // <code>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 3216*d5c09012SAndroid Build Coastguard Worker // ~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/</code> 3217*d5c09012SAndroid Build Coastguard Worker string custom_alphabet = 5; 3218*d5c09012SAndroid Build Coastguard Worker 3219*d5c09012SAndroid Build Coastguard Worker // The native way to select the alphabet. Must be in the range [2, 95]. 3220*d5c09012SAndroid Build Coastguard Worker int32 radix = 6; 3221*d5c09012SAndroid Build Coastguard Worker } 3222*d5c09012SAndroid Build Coastguard Worker 3223*d5c09012SAndroid Build Coastguard Worker // The custom infoType to annotate the surrogate with. 3224*d5c09012SAndroid Build Coastguard Worker // This annotation will be applied to the surrogate by prefixing it with 3225*d5c09012SAndroid Build Coastguard Worker // the name of the custom infoType followed by the number of 3226*d5c09012SAndroid Build Coastguard Worker // characters comprising the surrogate. The following scheme defines the 3227*d5c09012SAndroid Build Coastguard Worker // format: info_type_name(surrogate_character_count):surrogate 3228*d5c09012SAndroid Build Coastguard Worker // 3229*d5c09012SAndroid Build Coastguard Worker // For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and 3230*d5c09012SAndroid Build Coastguard Worker // the surrogate is 'abc', the full replacement value 3231*d5c09012SAndroid Build Coastguard Worker // will be: 'MY_TOKEN_INFO_TYPE(3):abc' 3232*d5c09012SAndroid Build Coastguard Worker // 3233*d5c09012SAndroid Build Coastguard Worker // This annotation identifies the surrogate when inspecting content using the 3234*d5c09012SAndroid Build Coastguard Worker // custom infoType 3235*d5c09012SAndroid Build Coastguard Worker // [`SurrogateType`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/InspectConfig#surrogatetype). 3236*d5c09012SAndroid Build Coastguard Worker // This facilitates reversal of the surrogate when it occurs in free text. 3237*d5c09012SAndroid Build Coastguard Worker // 3238*d5c09012SAndroid Build Coastguard Worker // In order for inspection to work properly, the name of this infoType must 3239*d5c09012SAndroid Build Coastguard Worker // not occur naturally anywhere in your data; otherwise, inspection may 3240*d5c09012SAndroid Build Coastguard Worker // find a surrogate that does not correspond to an actual identifier. 3241*d5c09012SAndroid Build Coastguard Worker // Therefore, choose your custom infoType name carefully after considering 3242*d5c09012SAndroid Build Coastguard Worker // what your data looks like. One way to select a name that has a high chance 3243*d5c09012SAndroid Build Coastguard Worker // of yielding reliable detection is to include one or more unicode characters 3244*d5c09012SAndroid Build Coastguard Worker // that are highly improbable to exist in your data. 3245*d5c09012SAndroid Build Coastguard Worker // For example, assuming your data is entered from a regular ASCII keyboard, 3246*d5c09012SAndroid Build Coastguard Worker // the symbol with the hex code point 29DD might be used like so: 3247*d5c09012SAndroid Build Coastguard Worker // ⧝MY_TOKEN_TYPE 3248*d5c09012SAndroid Build Coastguard Worker InfoType surrogate_info_type = 8; 3249*d5c09012SAndroid Build Coastguard Worker} 3250*d5c09012SAndroid Build Coastguard Worker 3251*d5c09012SAndroid Build Coastguard Worker// This is a data encryption key (DEK) (as opposed to 3252*d5c09012SAndroid Build Coastguard Worker// a key encryption key (KEK) stored by Cloud Key Management Service 3253*d5c09012SAndroid Build Coastguard Worker// (Cloud KMS). 3254*d5c09012SAndroid Build Coastguard Worker// When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate 3255*d5c09012SAndroid Build Coastguard Worker// IAM policy on the KEK to ensure an attacker cannot 3256*d5c09012SAndroid Build Coastguard Worker// unwrap the DEK. 3257*d5c09012SAndroid Build Coastguard Workermessage CryptoKey { 3258*d5c09012SAndroid Build Coastguard Worker // Sources of crypto keys. 3259*d5c09012SAndroid Build Coastguard Worker oneof source { 3260*d5c09012SAndroid Build Coastguard Worker // Transient crypto key 3261*d5c09012SAndroid Build Coastguard Worker TransientCryptoKey transient = 1; 3262*d5c09012SAndroid Build Coastguard Worker 3263*d5c09012SAndroid Build Coastguard Worker // Unwrapped crypto key 3264*d5c09012SAndroid Build Coastguard Worker UnwrappedCryptoKey unwrapped = 2; 3265*d5c09012SAndroid Build Coastguard Worker 3266*d5c09012SAndroid Build Coastguard Worker // Key wrapped using Cloud KMS 3267*d5c09012SAndroid Build Coastguard Worker KmsWrappedCryptoKey kms_wrapped = 3; 3268*d5c09012SAndroid Build Coastguard Worker } 3269*d5c09012SAndroid Build Coastguard Worker} 3270*d5c09012SAndroid Build Coastguard Worker 3271*d5c09012SAndroid Build Coastguard Worker// Use this to have a random data crypto key generated. 3272*d5c09012SAndroid Build Coastguard Worker// It will be discarded after the request finishes. 3273*d5c09012SAndroid Build Coastguard Workermessage TransientCryptoKey { 3274*d5c09012SAndroid Build Coastguard Worker // Required. Name of the key. 3275*d5c09012SAndroid Build Coastguard Worker // This is an arbitrary string used to differentiate different keys. 3276*d5c09012SAndroid Build Coastguard Worker // A unique key is generated per name: two separate `TransientCryptoKey` 3277*d5c09012SAndroid Build Coastguard Worker // protos share the same generated key if their names are the same. 3278*d5c09012SAndroid Build Coastguard Worker // When the data crypto key is generated, this name is not used in any way 3279*d5c09012SAndroid Build Coastguard Worker // (repeating the api call will result in a different key being generated). 3280*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 3281*d5c09012SAndroid Build Coastguard Worker} 3282*d5c09012SAndroid Build Coastguard Worker 3283*d5c09012SAndroid Build Coastguard Worker// Using raw keys is prone to security risks due to accidentally 3284*d5c09012SAndroid Build Coastguard Worker// leaking the key. Choose another type of key if possible. 3285*d5c09012SAndroid Build Coastguard Workermessage UnwrappedCryptoKey { 3286*d5c09012SAndroid Build Coastguard Worker // Required. A 128/192/256 bit key. 3287*d5c09012SAndroid Build Coastguard Worker bytes key = 1 [(google.api.field_behavior) = REQUIRED]; 3288*d5c09012SAndroid Build Coastguard Worker} 3289*d5c09012SAndroid Build Coastguard Worker 3290*d5c09012SAndroid Build Coastguard Worker// Include to use an existing data crypto key wrapped by KMS. 3291*d5c09012SAndroid Build Coastguard Worker// The wrapped key must be a 128-, 192-, or 256-bit key. 3292*d5c09012SAndroid Build Coastguard Worker// Authorization requires the following IAM permissions when sending a request 3293*d5c09012SAndroid Build Coastguard Worker// to perform a crypto transformation using a KMS-wrapped crypto key: 3294*d5c09012SAndroid Build Coastguard Worker// dlp.kms.encrypt 3295*d5c09012SAndroid Build Coastguard Worker// 3296*d5c09012SAndroid Build Coastguard Worker// For more information, see [Creating a wrapped key] 3297*d5c09012SAndroid Build Coastguard Worker// (https://cloud.google.com/sensitive-data-protection/docs/create-wrapped-key). 3298*d5c09012SAndroid Build Coastguard Worker// 3299*d5c09012SAndroid Build Coastguard Worker// Note: When you use Cloud KMS for cryptographic operations, 3300*d5c09012SAndroid Build Coastguard Worker// [charges apply](https://cloud.google.com/kms/pricing). 3301*d5c09012SAndroid Build Coastguard Workermessage KmsWrappedCryptoKey { 3302*d5c09012SAndroid Build Coastguard Worker // Required. The wrapped data crypto key. 3303*d5c09012SAndroid Build Coastguard Worker bytes wrapped_key = 1 [(google.api.field_behavior) = REQUIRED]; 3304*d5c09012SAndroid Build Coastguard Worker 3305*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the KMS CryptoKey to use for unwrapping. 3306*d5c09012SAndroid Build Coastguard Worker string crypto_key_name = 2 [(google.api.field_behavior) = REQUIRED]; 3307*d5c09012SAndroid Build Coastguard Worker} 3308*d5c09012SAndroid Build Coastguard Worker 3309*d5c09012SAndroid Build Coastguard Worker// Shifts dates by random number of days, with option to be consistent for the 3310*d5c09012SAndroid Build Coastguard Worker// same context. See 3311*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/concepts-date-shifting 3312*d5c09012SAndroid Build Coastguard Worker// to learn more. 3313*d5c09012SAndroid Build Coastguard Workermessage DateShiftConfig { 3314*d5c09012SAndroid Build Coastguard Worker // Required. Range of shift in days. Actual shift will be selected at random 3315*d5c09012SAndroid Build Coastguard Worker // within this range (inclusive ends). Negative means shift to earlier in 3316*d5c09012SAndroid Build Coastguard Worker // time. Must not be more than 365250 days (1000 years) each direction. 3317*d5c09012SAndroid Build Coastguard Worker // 3318*d5c09012SAndroid Build Coastguard Worker // For example, 3 means shift date to at most 3 days into the future. 3319*d5c09012SAndroid Build Coastguard Worker int32 upper_bound_days = 1 [(google.api.field_behavior) = REQUIRED]; 3320*d5c09012SAndroid Build Coastguard Worker 3321*d5c09012SAndroid Build Coastguard Worker // Required. For example, -5 means shift date to at most 5 days back in the 3322*d5c09012SAndroid Build Coastguard Worker // past. 3323*d5c09012SAndroid Build Coastguard Worker int32 lower_bound_days = 2 [(google.api.field_behavior) = REQUIRED]; 3324*d5c09012SAndroid Build Coastguard Worker 3325*d5c09012SAndroid Build Coastguard Worker // Points to the field that contains the context, for example, an entity id. 3326*d5c09012SAndroid Build Coastguard Worker // If set, must also set cryptoKey. If set, shift will be consistent for the 3327*d5c09012SAndroid Build Coastguard Worker // given context. 3328*d5c09012SAndroid Build Coastguard Worker FieldId context = 3; 3329*d5c09012SAndroid Build Coastguard Worker 3330*d5c09012SAndroid Build Coastguard Worker // Method for calculating shift that takes context into consideration. If 3331*d5c09012SAndroid Build Coastguard Worker // set, must also set context. Can only be applied to table items. 3332*d5c09012SAndroid Build Coastguard Worker oneof method { 3333*d5c09012SAndroid Build Coastguard Worker // Causes the shift to be computed based on this key and the context. This 3334*d5c09012SAndroid Build Coastguard Worker // results in the same shift for the same context and crypto_key. If 3335*d5c09012SAndroid Build Coastguard Worker // set, must also set context. Can only be applied to table items. 3336*d5c09012SAndroid Build Coastguard Worker CryptoKey crypto_key = 4; 3337*d5c09012SAndroid Build Coastguard Worker } 3338*d5c09012SAndroid Build Coastguard Worker} 3339*d5c09012SAndroid Build Coastguard Worker 3340*d5c09012SAndroid Build Coastguard Worker// A type of transformation that will scan unstructured text and 3341*d5c09012SAndroid Build Coastguard Worker// apply various `PrimitiveTransformation`s to each finding, where the 3342*d5c09012SAndroid Build Coastguard Worker// transformation is applied to only values that were identified as a specific 3343*d5c09012SAndroid Build Coastguard Worker// info_type. 3344*d5c09012SAndroid Build Coastguard Workermessage InfoTypeTransformations { 3345*d5c09012SAndroid Build Coastguard Worker // A transformation to apply to text that is identified as a specific 3346*d5c09012SAndroid Build Coastguard Worker // info_type. 3347*d5c09012SAndroid Build Coastguard Worker message InfoTypeTransformation { 3348*d5c09012SAndroid Build Coastguard Worker // InfoTypes to apply the transformation to. An empty list will cause 3349*d5c09012SAndroid Build Coastguard Worker // this transformation to apply to all findings that correspond to 3350*d5c09012SAndroid Build Coastguard Worker // infoTypes that were requested in `InspectConfig`. 3351*d5c09012SAndroid Build Coastguard Worker repeated InfoType info_types = 1; 3352*d5c09012SAndroid Build Coastguard Worker 3353*d5c09012SAndroid Build Coastguard Worker // Required. Primitive transformation to apply to the infoType. 3354*d5c09012SAndroid Build Coastguard Worker PrimitiveTransformation primitive_transformation = 2 3355*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 3356*d5c09012SAndroid Build Coastguard Worker } 3357*d5c09012SAndroid Build Coastguard Worker 3358*d5c09012SAndroid Build Coastguard Worker // Required. Transformation for each infoType. Cannot specify more than one 3359*d5c09012SAndroid Build Coastguard Worker // for a given infoType. 3360*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeTransformation transformations = 1 3361*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 3362*d5c09012SAndroid Build Coastguard Worker} 3363*d5c09012SAndroid Build Coastguard Worker 3364*d5c09012SAndroid Build Coastguard Worker// The transformation to apply to the field. 3365*d5c09012SAndroid Build Coastguard Workermessage FieldTransformation { 3366*d5c09012SAndroid Build Coastguard Worker // Required. Input field(s) to apply the transformation to. 3367*d5c09012SAndroid Build Coastguard Worker // When you have columns that reference their position within a list, 3368*d5c09012SAndroid Build Coastguard Worker // omit the index from the FieldId. FieldId name matching ignores the index. 3369*d5c09012SAndroid Build Coastguard Worker // For example, instead of "contact.nums[0].type", use "contact.nums.type". 3370*d5c09012SAndroid Build Coastguard Worker repeated FieldId fields = 1 [(google.api.field_behavior) = REQUIRED]; 3371*d5c09012SAndroid Build Coastguard Worker 3372*d5c09012SAndroid Build Coastguard Worker // Only apply the transformation if the condition evaluates to true for the 3373*d5c09012SAndroid Build Coastguard Worker // given `RecordCondition`. The conditions are allowed to reference fields 3374*d5c09012SAndroid Build Coastguard Worker // that are not used in the actual transformation. 3375*d5c09012SAndroid Build Coastguard Worker // 3376*d5c09012SAndroid Build Coastguard Worker // Example Use Cases: 3377*d5c09012SAndroid Build Coastguard Worker // 3378*d5c09012SAndroid Build Coastguard Worker // - Apply a different bucket transformation to an age column if the zip code 3379*d5c09012SAndroid Build Coastguard Worker // column for the same record is within a specific range. 3380*d5c09012SAndroid Build Coastguard Worker // - Redact a field if the date of birth field is greater than 85. 3381*d5c09012SAndroid Build Coastguard Worker RecordCondition condition = 3; 3382*d5c09012SAndroid Build Coastguard Worker 3383*d5c09012SAndroid Build Coastguard Worker // Transformation to apply. [required] 3384*d5c09012SAndroid Build Coastguard Worker oneof transformation { 3385*d5c09012SAndroid Build Coastguard Worker // Apply the transformation to the entire field. 3386*d5c09012SAndroid Build Coastguard Worker PrimitiveTransformation primitive_transformation = 4; 3387*d5c09012SAndroid Build Coastguard Worker 3388*d5c09012SAndroid Build Coastguard Worker // Treat the contents of the field as free text, and selectively 3389*d5c09012SAndroid Build Coastguard Worker // transform content that matches an `InfoType`. 3390*d5c09012SAndroid Build Coastguard Worker InfoTypeTransformations info_type_transformations = 5; 3391*d5c09012SAndroid Build Coastguard Worker } 3392*d5c09012SAndroid Build Coastguard Worker} 3393*d5c09012SAndroid Build Coastguard Worker 3394*d5c09012SAndroid Build Coastguard Worker// A type of transformation that is applied over structured data such as a 3395*d5c09012SAndroid Build Coastguard Worker// table. 3396*d5c09012SAndroid Build Coastguard Workermessage RecordTransformations { 3397*d5c09012SAndroid Build Coastguard Worker // Transform the record by applying various field transformations. 3398*d5c09012SAndroid Build Coastguard Worker repeated FieldTransformation field_transformations = 1; 3399*d5c09012SAndroid Build Coastguard Worker 3400*d5c09012SAndroid Build Coastguard Worker // Configuration defining which records get suppressed entirely. Records that 3401*d5c09012SAndroid Build Coastguard Worker // match any suppression rule are omitted from the output. 3402*d5c09012SAndroid Build Coastguard Worker repeated RecordSuppression record_suppressions = 2; 3403*d5c09012SAndroid Build Coastguard Worker} 3404*d5c09012SAndroid Build Coastguard Worker 3405*d5c09012SAndroid Build Coastguard Worker// Configuration to suppress records whose suppression conditions evaluate to 3406*d5c09012SAndroid Build Coastguard Worker// true. 3407*d5c09012SAndroid Build Coastguard Workermessage RecordSuppression { 3408*d5c09012SAndroid Build Coastguard Worker // A condition that when it evaluates to true will result in the record being 3409*d5c09012SAndroid Build Coastguard Worker // evaluated to be suppressed from the transformed content. 3410*d5c09012SAndroid Build Coastguard Worker RecordCondition condition = 1; 3411*d5c09012SAndroid Build Coastguard Worker} 3412*d5c09012SAndroid Build Coastguard Worker 3413*d5c09012SAndroid Build Coastguard Worker// A condition for determining whether a transformation should be applied to 3414*d5c09012SAndroid Build Coastguard Worker// a field. 3415*d5c09012SAndroid Build Coastguard Workermessage RecordCondition { 3416*d5c09012SAndroid Build Coastguard Worker // The field type of `value` and `field` do not need to match to be 3417*d5c09012SAndroid Build Coastguard Worker // considered equal, but not all comparisons are possible. 3418*d5c09012SAndroid Build Coastguard Worker // EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, 3419*d5c09012SAndroid Build Coastguard Worker // but all other comparisons are invalid with incompatible types. 3420*d5c09012SAndroid Build Coastguard Worker // A `value` of type: 3421*d5c09012SAndroid Build Coastguard Worker // 3422*d5c09012SAndroid Build Coastguard Worker // - `string` can be compared against all other types 3423*d5c09012SAndroid Build Coastguard Worker // - `boolean` can only be compared against other booleans 3424*d5c09012SAndroid Build Coastguard Worker // - `integer` can be compared against doubles or a string if the string value 3425*d5c09012SAndroid Build Coastguard Worker // can be parsed as an integer. 3426*d5c09012SAndroid Build Coastguard Worker // - `double` can be compared against integers or a string if the string can 3427*d5c09012SAndroid Build Coastguard Worker // be parsed as a double. 3428*d5c09012SAndroid Build Coastguard Worker // - `Timestamp` can be compared against strings in RFC 3339 date string 3429*d5c09012SAndroid Build Coastguard Worker // format. 3430*d5c09012SAndroid Build Coastguard Worker // - `TimeOfDay` can be compared against timestamps and strings in the format 3431*d5c09012SAndroid Build Coastguard Worker // of 'HH:mm:ss'. 3432*d5c09012SAndroid Build Coastguard Worker // 3433*d5c09012SAndroid Build Coastguard Worker // If we fail to compare do to type mismatch, a warning will be given and 3434*d5c09012SAndroid Build Coastguard Worker // the condition will evaluate to false. 3435*d5c09012SAndroid Build Coastguard Worker message Condition { 3436*d5c09012SAndroid Build Coastguard Worker // Required. Field within the record this condition is evaluated against. 3437*d5c09012SAndroid Build Coastguard Worker FieldId field = 1 [(google.api.field_behavior) = REQUIRED]; 3438*d5c09012SAndroid Build Coastguard Worker 3439*d5c09012SAndroid Build Coastguard Worker // Required. Operator used to compare the field or infoType to the value. 3440*d5c09012SAndroid Build Coastguard Worker RelationalOperator operator = 3 [(google.api.field_behavior) = REQUIRED]; 3441*d5c09012SAndroid Build Coastguard Worker 3442*d5c09012SAndroid Build Coastguard Worker // Value to compare against. [Mandatory, except for `EXISTS` tests.] 3443*d5c09012SAndroid Build Coastguard Worker Value value = 4; 3444*d5c09012SAndroid Build Coastguard Worker } 3445*d5c09012SAndroid Build Coastguard Worker 3446*d5c09012SAndroid Build Coastguard Worker // A collection of conditions. 3447*d5c09012SAndroid Build Coastguard Worker message Conditions { 3448*d5c09012SAndroid Build Coastguard Worker // A collection of conditions. 3449*d5c09012SAndroid Build Coastguard Worker repeated Condition conditions = 1; 3450*d5c09012SAndroid Build Coastguard Worker } 3451*d5c09012SAndroid Build Coastguard Worker 3452*d5c09012SAndroid Build Coastguard Worker // An expression, consisting of an operator and conditions. 3453*d5c09012SAndroid Build Coastguard Worker message Expressions { 3454*d5c09012SAndroid Build Coastguard Worker // Logical operators for conditional checks. 3455*d5c09012SAndroid Build Coastguard Worker enum LogicalOperator { 3456*d5c09012SAndroid Build Coastguard Worker // Unused 3457*d5c09012SAndroid Build Coastguard Worker LOGICAL_OPERATOR_UNSPECIFIED = 0; 3458*d5c09012SAndroid Build Coastguard Worker 3459*d5c09012SAndroid Build Coastguard Worker // Conditional AND 3460*d5c09012SAndroid Build Coastguard Worker AND = 1; 3461*d5c09012SAndroid Build Coastguard Worker } 3462*d5c09012SAndroid Build Coastguard Worker 3463*d5c09012SAndroid Build Coastguard Worker // The operator to apply to the result of conditions. Default and currently 3464*d5c09012SAndroid Build Coastguard Worker // only supported value is `AND`. 3465*d5c09012SAndroid Build Coastguard Worker LogicalOperator logical_operator = 1; 3466*d5c09012SAndroid Build Coastguard Worker 3467*d5c09012SAndroid Build Coastguard Worker // Expression types. 3468*d5c09012SAndroid Build Coastguard Worker oneof type { 3469*d5c09012SAndroid Build Coastguard Worker // Conditions to apply to the expression. 3470*d5c09012SAndroid Build Coastguard Worker Conditions conditions = 3; 3471*d5c09012SAndroid Build Coastguard Worker } 3472*d5c09012SAndroid Build Coastguard Worker } 3473*d5c09012SAndroid Build Coastguard Worker 3474*d5c09012SAndroid Build Coastguard Worker // An expression. 3475*d5c09012SAndroid Build Coastguard Worker Expressions expressions = 3; 3476*d5c09012SAndroid Build Coastguard Worker} 3477*d5c09012SAndroid Build Coastguard Worker 3478*d5c09012SAndroid Build Coastguard Worker// Overview of the modifications that occurred. 3479*d5c09012SAndroid Build Coastguard Workermessage TransformationOverview { 3480*d5c09012SAndroid Build Coastguard Worker // Total size in bytes that were transformed in some way. 3481*d5c09012SAndroid Build Coastguard Worker int64 transformed_bytes = 2; 3482*d5c09012SAndroid Build Coastguard Worker 3483*d5c09012SAndroid Build Coastguard Worker // Transformations applied to the dataset. 3484*d5c09012SAndroid Build Coastguard Worker repeated TransformationSummary transformation_summaries = 3; 3485*d5c09012SAndroid Build Coastguard Worker} 3486*d5c09012SAndroid Build Coastguard Worker 3487*d5c09012SAndroid Build Coastguard Worker// Summary of a single transformation. 3488*d5c09012SAndroid Build Coastguard Worker// Only one of 'transformation', 'field_transformation', or 'record_suppress' 3489*d5c09012SAndroid Build Coastguard Worker// will be set. 3490*d5c09012SAndroid Build Coastguard Workermessage TransformationSummary { 3491*d5c09012SAndroid Build Coastguard Worker // Possible outcomes of transformations. 3492*d5c09012SAndroid Build Coastguard Worker enum TransformationResultCode { 3493*d5c09012SAndroid Build Coastguard Worker // Unused 3494*d5c09012SAndroid Build Coastguard Worker TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0; 3495*d5c09012SAndroid Build Coastguard Worker 3496*d5c09012SAndroid Build Coastguard Worker // Transformation completed without an error. 3497*d5c09012SAndroid Build Coastguard Worker SUCCESS = 1; 3498*d5c09012SAndroid Build Coastguard Worker 3499*d5c09012SAndroid Build Coastguard Worker // Transformation had an error. 3500*d5c09012SAndroid Build Coastguard Worker ERROR = 2; 3501*d5c09012SAndroid Build Coastguard Worker } 3502*d5c09012SAndroid Build Coastguard Worker 3503*d5c09012SAndroid Build Coastguard Worker // A collection that informs the user the number of times a particular 3504*d5c09012SAndroid Build Coastguard Worker // `TransformationResultCode` and error details occurred. 3505*d5c09012SAndroid Build Coastguard Worker message SummaryResult { 3506*d5c09012SAndroid Build Coastguard Worker // Number of transformations counted by this result. 3507*d5c09012SAndroid Build Coastguard Worker int64 count = 1; 3508*d5c09012SAndroid Build Coastguard Worker 3509*d5c09012SAndroid Build Coastguard Worker // Outcome of the transformation. 3510*d5c09012SAndroid Build Coastguard Worker TransformationResultCode code = 2; 3511*d5c09012SAndroid Build Coastguard Worker 3512*d5c09012SAndroid Build Coastguard Worker // A place for warnings or errors to show up if a transformation didn't 3513*d5c09012SAndroid Build Coastguard Worker // work as expected. 3514*d5c09012SAndroid Build Coastguard Worker string details = 3; 3515*d5c09012SAndroid Build Coastguard Worker } 3516*d5c09012SAndroid Build Coastguard Worker 3517*d5c09012SAndroid Build Coastguard Worker // Set if the transformation was limited to a specific InfoType. 3518*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 1; 3519*d5c09012SAndroid Build Coastguard Worker 3520*d5c09012SAndroid Build Coastguard Worker // Set if the transformation was limited to a specific FieldId. 3521*d5c09012SAndroid Build Coastguard Worker FieldId field = 2; 3522*d5c09012SAndroid Build Coastguard Worker 3523*d5c09012SAndroid Build Coastguard Worker // The specific transformation these stats apply to. 3524*d5c09012SAndroid Build Coastguard Worker PrimitiveTransformation transformation = 3; 3525*d5c09012SAndroid Build Coastguard Worker 3526*d5c09012SAndroid Build Coastguard Worker // The field transformation that was applied. 3527*d5c09012SAndroid Build Coastguard Worker // If multiple field transformations are requested for a single field, 3528*d5c09012SAndroid Build Coastguard Worker // this list will contain all of them; otherwise, only one is supplied. 3529*d5c09012SAndroid Build Coastguard Worker repeated FieldTransformation field_transformations = 5; 3530*d5c09012SAndroid Build Coastguard Worker 3531*d5c09012SAndroid Build Coastguard Worker // The specific suppression option these stats apply to. 3532*d5c09012SAndroid Build Coastguard Worker RecordSuppression record_suppress = 6; 3533*d5c09012SAndroid Build Coastguard Worker 3534*d5c09012SAndroid Build Coastguard Worker // Collection of all transformations that took place or had an error. 3535*d5c09012SAndroid Build Coastguard Worker repeated SummaryResult results = 4; 3536*d5c09012SAndroid Build Coastguard Worker 3537*d5c09012SAndroid Build Coastguard Worker // Total size in bytes that were transformed in some way. 3538*d5c09012SAndroid Build Coastguard Worker int64 transformed_bytes = 7; 3539*d5c09012SAndroid Build Coastguard Worker} 3540*d5c09012SAndroid Build Coastguard Worker 3541*d5c09012SAndroid Build Coastguard Worker// A flattened description of a `PrimitiveTransformation` or 3542*d5c09012SAndroid Build Coastguard Worker// `RecordSuppression`. 3543*d5c09012SAndroid Build Coastguard Workermessage TransformationDescription { 3544*d5c09012SAndroid Build Coastguard Worker // The transformation type. 3545*d5c09012SAndroid Build Coastguard Worker TransformationType type = 1; 3546*d5c09012SAndroid Build Coastguard Worker 3547*d5c09012SAndroid Build Coastguard Worker // A description of the transformation. This is empty for a 3548*d5c09012SAndroid Build Coastguard Worker // RECORD_SUPPRESSION, or is the output of calling toString() on the 3549*d5c09012SAndroid Build Coastguard Worker // `PrimitiveTransformation` protocol buffer message for any other type of 3550*d5c09012SAndroid Build Coastguard Worker // transformation. 3551*d5c09012SAndroid Build Coastguard Worker string description = 2; 3552*d5c09012SAndroid Build Coastguard Worker 3553*d5c09012SAndroid Build Coastguard Worker // A human-readable string representation of the `RecordCondition` 3554*d5c09012SAndroid Build Coastguard Worker // corresponding to this transformation. Set if a `RecordCondition` was used 3555*d5c09012SAndroid Build Coastguard Worker // to determine whether or not to apply this transformation. 3556*d5c09012SAndroid Build Coastguard Worker // 3557*d5c09012SAndroid Build Coastguard Worker // Examples: 3558*d5c09012SAndroid Build Coastguard Worker // * (age_field > 85) 3559*d5c09012SAndroid Build Coastguard Worker // * (age_field <= 18) 3560*d5c09012SAndroid Build Coastguard Worker // * (zip_field exists) 3561*d5c09012SAndroid Build Coastguard Worker // * (zip_field == 01234) && (city_field != "Springville") 3562*d5c09012SAndroid Build Coastguard Worker // * (zip_field == 01234) && (age_field <= 18) && (city_field exists) 3563*d5c09012SAndroid Build Coastguard Worker string condition = 3; 3564*d5c09012SAndroid Build Coastguard Worker 3565*d5c09012SAndroid Build Coastguard Worker // Set if the transformation was limited to a specific `InfoType`. 3566*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 4; 3567*d5c09012SAndroid Build Coastguard Worker} 3568*d5c09012SAndroid Build Coastguard Worker 3569*d5c09012SAndroid Build Coastguard Worker// Details about a single transformation. This object contains a description of 3570*d5c09012SAndroid Build Coastguard Worker// the transformation, information about whether the transformation was 3571*d5c09012SAndroid Build Coastguard Worker// successfully applied, and the precise location where the transformation 3572*d5c09012SAndroid Build Coastguard Worker// occurred. These details are stored in a user-specified BigQuery table. 3573*d5c09012SAndroid Build Coastguard Workermessage TransformationDetails { 3574*d5c09012SAndroid Build Coastguard Worker // The name of the job that completed the transformation. 3575*d5c09012SAndroid Build Coastguard Worker string resource_name = 1; 3576*d5c09012SAndroid Build Coastguard Worker 3577*d5c09012SAndroid Build Coastguard Worker // The top level name of the container where the transformation is located 3578*d5c09012SAndroid Build Coastguard Worker // (this will be the source file name or table name). 3579*d5c09012SAndroid Build Coastguard Worker string container_name = 2; 3580*d5c09012SAndroid Build Coastguard Worker 3581*d5c09012SAndroid Build Coastguard Worker // Description of transformation. This would only contain more than one 3582*d5c09012SAndroid Build Coastguard Worker // element if there were multiple matching transformations and which one to 3583*d5c09012SAndroid Build Coastguard Worker // apply was ambiguous. Not set for states that contain no transformation, 3584*d5c09012SAndroid Build Coastguard Worker // currently only state that contains no transformation is 3585*d5c09012SAndroid Build Coastguard Worker // TransformationResultStateType.METADATA_UNRETRIEVABLE. 3586*d5c09012SAndroid Build Coastguard Worker repeated TransformationDescription transformation = 3; 3587*d5c09012SAndroid Build Coastguard Worker 3588*d5c09012SAndroid Build Coastguard Worker // Status of the transformation, if transformation was not successful, this 3589*d5c09012SAndroid Build Coastguard Worker // will specify what caused it to fail, otherwise it will show that the 3590*d5c09012SAndroid Build Coastguard Worker // transformation was successful. 3591*d5c09012SAndroid Build Coastguard Worker TransformationResultStatus status_details = 4; 3592*d5c09012SAndroid Build Coastguard Worker 3593*d5c09012SAndroid Build Coastguard Worker // The number of bytes that were transformed. If transformation was 3594*d5c09012SAndroid Build Coastguard Worker // unsuccessful or did not take place because there was no content to 3595*d5c09012SAndroid Build Coastguard Worker // transform, this will be zero. 3596*d5c09012SAndroid Build Coastguard Worker int64 transformed_bytes = 5; 3597*d5c09012SAndroid Build Coastguard Worker 3598*d5c09012SAndroid Build Coastguard Worker // The precise location of the transformed content in the original container. 3599*d5c09012SAndroid Build Coastguard Worker TransformationLocation transformation_location = 6; 3600*d5c09012SAndroid Build Coastguard Worker} 3601*d5c09012SAndroid Build Coastguard Worker 3602*d5c09012SAndroid Build Coastguard Worker// Specifies the location of a transformation. 3603*d5c09012SAndroid Build Coastguard Workermessage TransformationLocation { 3604*d5c09012SAndroid Build Coastguard Worker // Location type. 3605*d5c09012SAndroid Build Coastguard Worker oneof location_type { 3606*d5c09012SAndroid Build Coastguard Worker // For infotype transformations, link to the corresponding findings ID so 3607*d5c09012SAndroid Build Coastguard Worker // that location information does not need to be duplicated. Each findings 3608*d5c09012SAndroid Build Coastguard Worker // ID correlates to an entry in the findings output table, this table only 3609*d5c09012SAndroid Build Coastguard Worker // gets created when users specify to save findings (add the save findings 3610*d5c09012SAndroid Build Coastguard Worker // action to the request). 3611*d5c09012SAndroid Build Coastguard Worker string finding_id = 1; 3612*d5c09012SAndroid Build Coastguard Worker 3613*d5c09012SAndroid Build Coastguard Worker // For record transformations, provide a field and container information. 3614*d5c09012SAndroid Build Coastguard Worker RecordTransformation record_transformation = 2; 3615*d5c09012SAndroid Build Coastguard Worker } 3616*d5c09012SAndroid Build Coastguard Worker 3617*d5c09012SAndroid Build Coastguard Worker // Information about the functionality of the container where this finding 3618*d5c09012SAndroid Build Coastguard Worker // occurred, if available. 3619*d5c09012SAndroid Build Coastguard Worker TransformationContainerType container_type = 3; 3620*d5c09012SAndroid Build Coastguard Worker} 3621*d5c09012SAndroid Build Coastguard Worker 3622*d5c09012SAndroid Build Coastguard Worker// The field in a record to transform. 3623*d5c09012SAndroid Build Coastguard Workermessage RecordTransformation { 3624*d5c09012SAndroid Build Coastguard Worker // For record transformations, provide a field. 3625*d5c09012SAndroid Build Coastguard Worker FieldId field_id = 1; 3626*d5c09012SAndroid Build Coastguard Worker 3627*d5c09012SAndroid Build Coastguard Worker // Findings container modification timestamp, if applicable. 3628*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp container_timestamp = 2; 3629*d5c09012SAndroid Build Coastguard Worker 3630*d5c09012SAndroid Build Coastguard Worker // Container version, if available ("generation" for Cloud Storage). 3631*d5c09012SAndroid Build Coastguard Worker string container_version = 3; 3632*d5c09012SAndroid Build Coastguard Worker} 3633*d5c09012SAndroid Build Coastguard Worker 3634*d5c09012SAndroid Build Coastguard Worker// The outcome of a transformation. 3635*d5c09012SAndroid Build Coastguard Workermessage TransformationResultStatus { 3636*d5c09012SAndroid Build Coastguard Worker // Transformation result status type, this will be either SUCCESS, or it will 3637*d5c09012SAndroid Build Coastguard Worker // be the reason for why the transformation was not completely successful. 3638*d5c09012SAndroid Build Coastguard Worker TransformationResultStatusType result_status_type = 1; 3639*d5c09012SAndroid Build Coastguard Worker 3640*d5c09012SAndroid Build Coastguard Worker // Detailed error codes and messages 3641*d5c09012SAndroid Build Coastguard Worker google.rpc.Status details = 2; 3642*d5c09012SAndroid Build Coastguard Worker} 3643*d5c09012SAndroid Build Coastguard Worker 3644*d5c09012SAndroid Build Coastguard Worker// Enum of possible outcomes of transformations. SUCCESS if transformation and 3645*d5c09012SAndroid Build Coastguard Worker// storing of transformation was successful, otherwise, reason for not 3646*d5c09012SAndroid Build Coastguard Worker// transforming. 3647*d5c09012SAndroid Build Coastguard Workerenum TransformationResultStatusType { 3648*d5c09012SAndroid Build Coastguard Worker // Unused. 3649*d5c09012SAndroid Build Coastguard Worker STATE_TYPE_UNSPECIFIED = 0; 3650*d5c09012SAndroid Build Coastguard Worker 3651*d5c09012SAndroid Build Coastguard Worker // This will be set when a finding could not be transformed (i.e. outside user 3652*d5c09012SAndroid Build Coastguard Worker // set bucket range). 3653*d5c09012SAndroid Build Coastguard Worker INVALID_TRANSFORM = 1; 3654*d5c09012SAndroid Build Coastguard Worker 3655*d5c09012SAndroid Build Coastguard Worker // This will be set when a BigQuery transformation was successful but could 3656*d5c09012SAndroid Build Coastguard Worker // not be stored back in BigQuery because the transformed row exceeds 3657*d5c09012SAndroid Build Coastguard Worker // BigQuery's max row size. 3658*d5c09012SAndroid Build Coastguard Worker BIGQUERY_MAX_ROW_SIZE_EXCEEDED = 2; 3659*d5c09012SAndroid Build Coastguard Worker 3660*d5c09012SAndroid Build Coastguard Worker // This will be set when there is a finding in the custom metadata of a file, 3661*d5c09012SAndroid Build Coastguard Worker // but at the write time of the transformed file, this key / value pair is 3662*d5c09012SAndroid Build Coastguard Worker // unretrievable. 3663*d5c09012SAndroid Build Coastguard Worker METADATA_UNRETRIEVABLE = 3; 3664*d5c09012SAndroid Build Coastguard Worker 3665*d5c09012SAndroid Build Coastguard Worker // This will be set when the transformation and storing of it is successful. 3666*d5c09012SAndroid Build Coastguard Worker SUCCESS = 4; 3667*d5c09012SAndroid Build Coastguard Worker} 3668*d5c09012SAndroid Build Coastguard Worker 3669*d5c09012SAndroid Build Coastguard Worker// Describes functionality of a given container in its original format. 3670*d5c09012SAndroid Build Coastguard Workerenum TransformationContainerType { 3671*d5c09012SAndroid Build Coastguard Worker // Unused. 3672*d5c09012SAndroid Build Coastguard Worker TRANSFORM_UNKNOWN_CONTAINER = 0; 3673*d5c09012SAndroid Build Coastguard Worker 3674*d5c09012SAndroid Build Coastguard Worker // Body of a file. 3675*d5c09012SAndroid Build Coastguard Worker TRANSFORM_BODY = 1; 3676*d5c09012SAndroid Build Coastguard Worker 3677*d5c09012SAndroid Build Coastguard Worker // Metadata for a file. 3678*d5c09012SAndroid Build Coastguard Worker TRANSFORM_METADATA = 2; 3679*d5c09012SAndroid Build Coastguard Worker 3680*d5c09012SAndroid Build Coastguard Worker // A table. 3681*d5c09012SAndroid Build Coastguard Worker TRANSFORM_TABLE = 3; 3682*d5c09012SAndroid Build Coastguard Worker} 3683*d5c09012SAndroid Build Coastguard Worker 3684*d5c09012SAndroid Build Coastguard Worker// An enum of rules that can be used to transform a value. Can be a 3685*d5c09012SAndroid Build Coastguard Worker// record suppression, or one of the transformation rules specified under 3686*d5c09012SAndroid Build Coastguard Worker// `PrimitiveTransformation`. 3687*d5c09012SAndroid Build Coastguard Workerenum TransformationType { 3688*d5c09012SAndroid Build Coastguard Worker // Unused 3689*d5c09012SAndroid Build Coastguard Worker TRANSFORMATION_TYPE_UNSPECIFIED = 0; 3690*d5c09012SAndroid Build Coastguard Worker 3691*d5c09012SAndroid Build Coastguard Worker // Record suppression 3692*d5c09012SAndroid Build Coastguard Worker RECORD_SUPPRESSION = 1; 3693*d5c09012SAndroid Build Coastguard Worker 3694*d5c09012SAndroid Build Coastguard Worker // Replace value 3695*d5c09012SAndroid Build Coastguard Worker REPLACE_VALUE = 2; 3696*d5c09012SAndroid Build Coastguard Worker 3697*d5c09012SAndroid Build Coastguard Worker // Replace value using a dictionary. 3698*d5c09012SAndroid Build Coastguard Worker REPLACE_DICTIONARY = 15; 3699*d5c09012SAndroid Build Coastguard Worker 3700*d5c09012SAndroid Build Coastguard Worker // Redact 3701*d5c09012SAndroid Build Coastguard Worker REDACT = 3; 3702*d5c09012SAndroid Build Coastguard Worker 3703*d5c09012SAndroid Build Coastguard Worker // Character mask 3704*d5c09012SAndroid Build Coastguard Worker CHARACTER_MASK = 4; 3705*d5c09012SAndroid Build Coastguard Worker 3706*d5c09012SAndroid Build Coastguard Worker // FFX-FPE 3707*d5c09012SAndroid Build Coastguard Worker CRYPTO_REPLACE_FFX_FPE = 5; 3708*d5c09012SAndroid Build Coastguard Worker 3709*d5c09012SAndroid Build Coastguard Worker // Fixed size bucketing 3710*d5c09012SAndroid Build Coastguard Worker FIXED_SIZE_BUCKETING = 6; 3711*d5c09012SAndroid Build Coastguard Worker 3712*d5c09012SAndroid Build Coastguard Worker // Bucketing 3713*d5c09012SAndroid Build Coastguard Worker BUCKETING = 7; 3714*d5c09012SAndroid Build Coastguard Worker 3715*d5c09012SAndroid Build Coastguard Worker // Replace with info type 3716*d5c09012SAndroid Build Coastguard Worker REPLACE_WITH_INFO_TYPE = 8; 3717*d5c09012SAndroid Build Coastguard Worker 3718*d5c09012SAndroid Build Coastguard Worker // Time part 3719*d5c09012SAndroid Build Coastguard Worker TIME_PART = 9; 3720*d5c09012SAndroid Build Coastguard Worker 3721*d5c09012SAndroid Build Coastguard Worker // Crypto hash 3722*d5c09012SAndroid Build Coastguard Worker CRYPTO_HASH = 10; 3723*d5c09012SAndroid Build Coastguard Worker 3724*d5c09012SAndroid Build Coastguard Worker // Date shift 3725*d5c09012SAndroid Build Coastguard Worker DATE_SHIFT = 12; 3726*d5c09012SAndroid Build Coastguard Worker 3727*d5c09012SAndroid Build Coastguard Worker // Deterministic crypto 3728*d5c09012SAndroid Build Coastguard Worker CRYPTO_DETERMINISTIC_CONFIG = 13; 3729*d5c09012SAndroid Build Coastguard Worker 3730*d5c09012SAndroid Build Coastguard Worker // Redact image 3731*d5c09012SAndroid Build Coastguard Worker REDACT_IMAGE = 14; 3732*d5c09012SAndroid Build Coastguard Worker} 3733*d5c09012SAndroid Build Coastguard Worker 3734*d5c09012SAndroid Build Coastguard Worker// Config for storing transformation details. 3735*d5c09012SAndroid Build Coastguard Workermessage TransformationDetailsStorageConfig { 3736*d5c09012SAndroid Build Coastguard Worker // Location to store the transformation summary. 3737*d5c09012SAndroid Build Coastguard Worker oneof type { 3738*d5c09012SAndroid Build Coastguard Worker // The BigQuery table in which to store the output. This may be an existing 3739*d5c09012SAndroid Build Coastguard Worker // table or in a new table in an existing dataset. 3740*d5c09012SAndroid Build Coastguard Worker // If table_id is not set a new one will be generated for you with the 3741*d5c09012SAndroid Build Coastguard Worker // following format: 3742*d5c09012SAndroid Build Coastguard Worker // dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific 3743*d5c09012SAndroid Build Coastguard Worker // time zone will be used for generating the date details. 3744*d5c09012SAndroid Build Coastguard Worker BigQueryTable table = 1; 3745*d5c09012SAndroid Build Coastguard Worker } 3746*d5c09012SAndroid Build Coastguard Worker} 3747*d5c09012SAndroid Build Coastguard Worker 3748*d5c09012SAndroid Build Coastguard Worker// Schedule for inspect job triggers. 3749*d5c09012SAndroid Build Coastguard Workermessage Schedule { 3750*d5c09012SAndroid Build Coastguard Worker // Type of schedule. 3751*d5c09012SAndroid Build Coastguard Worker oneof option { 3752*d5c09012SAndroid Build Coastguard Worker // With this option a job is started on a regular periodic basis. For 3753*d5c09012SAndroid Build Coastguard Worker // example: every day (86400 seconds). 3754*d5c09012SAndroid Build Coastguard Worker // 3755*d5c09012SAndroid Build Coastguard Worker // A scheduled start time will be skipped if the previous 3756*d5c09012SAndroid Build Coastguard Worker // execution has not ended when its scheduled time occurs. 3757*d5c09012SAndroid Build Coastguard Worker // 3758*d5c09012SAndroid Build Coastguard Worker // This value must be set to a time duration greater than or equal 3759*d5c09012SAndroid Build Coastguard Worker // to 1 day and can be no longer than 60 days. 3760*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration recurrence_period_duration = 1; 3761*d5c09012SAndroid Build Coastguard Worker } 3762*d5c09012SAndroid Build Coastguard Worker} 3763*d5c09012SAndroid Build Coastguard Worker 3764*d5c09012SAndroid Build Coastguard Worker// Job trigger option for hybrid jobs. Jobs must be manually created 3765*d5c09012SAndroid Build Coastguard Worker// and finished. 3766*d5c09012SAndroid Build Coastguard Workermessage Manual {} 3767*d5c09012SAndroid Build Coastguard Worker 3768*d5c09012SAndroid Build Coastguard Worker// The inspectTemplate contains a configuration (set of types of sensitive data 3769*d5c09012SAndroid Build Coastguard Worker// to be detected) to be used anywhere you otherwise would normally specify 3770*d5c09012SAndroid Build Coastguard Worker// InspectConfig. See 3771*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to 3772*d5c09012SAndroid Build Coastguard Worker// learn more. 3773*d5c09012SAndroid Build Coastguard Workermessage InspectTemplate { 3774*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 3775*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/InspectTemplate" 3776*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/inspectTemplates/{inspect_template}" 3777*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/inspectTemplates/{inspect_template}" 3778*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}/inspectTemplates/{inspect_template}" 3779*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/inspectTemplates/{inspect_template}" 3780*d5c09012SAndroid Build Coastguard Worker }; 3781*d5c09012SAndroid Build Coastguard Worker 3782*d5c09012SAndroid Build Coastguard Worker // Output only. The template name. 3783*d5c09012SAndroid Build Coastguard Worker // 3784*d5c09012SAndroid Build Coastguard Worker // The template will have one of the following formats: 3785*d5c09012SAndroid Build Coastguard Worker // `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR 3786*d5c09012SAndroid Build Coastguard Worker // `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`; 3787*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 3788*d5c09012SAndroid Build Coastguard Worker 3789*d5c09012SAndroid Build Coastguard Worker // Display name (max 256 chars). 3790*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 3791*d5c09012SAndroid Build Coastguard Worker 3792*d5c09012SAndroid Build Coastguard Worker // Short description (max 256 chars). 3793*d5c09012SAndroid Build Coastguard Worker string description = 3; 3794*d5c09012SAndroid Build Coastguard Worker 3795*d5c09012SAndroid Build Coastguard Worker // Output only. The creation timestamp of an inspectTemplate. 3796*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 4 3797*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 3798*d5c09012SAndroid Build Coastguard Worker 3799*d5c09012SAndroid Build Coastguard Worker // Output only. The last update timestamp of an inspectTemplate. 3800*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 5 3801*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 3802*d5c09012SAndroid Build Coastguard Worker 3803*d5c09012SAndroid Build Coastguard Worker // The core content of the template. Configuration of the scanning process. 3804*d5c09012SAndroid Build Coastguard Worker InspectConfig inspect_config = 6; 3805*d5c09012SAndroid Build Coastguard Worker} 3806*d5c09012SAndroid Build Coastguard Worker 3807*d5c09012SAndroid Build Coastguard Worker// DeidentifyTemplates contains instructions on how to de-identify content. 3808*d5c09012SAndroid Build Coastguard Worker// See 3809*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to 3810*d5c09012SAndroid Build Coastguard Worker// learn more. 3811*d5c09012SAndroid Build Coastguard Workermessage DeidentifyTemplate { 3812*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 3813*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DeidentifyTemplate" 3814*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/deidentifyTemplates/{deidentify_template}" 3815*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/deidentifyTemplates/{deidentify_template}" 3816*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}/deidentifyTemplates/{deidentify_template}" 3817*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}" 3818*d5c09012SAndroid Build Coastguard Worker }; 3819*d5c09012SAndroid Build Coastguard Worker 3820*d5c09012SAndroid Build Coastguard Worker // Output only. The template name. 3821*d5c09012SAndroid Build Coastguard Worker // 3822*d5c09012SAndroid Build Coastguard Worker // The template will have one of the following formats: 3823*d5c09012SAndroid Build Coastguard Worker // `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR 3824*d5c09012SAndroid Build Coastguard Worker // `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID` 3825*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 3826*d5c09012SAndroid Build Coastguard Worker 3827*d5c09012SAndroid Build Coastguard Worker // Display name (max 256 chars). 3828*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 3829*d5c09012SAndroid Build Coastguard Worker 3830*d5c09012SAndroid Build Coastguard Worker // Short description (max 256 chars). 3831*d5c09012SAndroid Build Coastguard Worker string description = 3; 3832*d5c09012SAndroid Build Coastguard Worker 3833*d5c09012SAndroid Build Coastguard Worker // Output only. The creation timestamp of an inspectTemplate. 3834*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 4 3835*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 3836*d5c09012SAndroid Build Coastguard Worker 3837*d5c09012SAndroid Build Coastguard Worker // Output only. The last update timestamp of an inspectTemplate. 3838*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 5 3839*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 3840*d5c09012SAndroid Build Coastguard Worker 3841*d5c09012SAndroid Build Coastguard Worker // The core content of the template. 3842*d5c09012SAndroid Build Coastguard Worker DeidentifyConfig deidentify_config = 6; 3843*d5c09012SAndroid Build Coastguard Worker} 3844*d5c09012SAndroid Build Coastguard Worker 3845*d5c09012SAndroid Build Coastguard Worker// Details information about an error encountered during job execution or 3846*d5c09012SAndroid Build Coastguard Worker// the results of an unsuccessful activation of the JobTrigger. 3847*d5c09012SAndroid Build Coastguard Workermessage Error { 3848*d5c09012SAndroid Build Coastguard Worker // Detailed error codes and messages. 3849*d5c09012SAndroid Build Coastguard Worker google.rpc.Status details = 1; 3850*d5c09012SAndroid Build Coastguard Worker 3851*d5c09012SAndroid Build Coastguard Worker // The times the error occurred. List includes the oldest timestamp and the 3852*d5c09012SAndroid Build Coastguard Worker // last 9 timestamps. 3853*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Timestamp timestamps = 2; 3854*d5c09012SAndroid Build Coastguard Worker} 3855*d5c09012SAndroid Build Coastguard Worker 3856*d5c09012SAndroid Build Coastguard Worker// Contains a configuration to make dlp api calls on a repeating basis. 3857*d5c09012SAndroid Build Coastguard Worker// See 3858*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/concepts-job-triggers 3859*d5c09012SAndroid Build Coastguard Worker// to learn more. 3860*d5c09012SAndroid Build Coastguard Workermessage JobTrigger { 3861*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 3862*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/JobTrigger" 3863*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/jobTriggers/{job_trigger}" 3864*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/jobTriggers/{job_trigger}" 3865*d5c09012SAndroid Build Coastguard Worker }; 3866*d5c09012SAndroid Build Coastguard Worker 3867*d5c09012SAndroid Build Coastguard Worker // What event needs to occur for a new job to be started. 3868*d5c09012SAndroid Build Coastguard Worker message Trigger { 3869*d5c09012SAndroid Build Coastguard Worker // What event needs to occur for a new job to be started. 3870*d5c09012SAndroid Build Coastguard Worker oneof trigger { 3871*d5c09012SAndroid Build Coastguard Worker // Create a job on a repeating basis based on the elapse of time. 3872*d5c09012SAndroid Build Coastguard Worker Schedule schedule = 1; 3873*d5c09012SAndroid Build Coastguard Worker 3874*d5c09012SAndroid Build Coastguard Worker // For use with hybrid jobs. Jobs must be manually created and finished. 3875*d5c09012SAndroid Build Coastguard Worker Manual manual = 2; 3876*d5c09012SAndroid Build Coastguard Worker } 3877*d5c09012SAndroid Build Coastguard Worker } 3878*d5c09012SAndroid Build Coastguard Worker 3879*d5c09012SAndroid Build Coastguard Worker // Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs 3880*d5c09012SAndroid Build Coastguard Worker // will be created with this configuration. The service may automatically 3881*d5c09012SAndroid Build Coastguard Worker // pause triggers experiencing frequent errors. To restart a job, set the 3882*d5c09012SAndroid Build Coastguard Worker // status to HEALTHY after correcting user errors. 3883*d5c09012SAndroid Build Coastguard Worker enum Status { 3884*d5c09012SAndroid Build Coastguard Worker // Unused. 3885*d5c09012SAndroid Build Coastguard Worker STATUS_UNSPECIFIED = 0; 3886*d5c09012SAndroid Build Coastguard Worker 3887*d5c09012SAndroid Build Coastguard Worker // Trigger is healthy. 3888*d5c09012SAndroid Build Coastguard Worker HEALTHY = 1; 3889*d5c09012SAndroid Build Coastguard Worker 3890*d5c09012SAndroid Build Coastguard Worker // Trigger is temporarily paused. 3891*d5c09012SAndroid Build Coastguard Worker PAUSED = 2; 3892*d5c09012SAndroid Build Coastguard Worker 3893*d5c09012SAndroid Build Coastguard Worker // Trigger is cancelled and can not be resumed. 3894*d5c09012SAndroid Build Coastguard Worker CANCELLED = 3; 3895*d5c09012SAndroid Build Coastguard Worker } 3896*d5c09012SAndroid Build Coastguard Worker 3897*d5c09012SAndroid Build Coastguard Worker // Unique resource name for the triggeredJob, assigned by the service when the 3898*d5c09012SAndroid Build Coastguard Worker // triggeredJob is created, for example 3899*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/jobTriggers/53234423`. 3900*d5c09012SAndroid Build Coastguard Worker string name = 1; 3901*d5c09012SAndroid Build Coastguard Worker 3902*d5c09012SAndroid Build Coastguard Worker // Display name (max 100 chars) 3903*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 3904*d5c09012SAndroid Build Coastguard Worker 3905*d5c09012SAndroid Build Coastguard Worker // User provided description (max 256 chars) 3906*d5c09012SAndroid Build Coastguard Worker string description = 3; 3907*d5c09012SAndroid Build Coastguard Worker 3908*d5c09012SAndroid Build Coastguard Worker // The configuration details for the specific type of job to run. 3909*d5c09012SAndroid Build Coastguard Worker oneof job { 3910*d5c09012SAndroid Build Coastguard Worker // For inspect jobs, a snapshot of the configuration. 3911*d5c09012SAndroid Build Coastguard Worker InspectJobConfig inspect_job = 4; 3912*d5c09012SAndroid Build Coastguard Worker } 3913*d5c09012SAndroid Build Coastguard Worker 3914*d5c09012SAndroid Build Coastguard Worker // A list of triggers which will be OR'ed together. Only one in the list 3915*d5c09012SAndroid Build Coastguard Worker // needs to trigger for a job to be started. The list may contain only 3916*d5c09012SAndroid Build Coastguard Worker // a single Schedule trigger and must have at least one object. 3917*d5c09012SAndroid Build Coastguard Worker repeated Trigger triggers = 5; 3918*d5c09012SAndroid Build Coastguard Worker 3919*d5c09012SAndroid Build Coastguard Worker // Output only. A stream of errors encountered when the trigger was activated. 3920*d5c09012SAndroid Build Coastguard Worker // Repeated errors may result in the JobTrigger automatically being paused. 3921*d5c09012SAndroid Build Coastguard Worker // Will return the last 100 errors. Whenever the JobTrigger is modified 3922*d5c09012SAndroid Build Coastguard Worker // this list will be cleared. 3923*d5c09012SAndroid Build Coastguard Worker repeated Error errors = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 3924*d5c09012SAndroid Build Coastguard Worker 3925*d5c09012SAndroid Build Coastguard Worker // Output only. The creation timestamp of a triggeredJob. 3926*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 7 3927*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 3928*d5c09012SAndroid Build Coastguard Worker 3929*d5c09012SAndroid Build Coastguard Worker // Output only. The last update timestamp of a triggeredJob. 3930*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 8 3931*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 3932*d5c09012SAndroid Build Coastguard Worker 3933*d5c09012SAndroid Build Coastguard Worker // Output only. The timestamp of the last time this trigger executed. 3934*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_run_time = 9 3935*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 3936*d5c09012SAndroid Build Coastguard Worker 3937*d5c09012SAndroid Build Coastguard Worker // Required. A status for this trigger. 3938*d5c09012SAndroid Build Coastguard Worker Status status = 10 [(google.api.field_behavior) = REQUIRED]; 3939*d5c09012SAndroid Build Coastguard Worker} 3940*d5c09012SAndroid Build Coastguard Worker 3941*d5c09012SAndroid Build Coastguard Worker// A task to execute on the completion of a job. 3942*d5c09012SAndroid Build Coastguard Worker// See https://cloud.google.com/sensitive-data-protection/docs/concepts-actions 3943*d5c09012SAndroid Build Coastguard Worker// to learn more. 3944*d5c09012SAndroid Build Coastguard Workermessage Action { 3945*d5c09012SAndroid Build Coastguard Worker // If set, the detailed findings will be persisted to the specified 3946*d5c09012SAndroid Build Coastguard Worker // OutputStorageConfig. Only a single instance of this action can be 3947*d5c09012SAndroid Build Coastguard Worker // specified. 3948*d5c09012SAndroid Build Coastguard Worker // Compatible with: Inspect, Risk 3949*d5c09012SAndroid Build Coastguard Worker message SaveFindings { 3950*d5c09012SAndroid Build Coastguard Worker // Location to store findings outside of DLP. 3951*d5c09012SAndroid Build Coastguard Worker OutputStorageConfig output_config = 1; 3952*d5c09012SAndroid Build Coastguard Worker } 3953*d5c09012SAndroid Build Coastguard Worker 3954*d5c09012SAndroid Build Coastguard Worker // Publish a message into a given Pub/Sub topic when DlpJob has completed. The 3955*d5c09012SAndroid Build Coastguard Worker // message contains a single field, `DlpJobName`, which is equal to the 3956*d5c09012SAndroid Build Coastguard Worker // finished job's 3957*d5c09012SAndroid Build Coastguard Worker // [`DlpJob.name`](https://cloud.google.com/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob). 3958*d5c09012SAndroid Build Coastguard Worker // Compatible with: Inspect, Risk 3959*d5c09012SAndroid Build Coastguard Worker message PublishToPubSub { 3960*d5c09012SAndroid Build Coastguard Worker // Cloud Pub/Sub topic to send notifications to. The topic must have given 3961*d5c09012SAndroid Build Coastguard Worker // publishing access rights to the DLP API service account executing 3962*d5c09012SAndroid Build Coastguard Worker // the long running DlpJob sending the notifications. 3963*d5c09012SAndroid Build Coastguard Worker // Format is projects/{project}/topics/{topic}. 3964*d5c09012SAndroid Build Coastguard Worker string topic = 1; 3965*d5c09012SAndroid Build Coastguard Worker } 3966*d5c09012SAndroid Build Coastguard Worker 3967*d5c09012SAndroid Build Coastguard Worker // Publish the result summary of a DlpJob to [Security Command 3968*d5c09012SAndroid Build Coastguard Worker // Center](https://cloud.google.com/security-command-center). This action is 3969*d5c09012SAndroid Build Coastguard Worker // available for only projects that belong to an organization. This action 3970*d5c09012SAndroid Build Coastguard Worker // publishes the count of finding instances and their infoTypes. The summary 3971*d5c09012SAndroid Build Coastguard Worker // of findings are persisted in Security Command Center and are governed by 3972*d5c09012SAndroid Build Coastguard Worker // [service-specific policies for Security Command 3973*d5c09012SAndroid Build Coastguard Worker // Center](https://cloud.google.com/terms/service-terms). Only a single 3974*d5c09012SAndroid Build Coastguard Worker // instance of this action can be specified. Compatible with: Inspect 3975*d5c09012SAndroid Build Coastguard Worker message PublishSummaryToCscc {} 3976*d5c09012SAndroid Build Coastguard Worker 3977*d5c09012SAndroid Build Coastguard Worker // Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag 3978*d5c09012SAndroid Build Coastguard Worker // templates are applied to the resource that Cloud DLP scanned. Data 3979*d5c09012SAndroid Build Coastguard Worker // Catalog tag templates are stored in the same project and region where the 3980*d5c09012SAndroid Build Coastguard Worker // BigQuery table exists. For Cloud DLP to create and apply the tag template, 3981*d5c09012SAndroid Build Coastguard Worker // the Cloud DLP service agent must have the 3982*d5c09012SAndroid Build Coastguard Worker // `roles/datacatalog.tagTemplateOwner` permission on the project. The tag 3983*d5c09012SAndroid Build Coastguard Worker // template contains fields summarizing the results of the DlpJob. Any field 3984*d5c09012SAndroid Build Coastguard Worker // values previously written by another DlpJob are deleted. [InfoType naming 3985*d5c09012SAndroid Build Coastguard Worker // patterns][google.privacy.dlp.v2.InfoType] are strictly enforced when using 3986*d5c09012SAndroid Build Coastguard Worker // this feature. 3987*d5c09012SAndroid Build Coastguard Worker // 3988*d5c09012SAndroid Build Coastguard Worker // Findings are persisted in Data Catalog storage and are governed by 3989*d5c09012SAndroid Build Coastguard Worker // service-specific policies for Data Catalog. For more information, see 3990*d5c09012SAndroid Build Coastguard Worker // [Service Specific Terms](https://cloud.google.com/terms/service-terms). 3991*d5c09012SAndroid Build Coastguard Worker // 3992*d5c09012SAndroid Build Coastguard Worker // Only a single instance of this action can be specified. This action is 3993*d5c09012SAndroid Build Coastguard Worker // allowed only if all resources being scanned are BigQuery tables. 3994*d5c09012SAndroid Build Coastguard Worker // Compatible with: Inspect 3995*d5c09012SAndroid Build Coastguard Worker message PublishFindingsToCloudDataCatalog {} 3996*d5c09012SAndroid Build Coastguard Worker 3997*d5c09012SAndroid Build Coastguard Worker // Create a de-identified copy of the requested table or files. 3998*d5c09012SAndroid Build Coastguard Worker // 3999*d5c09012SAndroid Build Coastguard Worker // A TransformationDetail will be created for each transformation. 4000*d5c09012SAndroid Build Coastguard Worker // 4001*d5c09012SAndroid Build Coastguard Worker // If any rows in BigQuery are skipped during de-identification 4002*d5c09012SAndroid Build Coastguard Worker // (transformation errors or row size exceeds BigQuery insert API limits) they 4003*d5c09012SAndroid Build Coastguard Worker // are placed in the failure output table. If the original row exceeds 4004*d5c09012SAndroid Build Coastguard Worker // the BigQuery insert API limit it will be truncated when written to the 4005*d5c09012SAndroid Build Coastguard Worker // failure output table. The failure output table can be set in the 4006*d5c09012SAndroid Build Coastguard Worker // action.deidentify.output.big_query_output.deidentified_failure_output_table 4007*d5c09012SAndroid Build Coastguard Worker // field, if no table is set, a table will be automatically created in the 4008*d5c09012SAndroid Build Coastguard Worker // same project and dataset as the original table. 4009*d5c09012SAndroid Build Coastguard Worker // 4010*d5c09012SAndroid Build Coastguard Worker // Compatible with: Inspect 4011*d5c09012SAndroid Build Coastguard Worker message Deidentify { 4012*d5c09012SAndroid Build Coastguard Worker // User specified deidentify templates and configs for structured, 4013*d5c09012SAndroid Build Coastguard Worker // unstructured, and image files. 4014*d5c09012SAndroid Build Coastguard Worker TransformationConfig transformation_config = 7; 4015*d5c09012SAndroid Build Coastguard Worker 4016*d5c09012SAndroid Build Coastguard Worker // Config for storing transformation details. This is separate from the 4017*d5c09012SAndroid Build Coastguard Worker // de-identified content, and contains metadata about the successful 4018*d5c09012SAndroid Build Coastguard Worker // transformations and/or failures that occurred while de-identifying. This 4019*d5c09012SAndroid Build Coastguard Worker // needs to be set in order for users to access information about the status 4020*d5c09012SAndroid Build Coastguard Worker // of each transformation (see 4021*d5c09012SAndroid Build Coastguard Worker // [TransformationDetails][google.privacy.dlp.v2.TransformationDetails] 4022*d5c09012SAndroid Build Coastguard Worker // message for more information about what is noted). 4023*d5c09012SAndroid Build Coastguard Worker TransformationDetailsStorageConfig transformation_details_storage_config = 4024*d5c09012SAndroid Build Coastguard Worker 3; 4025*d5c09012SAndroid Build Coastguard Worker 4026*d5c09012SAndroid Build Coastguard Worker // Where to store the output. 4027*d5c09012SAndroid Build Coastguard Worker oneof output { 4028*d5c09012SAndroid Build Coastguard Worker // Required. User settable Cloud Storage bucket and folders to store 4029*d5c09012SAndroid Build Coastguard Worker // de-identified files. This field must be set for cloud storage 4030*d5c09012SAndroid Build Coastguard Worker // deidentification. The output Cloud Storage bucket must be different 4031*d5c09012SAndroid Build Coastguard Worker // from the input bucket. De-identified files will overwrite files in the 4032*d5c09012SAndroid Build Coastguard Worker // output path. 4033*d5c09012SAndroid Build Coastguard Worker // 4034*d5c09012SAndroid Build Coastguard Worker // Form of: gs://bucket/folder/ or gs://bucket 4035*d5c09012SAndroid Build Coastguard Worker string cloud_storage_output = 9 [(google.api.field_behavior) = REQUIRED]; 4036*d5c09012SAndroid Build Coastguard Worker } 4037*d5c09012SAndroid Build Coastguard Worker 4038*d5c09012SAndroid Build Coastguard Worker // List of user-specified file type groups to transform. If specified, only 4039*d5c09012SAndroid Build Coastguard Worker // the files with these filetypes will be transformed. If empty, all 4040*d5c09012SAndroid Build Coastguard Worker // supported files will be transformed. Supported types may be automatically 4041*d5c09012SAndroid Build Coastguard Worker // added over time. If a file type is set in this field that isn't supported 4042*d5c09012SAndroid Build Coastguard Worker // by the Deidentify action then the job will fail and will not be 4043*d5c09012SAndroid Build Coastguard Worker // successfully created/started. Currently the only filetypes supported are: 4044*d5c09012SAndroid Build Coastguard Worker // IMAGES, TEXT_FILES, CSV, TSV. 4045*d5c09012SAndroid Build Coastguard Worker repeated FileType file_types_to_transform = 8; 4046*d5c09012SAndroid Build Coastguard Worker } 4047*d5c09012SAndroid Build Coastguard Worker 4048*d5c09012SAndroid Build Coastguard Worker // Sends an email when the job completes. The email goes to IAM project owners 4049*d5c09012SAndroid Build Coastguard Worker // and technical [Essential 4050*d5c09012SAndroid Build Coastguard Worker // Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts). 4051*d5c09012SAndroid Build Coastguard Worker message JobNotificationEmails {} 4052*d5c09012SAndroid Build Coastguard Worker 4053*d5c09012SAndroid Build Coastguard Worker // Enable Stackdriver metric dlp.googleapis.com/finding_count. This 4054*d5c09012SAndroid Build Coastguard Worker // will publish a metric to stack driver on each infotype requested and 4055*d5c09012SAndroid Build Coastguard Worker // how many findings were found for it. CustomDetectors will be bucketed 4056*d5c09012SAndroid Build Coastguard Worker // as 'Custom' under the Stackdriver label 'info_type'. 4057*d5c09012SAndroid Build Coastguard Worker message PublishToStackdriver {} 4058*d5c09012SAndroid Build Coastguard Worker 4059*d5c09012SAndroid Build Coastguard Worker // Extra events to execute after the job has finished. 4060*d5c09012SAndroid Build Coastguard Worker oneof action { 4061*d5c09012SAndroid Build Coastguard Worker // Save resulting findings in a provided location. 4062*d5c09012SAndroid Build Coastguard Worker SaveFindings save_findings = 1; 4063*d5c09012SAndroid Build Coastguard Worker 4064*d5c09012SAndroid Build Coastguard Worker // Publish a notification to a Pub/Sub topic. 4065*d5c09012SAndroid Build Coastguard Worker PublishToPubSub pub_sub = 2; 4066*d5c09012SAndroid Build Coastguard Worker 4067*d5c09012SAndroid Build Coastguard Worker // Publish summary to Cloud Security Command Center (Alpha). 4068*d5c09012SAndroid Build Coastguard Worker PublishSummaryToCscc publish_summary_to_cscc = 3; 4069*d5c09012SAndroid Build Coastguard Worker 4070*d5c09012SAndroid Build Coastguard Worker // Publish findings to Cloud Datahub. 4071*d5c09012SAndroid Build Coastguard Worker PublishFindingsToCloudDataCatalog publish_findings_to_cloud_data_catalog = 4072*d5c09012SAndroid Build Coastguard Worker 5; 4073*d5c09012SAndroid Build Coastguard Worker 4074*d5c09012SAndroid Build Coastguard Worker // Create a de-identified copy of the input data. 4075*d5c09012SAndroid Build Coastguard Worker Deidentify deidentify = 7; 4076*d5c09012SAndroid Build Coastguard Worker 4077*d5c09012SAndroid Build Coastguard Worker // Sends an email when the job completes. The email goes to IAM project 4078*d5c09012SAndroid Build Coastguard Worker // owners and technical [Essential 4079*d5c09012SAndroid Build Coastguard Worker // Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts). 4080*d5c09012SAndroid Build Coastguard Worker JobNotificationEmails job_notification_emails = 8; 4081*d5c09012SAndroid Build Coastguard Worker 4082*d5c09012SAndroid Build Coastguard Worker // Enable Stackdriver metric dlp.googleapis.com/finding_count. 4083*d5c09012SAndroid Build Coastguard Worker PublishToStackdriver publish_to_stackdriver = 9; 4084*d5c09012SAndroid Build Coastguard Worker } 4085*d5c09012SAndroid Build Coastguard Worker} 4086*d5c09012SAndroid Build Coastguard Worker 4087*d5c09012SAndroid Build Coastguard Worker// User specified templates and configs for how to deidentify structured, 4088*d5c09012SAndroid Build Coastguard Worker// unstructures, and image files. User must provide either a unstructured 4089*d5c09012SAndroid Build Coastguard Worker// deidentify template or at least one redact image config. 4090*d5c09012SAndroid Build Coastguard Workermessage TransformationConfig { 4091*d5c09012SAndroid Build Coastguard Worker // De-identify template. 4092*d5c09012SAndroid Build Coastguard Worker // If this template is specified, it will serve as the default de-identify 4093*d5c09012SAndroid Build Coastguard Worker // template. This template cannot contain `record_transformations` since it 4094*d5c09012SAndroid Build Coastguard Worker // can be used for unstructured content such as free-form text files. If this 4095*d5c09012SAndroid Build Coastguard Worker // template is not set, a default `ReplaceWithInfoTypeConfig` will be used to 4096*d5c09012SAndroid Build Coastguard Worker // de-identify unstructured content. 4097*d5c09012SAndroid Build Coastguard Worker string deidentify_template = 1; 4098*d5c09012SAndroid Build Coastguard Worker 4099*d5c09012SAndroid Build Coastguard Worker // Structured de-identify template. 4100*d5c09012SAndroid Build Coastguard Worker // If this template is specified, it will serve as the de-identify template 4101*d5c09012SAndroid Build Coastguard Worker // for structured content such as delimited files and tables. If this template 4102*d5c09012SAndroid Build Coastguard Worker // is not set but the `deidentify_template` is set, then `deidentify_template` 4103*d5c09012SAndroid Build Coastguard Worker // will also apply to the structured content. If neither template is set, a 4104*d5c09012SAndroid Build Coastguard Worker // default `ReplaceWithInfoTypeConfig` will be used to de-identify structured 4105*d5c09012SAndroid Build Coastguard Worker // content. 4106*d5c09012SAndroid Build Coastguard Worker string structured_deidentify_template = 2; 4107*d5c09012SAndroid Build Coastguard Worker 4108*d5c09012SAndroid Build Coastguard Worker // Image redact template. 4109*d5c09012SAndroid Build Coastguard Worker // If this template is specified, it will serve as the de-identify template 4110*d5c09012SAndroid Build Coastguard Worker // for images. If this template is not set, all findings in the image will be 4111*d5c09012SAndroid Build Coastguard Worker // redacted with a black box. 4112*d5c09012SAndroid Build Coastguard Worker string image_redact_template = 4; 4113*d5c09012SAndroid Build Coastguard Worker} 4114*d5c09012SAndroid Build Coastguard Worker 4115*d5c09012SAndroid Build Coastguard Worker// Request message for CreateInspectTemplate. 4116*d5c09012SAndroid Build Coastguard Workermessage CreateInspectTemplateRequest { 4117*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 4118*d5c09012SAndroid Build Coastguard Worker // 4119*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on the scope of the request 4120*d5c09012SAndroid Build Coastguard Worker // (project or organization) and whether you have [specified a processing 4121*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 4122*d5c09012SAndroid Build Coastguard Worker // 4123*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 4124*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 4125*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 4126*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 4127*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, location specified:<br/> 4128*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 4129*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, no location specified (defaults to global):<br/> 4130*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var> 4131*d5c09012SAndroid Build Coastguard Worker // 4132*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 4133*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 4134*d5c09012SAndroid Build Coastguard Worker // for processing data: 4135*d5c09012SAndroid Build Coastguard Worker // 4136*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 4137*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 4138*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4139*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4140*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/InspectTemplate" 4141*d5c09012SAndroid Build Coastguard Worker } 4142*d5c09012SAndroid Build Coastguard Worker ]; 4143*d5c09012SAndroid Build Coastguard Worker 4144*d5c09012SAndroid Build Coastguard Worker // Required. The InspectTemplate to create. 4145*d5c09012SAndroid Build Coastguard Worker InspectTemplate inspect_template = 2 [(google.api.field_behavior) = REQUIRED]; 4146*d5c09012SAndroid Build Coastguard Worker 4147*d5c09012SAndroid Build Coastguard Worker // The template id can contain uppercase and lowercase letters, 4148*d5c09012SAndroid Build Coastguard Worker // numbers, and hyphens; that is, it must match the regular 4149*d5c09012SAndroid Build Coastguard Worker // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 4150*d5c09012SAndroid Build Coastguard Worker // characters. Can be empty to allow the system to generate one. 4151*d5c09012SAndroid Build Coastguard Worker string template_id = 3; 4152*d5c09012SAndroid Build Coastguard Worker 4153*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 4154*d5c09012SAndroid Build Coastguard Worker string location_id = 4; 4155*d5c09012SAndroid Build Coastguard Worker} 4156*d5c09012SAndroid Build Coastguard Worker 4157*d5c09012SAndroid Build Coastguard Worker// Request message for UpdateInspectTemplate. 4158*d5c09012SAndroid Build Coastguard Workermessage UpdateInspectTemplateRequest { 4159*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of organization and inspectTemplate to be updated, 4160*d5c09012SAndroid Build Coastguard Worker // for example `organizations/433245324/inspectTemplates/432452342` or 4161*d5c09012SAndroid Build Coastguard Worker // projects/project-id/inspectTemplates/432452342. 4162*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4163*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4164*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4165*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/InspectTemplate" 4166*d5c09012SAndroid Build Coastguard Worker } 4167*d5c09012SAndroid Build Coastguard Worker ]; 4168*d5c09012SAndroid Build Coastguard Worker 4169*d5c09012SAndroid Build Coastguard Worker // New InspectTemplate value. 4170*d5c09012SAndroid Build Coastguard Worker InspectTemplate inspect_template = 2; 4171*d5c09012SAndroid Build Coastguard Worker 4172*d5c09012SAndroid Build Coastguard Worker // Mask to control which fields get updated. 4173*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 4174*d5c09012SAndroid Build Coastguard Worker} 4175*d5c09012SAndroid Build Coastguard Worker 4176*d5c09012SAndroid Build Coastguard Worker// Request message for GetInspectTemplate. 4177*d5c09012SAndroid Build Coastguard Workermessage GetInspectTemplateRequest { 4178*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization and inspectTemplate to be read, 4179*d5c09012SAndroid Build Coastguard Worker // for example `organizations/433245324/inspectTemplates/432452342` or 4180*d5c09012SAndroid Build Coastguard Worker // projects/project-id/inspectTemplates/432452342. 4181*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4182*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4183*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4184*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/InspectTemplate" 4185*d5c09012SAndroid Build Coastguard Worker } 4186*d5c09012SAndroid Build Coastguard Worker ]; 4187*d5c09012SAndroid Build Coastguard Worker} 4188*d5c09012SAndroid Build Coastguard Worker 4189*d5c09012SAndroid Build Coastguard Worker// Request message for ListInspectTemplates. 4190*d5c09012SAndroid Build Coastguard Workermessage ListInspectTemplatesRequest { 4191*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 4192*d5c09012SAndroid Build Coastguard Worker // 4193*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on the scope of the request 4194*d5c09012SAndroid Build Coastguard Worker // (project or organization) and whether you have [specified a processing 4195*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 4196*d5c09012SAndroid Build Coastguard Worker // 4197*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 4198*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 4199*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 4200*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 4201*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, location specified:<br/> 4202*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 4203*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, no location specified (defaults to global):<br/> 4204*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var> 4205*d5c09012SAndroid Build Coastguard Worker // 4206*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 4207*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 4208*d5c09012SAndroid Build Coastguard Worker // for processing data: 4209*d5c09012SAndroid Build Coastguard Worker // 4210*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 4211*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 4212*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4213*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4214*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/InspectTemplate" 4215*d5c09012SAndroid Build Coastguard Worker } 4216*d5c09012SAndroid Build Coastguard Worker ]; 4217*d5c09012SAndroid Build Coastguard Worker 4218*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. Comes from the previous call 4219*d5c09012SAndroid Build Coastguard Worker // to `ListInspectTemplates`. 4220*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 4221*d5c09012SAndroid Build Coastguard Worker 4222*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by the server. If zero server 4223*d5c09012SAndroid Build Coastguard Worker // returns a page of max size 100. 4224*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 4225*d5c09012SAndroid Build Coastguard Worker 4226*d5c09012SAndroid Build Coastguard Worker // Comma separated list of fields to order by, 4227*d5c09012SAndroid Build Coastguard Worker // followed by `asc` or `desc` postfix. This list is case insensitive. The 4228*d5c09012SAndroid Build Coastguard Worker // default sorting order is ascending. Redundant space characters are 4229*d5c09012SAndroid Build Coastguard Worker // insignificant. 4230*d5c09012SAndroid Build Coastguard Worker // 4231*d5c09012SAndroid Build Coastguard Worker // Example: `name asc,update_time, create_time desc` 4232*d5c09012SAndroid Build Coastguard Worker // 4233*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 4234*d5c09012SAndroid Build Coastguard Worker // 4235*d5c09012SAndroid Build Coastguard Worker // - `create_time`: corresponds to the time the template was created. 4236*d5c09012SAndroid Build Coastguard Worker // - `update_time`: corresponds to the time the template was last updated. 4237*d5c09012SAndroid Build Coastguard Worker // - `name`: corresponds to the template's name. 4238*d5c09012SAndroid Build Coastguard Worker // - `display_name`: corresponds to the template's display name. 4239*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 4240*d5c09012SAndroid Build Coastguard Worker 4241*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 4242*d5c09012SAndroid Build Coastguard Worker string location_id = 5; 4243*d5c09012SAndroid Build Coastguard Worker} 4244*d5c09012SAndroid Build Coastguard Worker 4245*d5c09012SAndroid Build Coastguard Worker// Response message for ListInspectTemplates. 4246*d5c09012SAndroid Build Coastguard Workermessage ListInspectTemplatesResponse { 4247*d5c09012SAndroid Build Coastguard Worker // List of inspectTemplates, up to page_size in ListInspectTemplatesRequest. 4248*d5c09012SAndroid Build Coastguard Worker repeated InspectTemplate inspect_templates = 1; 4249*d5c09012SAndroid Build Coastguard Worker 4250*d5c09012SAndroid Build Coastguard Worker // If the next page is available then the next page token to be used in the 4251*d5c09012SAndroid Build Coastguard Worker // following ListInspectTemplates request. 4252*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 4253*d5c09012SAndroid Build Coastguard Worker} 4254*d5c09012SAndroid Build Coastguard Worker 4255*d5c09012SAndroid Build Coastguard Worker// Request message for DeleteInspectTemplate. 4256*d5c09012SAndroid Build Coastguard Workermessage DeleteInspectTemplateRequest { 4257*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization and inspectTemplate to be 4258*d5c09012SAndroid Build Coastguard Worker // deleted, for example `organizations/433245324/inspectTemplates/432452342` 4259*d5c09012SAndroid Build Coastguard Worker // or projects/project-id/inspectTemplates/432452342. 4260*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4261*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4262*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4263*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/InspectTemplate" 4264*d5c09012SAndroid Build Coastguard Worker } 4265*d5c09012SAndroid Build Coastguard Worker ]; 4266*d5c09012SAndroid Build Coastguard Worker} 4267*d5c09012SAndroid Build Coastguard Worker 4268*d5c09012SAndroid Build Coastguard Worker// Request message for CreateJobTrigger. 4269*d5c09012SAndroid Build Coastguard Workermessage CreateJobTriggerRequest { 4270*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 4271*d5c09012SAndroid Build Coastguard Worker // 4272*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 4273*d5c09012SAndroid Build Coastguard Worker // processing 4274*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 4275*d5c09012SAndroid Build Coastguard Worker // 4276*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 4277*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 4278*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 4279*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 4280*d5c09012SAndroid Build Coastguard Worker // 4281*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 4282*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 4283*d5c09012SAndroid Build Coastguard Worker // for processing data: 4284*d5c09012SAndroid Build Coastguard Worker // 4285*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 4286*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 4287*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4288*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4289*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/JobTrigger" 4290*d5c09012SAndroid Build Coastguard Worker } 4291*d5c09012SAndroid Build Coastguard Worker ]; 4292*d5c09012SAndroid Build Coastguard Worker 4293*d5c09012SAndroid Build Coastguard Worker // Required. The JobTrigger to create. 4294*d5c09012SAndroid Build Coastguard Worker JobTrigger job_trigger = 2 [(google.api.field_behavior) = REQUIRED]; 4295*d5c09012SAndroid Build Coastguard Worker 4296*d5c09012SAndroid Build Coastguard Worker // The trigger id can contain uppercase and lowercase letters, 4297*d5c09012SAndroid Build Coastguard Worker // numbers, and hyphens; that is, it must match the regular 4298*d5c09012SAndroid Build Coastguard Worker // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 4299*d5c09012SAndroid Build Coastguard Worker // characters. Can be empty to allow the system to generate one. 4300*d5c09012SAndroid Build Coastguard Worker string trigger_id = 3; 4301*d5c09012SAndroid Build Coastguard Worker 4302*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 4303*d5c09012SAndroid Build Coastguard Worker string location_id = 4; 4304*d5c09012SAndroid Build Coastguard Worker} 4305*d5c09012SAndroid Build Coastguard Worker 4306*d5c09012SAndroid Build Coastguard Worker// Request message for ActivateJobTrigger. 4307*d5c09012SAndroid Build Coastguard Workermessage ActivateJobTriggerRequest { 4308*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the trigger to activate, for example 4309*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/jobTriggers/53234423`. 4310*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4311*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4312*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/JobTrigger" } 4313*d5c09012SAndroid Build Coastguard Worker ]; 4314*d5c09012SAndroid Build Coastguard Worker} 4315*d5c09012SAndroid Build Coastguard Worker 4316*d5c09012SAndroid Build Coastguard Worker// Request message for UpdateJobTrigger. 4317*d5c09012SAndroid Build Coastguard Workermessage UpdateJobTriggerRequest { 4318*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the project and the triggeredJob, for example 4319*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/jobTriggers/53234423`. 4320*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4321*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4322*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/JobTrigger" } 4323*d5c09012SAndroid Build Coastguard Worker ]; 4324*d5c09012SAndroid Build Coastguard Worker 4325*d5c09012SAndroid Build Coastguard Worker // New JobTrigger value. 4326*d5c09012SAndroid Build Coastguard Worker JobTrigger job_trigger = 2; 4327*d5c09012SAndroid Build Coastguard Worker 4328*d5c09012SAndroid Build Coastguard Worker // Mask to control which fields get updated. 4329*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 4330*d5c09012SAndroid Build Coastguard Worker} 4331*d5c09012SAndroid Build Coastguard Worker 4332*d5c09012SAndroid Build Coastguard Worker// Request message for GetJobTrigger. 4333*d5c09012SAndroid Build Coastguard Workermessage GetJobTriggerRequest { 4334*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the project and the triggeredJob, for example 4335*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/jobTriggers/53234423`. 4336*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4337*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4338*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/JobTrigger" } 4339*d5c09012SAndroid Build Coastguard Worker ]; 4340*d5c09012SAndroid Build Coastguard Worker} 4341*d5c09012SAndroid Build Coastguard Worker 4342*d5c09012SAndroid Build Coastguard Worker// Request message for CreateDiscoveryConfig. 4343*d5c09012SAndroid Build Coastguard Workermessage CreateDiscoveryConfigRequest { 4344*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 4345*d5c09012SAndroid Build Coastguard Worker // 4346*d5c09012SAndroid Build Coastguard Worker // The format of this value is as follows: 4347*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 4348*d5c09012SAndroid Build Coastguard Worker // 4349*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 4350*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 4351*d5c09012SAndroid Build Coastguard Worker // for processing data: 4352*d5c09012SAndroid Build Coastguard Worker // 4353*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 4354*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 4355*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4356*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4357*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DiscoveryConfig" 4358*d5c09012SAndroid Build Coastguard Worker } 4359*d5c09012SAndroid Build Coastguard Worker ]; 4360*d5c09012SAndroid Build Coastguard Worker 4361*d5c09012SAndroid Build Coastguard Worker // Required. The DiscoveryConfig to create. 4362*d5c09012SAndroid Build Coastguard Worker DiscoveryConfig discovery_config = 2 [(google.api.field_behavior) = REQUIRED]; 4363*d5c09012SAndroid Build Coastguard Worker 4364*d5c09012SAndroid Build Coastguard Worker // The config ID can contain uppercase and lowercase letters, 4365*d5c09012SAndroid Build Coastguard Worker // numbers, and hyphens; that is, it must match the regular 4366*d5c09012SAndroid Build Coastguard Worker // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 4367*d5c09012SAndroid Build Coastguard Worker // characters. Can be empty to allow the system to generate one. 4368*d5c09012SAndroid Build Coastguard Worker string config_id = 3; 4369*d5c09012SAndroid Build Coastguard Worker} 4370*d5c09012SAndroid Build Coastguard Worker 4371*d5c09012SAndroid Build Coastguard Worker// Request message for UpdateDiscoveryConfig. 4372*d5c09012SAndroid Build Coastguard Workermessage UpdateDiscoveryConfigRequest { 4373*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the project and the configuration, for example 4374*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/discoveryConfigs/53234423`. 4375*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4376*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4377*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4378*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DiscoveryConfig" 4379*d5c09012SAndroid Build Coastguard Worker } 4380*d5c09012SAndroid Build Coastguard Worker ]; 4381*d5c09012SAndroid Build Coastguard Worker 4382*d5c09012SAndroid Build Coastguard Worker // Required. New DiscoveryConfig value. 4383*d5c09012SAndroid Build Coastguard Worker DiscoveryConfig discovery_config = 2 [(google.api.field_behavior) = REQUIRED]; 4384*d5c09012SAndroid Build Coastguard Worker 4385*d5c09012SAndroid Build Coastguard Worker // Mask to control which fields get updated. 4386*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 4387*d5c09012SAndroid Build Coastguard Worker} 4388*d5c09012SAndroid Build Coastguard Worker 4389*d5c09012SAndroid Build Coastguard Worker// Request message for GetDiscoveryConfig. 4390*d5c09012SAndroid Build Coastguard Workermessage GetDiscoveryConfigRequest { 4391*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the project and the configuration, for example 4392*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/discoveryConfigs/53234423`. 4393*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4394*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4395*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4396*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DiscoveryConfig" 4397*d5c09012SAndroid Build Coastguard Worker } 4398*d5c09012SAndroid Build Coastguard Worker ]; 4399*d5c09012SAndroid Build Coastguard Worker} 4400*d5c09012SAndroid Build Coastguard Worker 4401*d5c09012SAndroid Build Coastguard Worker// Request message for ListDiscoveryConfigs. 4402*d5c09012SAndroid Build Coastguard Workermessage ListDiscoveryConfigsRequest { 4403*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 4404*d5c09012SAndroid Build Coastguard Worker // 4405*d5c09012SAndroid Build Coastguard Worker // The format of this value is as follows: 4406*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 4407*d5c09012SAndroid Build Coastguard Worker // 4408*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 4409*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 4410*d5c09012SAndroid Build Coastguard Worker // for processing data: 4411*d5c09012SAndroid Build Coastguard Worker // 4412*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 4413*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 4414*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4415*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4416*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DiscoveryConfig" 4417*d5c09012SAndroid Build Coastguard Worker } 4418*d5c09012SAndroid Build Coastguard Worker ]; 4419*d5c09012SAndroid Build Coastguard Worker 4420*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. Comes from the previous call 4421*d5c09012SAndroid Build Coastguard Worker // to ListDiscoveryConfigs. `order_by` field must not 4422*d5c09012SAndroid Build Coastguard Worker // change for subsequent calls. 4423*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 4424*d5c09012SAndroid Build Coastguard Worker 4425*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by a server. 4426*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 4427*d5c09012SAndroid Build Coastguard Worker 4428*d5c09012SAndroid Build Coastguard Worker // Comma separated list of config fields to order by, 4429*d5c09012SAndroid Build Coastguard Worker // followed by `asc` or `desc` postfix. This list is case insensitive. The 4430*d5c09012SAndroid Build Coastguard Worker // default sorting order is ascending. Redundant space characters are 4431*d5c09012SAndroid Build Coastguard Worker // insignificant. 4432*d5c09012SAndroid Build Coastguard Worker // 4433*d5c09012SAndroid Build Coastguard Worker // Example: `name asc,update_time, create_time desc` 4434*d5c09012SAndroid Build Coastguard Worker // 4435*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 4436*d5c09012SAndroid Build Coastguard Worker // 4437*d5c09012SAndroid Build Coastguard Worker // - `last_run_time`: corresponds to the last time the DiscoveryConfig ran. 4438*d5c09012SAndroid Build Coastguard Worker // - `name`: corresponds to the DiscoveryConfig's name. 4439*d5c09012SAndroid Build Coastguard Worker // - `status`: corresponds to DiscoveryConfig's status. 4440*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 4441*d5c09012SAndroid Build Coastguard Worker} 4442*d5c09012SAndroid Build Coastguard Worker 4443*d5c09012SAndroid Build Coastguard Worker// Response message for ListDiscoveryConfigs. 4444*d5c09012SAndroid Build Coastguard Workermessage ListDiscoveryConfigsResponse { 4445*d5c09012SAndroid Build Coastguard Worker // List of configs, up to page_size in ListDiscoveryConfigsRequest. 4446*d5c09012SAndroid Build Coastguard Worker repeated DiscoveryConfig discovery_configs = 1; 4447*d5c09012SAndroid Build Coastguard Worker 4448*d5c09012SAndroid Build Coastguard Worker // If the next page is available then this value is the next page token to be 4449*d5c09012SAndroid Build Coastguard Worker // used in the following ListDiscoveryConfigs request. 4450*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 4451*d5c09012SAndroid Build Coastguard Worker} 4452*d5c09012SAndroid Build Coastguard Worker 4453*d5c09012SAndroid Build Coastguard Worker// Request message for DeleteDiscoveryConfig. 4454*d5c09012SAndroid Build Coastguard Workermessage DeleteDiscoveryConfigRequest { 4455*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the project and the config, for example 4456*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/discoveryConfigs/53234423`. 4457*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4458*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4459*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4460*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DiscoveryConfig" 4461*d5c09012SAndroid Build Coastguard Worker } 4462*d5c09012SAndroid Build Coastguard Worker ]; 4463*d5c09012SAndroid Build Coastguard Worker} 4464*d5c09012SAndroid Build Coastguard Worker 4465*d5c09012SAndroid Build Coastguard Worker// Request message for CreateDlpJobRequest. Used to initiate long running 4466*d5c09012SAndroid Build Coastguard Worker// jobs such as calculating risk metrics or inspecting Google Cloud 4467*d5c09012SAndroid Build Coastguard Worker// Storage. 4468*d5c09012SAndroid Build Coastguard Workermessage CreateDlpJobRequest { 4469*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 4470*d5c09012SAndroid Build Coastguard Worker // 4471*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 4472*d5c09012SAndroid Build Coastguard Worker // processing 4473*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 4474*d5c09012SAndroid Build Coastguard Worker // 4475*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 4476*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 4477*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 4478*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 4479*d5c09012SAndroid Build Coastguard Worker // 4480*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 4481*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 4482*d5c09012SAndroid Build Coastguard Worker // for processing data: 4483*d5c09012SAndroid Build Coastguard Worker // 4484*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 4485*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 4486*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4487*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4488*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DlpJob" 4489*d5c09012SAndroid Build Coastguard Worker } 4490*d5c09012SAndroid Build Coastguard Worker ]; 4491*d5c09012SAndroid Build Coastguard Worker 4492*d5c09012SAndroid Build Coastguard Worker // The configuration details for the specific type of job to run. 4493*d5c09012SAndroid Build Coastguard Worker oneof job { 4494*d5c09012SAndroid Build Coastguard Worker // An inspection job scans a storage repository for InfoTypes. 4495*d5c09012SAndroid Build Coastguard Worker InspectJobConfig inspect_job = 2; 4496*d5c09012SAndroid Build Coastguard Worker 4497*d5c09012SAndroid Build Coastguard Worker // A risk analysis job calculates re-identification risk metrics for a 4498*d5c09012SAndroid Build Coastguard Worker // BigQuery table. 4499*d5c09012SAndroid Build Coastguard Worker RiskAnalysisJobConfig risk_job = 3; 4500*d5c09012SAndroid Build Coastguard Worker } 4501*d5c09012SAndroid Build Coastguard Worker 4502*d5c09012SAndroid Build Coastguard Worker // The job id can contain uppercase and lowercase letters, 4503*d5c09012SAndroid Build Coastguard Worker // numbers, and hyphens; that is, it must match the regular 4504*d5c09012SAndroid Build Coastguard Worker // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 4505*d5c09012SAndroid Build Coastguard Worker // characters. Can be empty to allow the system to generate one. 4506*d5c09012SAndroid Build Coastguard Worker string job_id = 4; 4507*d5c09012SAndroid Build Coastguard Worker 4508*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 4509*d5c09012SAndroid Build Coastguard Worker string location_id = 5; 4510*d5c09012SAndroid Build Coastguard Worker} 4511*d5c09012SAndroid Build Coastguard Worker 4512*d5c09012SAndroid Build Coastguard Worker// Request message for ListJobTriggers. 4513*d5c09012SAndroid Build Coastguard Workermessage ListJobTriggersRequest { 4514*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 4515*d5c09012SAndroid Build Coastguard Worker // 4516*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 4517*d5c09012SAndroid Build Coastguard Worker // processing 4518*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 4519*d5c09012SAndroid Build Coastguard Worker // 4520*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 4521*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 4522*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 4523*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 4524*d5c09012SAndroid Build Coastguard Worker // 4525*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 4526*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 4527*d5c09012SAndroid Build Coastguard Worker // for processing data: 4528*d5c09012SAndroid Build Coastguard Worker // 4529*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 4530*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 4531*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4532*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 4533*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/JobTrigger" 4534*d5c09012SAndroid Build Coastguard Worker } 4535*d5c09012SAndroid Build Coastguard Worker ]; 4536*d5c09012SAndroid Build Coastguard Worker 4537*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. Comes from the previous call 4538*d5c09012SAndroid Build Coastguard Worker // to ListJobTriggers. `order_by` field must not 4539*d5c09012SAndroid Build Coastguard Worker // change for subsequent calls. 4540*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 4541*d5c09012SAndroid Build Coastguard Worker 4542*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by a server. 4543*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 4544*d5c09012SAndroid Build Coastguard Worker 4545*d5c09012SAndroid Build Coastguard Worker // Comma separated list of triggeredJob fields to order by, 4546*d5c09012SAndroid Build Coastguard Worker // followed by `asc` or `desc` postfix. This list is case insensitive. The 4547*d5c09012SAndroid Build Coastguard Worker // default sorting order is ascending. Redundant space characters are 4548*d5c09012SAndroid Build Coastguard Worker // insignificant. 4549*d5c09012SAndroid Build Coastguard Worker // 4550*d5c09012SAndroid Build Coastguard Worker // Example: `name asc,update_time, create_time desc` 4551*d5c09012SAndroid Build Coastguard Worker // 4552*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 4553*d5c09012SAndroid Build Coastguard Worker // 4554*d5c09012SAndroid Build Coastguard Worker // - `create_time`: corresponds to the time the JobTrigger was created. 4555*d5c09012SAndroid Build Coastguard Worker // - `update_time`: corresponds to the time the JobTrigger was last updated. 4556*d5c09012SAndroid Build Coastguard Worker // - `last_run_time`: corresponds to the last time the JobTrigger ran. 4557*d5c09012SAndroid Build Coastguard Worker // - `name`: corresponds to the JobTrigger's name. 4558*d5c09012SAndroid Build Coastguard Worker // - `display_name`: corresponds to the JobTrigger's display name. 4559*d5c09012SAndroid Build Coastguard Worker // - `status`: corresponds to JobTrigger's status. 4560*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 4561*d5c09012SAndroid Build Coastguard Worker 4562*d5c09012SAndroid Build Coastguard Worker // Allows filtering. 4563*d5c09012SAndroid Build Coastguard Worker // 4564*d5c09012SAndroid Build Coastguard Worker // Supported syntax: 4565*d5c09012SAndroid Build Coastguard Worker // 4566*d5c09012SAndroid Build Coastguard Worker // * Filter expressions are made up of one or more restrictions. 4567*d5c09012SAndroid Build Coastguard Worker // * Restrictions can be combined by `AND` or `OR` logical operators. A 4568*d5c09012SAndroid Build Coastguard Worker // sequence of restrictions implicitly uses `AND`. 4569*d5c09012SAndroid Build Coastguard Worker // * A restriction has the form of `{field} {operator} {value}`. 4570*d5c09012SAndroid Build Coastguard Worker // * Supported fields/values for inspect triggers: 4571*d5c09012SAndroid Build Coastguard Worker // - `status` - HEALTHY|PAUSED|CANCELLED 4572*d5c09012SAndroid Build Coastguard Worker // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY 4573*d5c09012SAndroid Build Coastguard Worker // - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by 4574*d5c09012SAndroid Build Coastguard Worker // quotation marks. Nanoseconds are ignored. 4575*d5c09012SAndroid Build Coastguard Worker // - 'error_count' - Number of errors that have occurred while running. 4576*d5c09012SAndroid Build Coastguard Worker // * The operator must be `=` or `!=` for status and inspected_storage. 4577*d5c09012SAndroid Build Coastguard Worker // 4578*d5c09012SAndroid Build Coastguard Worker // Examples: 4579*d5c09012SAndroid Build Coastguard Worker // 4580*d5c09012SAndroid Build Coastguard Worker // * inspected_storage = cloud_storage AND status = HEALTHY 4581*d5c09012SAndroid Build Coastguard Worker // * inspected_storage = cloud_storage OR inspected_storage = bigquery 4582*d5c09012SAndroid Build Coastguard Worker // * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY) 4583*d5c09012SAndroid Build Coastguard Worker // * last_run_time > \"2017-12-12T00:00:00+00:00\" 4584*d5c09012SAndroid Build Coastguard Worker // 4585*d5c09012SAndroid Build Coastguard Worker // The length of this field should be no more than 500 characters. 4586*d5c09012SAndroid Build Coastguard Worker string filter = 5; 4587*d5c09012SAndroid Build Coastguard Worker 4588*d5c09012SAndroid Build Coastguard Worker // The type of jobs. Will use `DlpJobType.INSPECT` if not set. 4589*d5c09012SAndroid Build Coastguard Worker DlpJobType type = 6; 4590*d5c09012SAndroid Build Coastguard Worker 4591*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 4592*d5c09012SAndroid Build Coastguard Worker string location_id = 7; 4593*d5c09012SAndroid Build Coastguard Worker} 4594*d5c09012SAndroid Build Coastguard Worker 4595*d5c09012SAndroid Build Coastguard Worker// Response message for ListJobTriggers. 4596*d5c09012SAndroid Build Coastguard Workermessage ListJobTriggersResponse { 4597*d5c09012SAndroid Build Coastguard Worker // List of triggeredJobs, up to page_size in ListJobTriggersRequest. 4598*d5c09012SAndroid Build Coastguard Worker repeated JobTrigger job_triggers = 1; 4599*d5c09012SAndroid Build Coastguard Worker 4600*d5c09012SAndroid Build Coastguard Worker // If the next page is available then this value is the next page token to be 4601*d5c09012SAndroid Build Coastguard Worker // used in the following ListJobTriggers request. 4602*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 4603*d5c09012SAndroid Build Coastguard Worker} 4604*d5c09012SAndroid Build Coastguard Worker 4605*d5c09012SAndroid Build Coastguard Worker// Request message for DeleteJobTrigger. 4606*d5c09012SAndroid Build Coastguard Workermessage DeleteJobTriggerRequest { 4607*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the project and the triggeredJob, for example 4608*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/jobTriggers/53234423`. 4609*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 4610*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 4611*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/JobTrigger" } 4612*d5c09012SAndroid Build Coastguard Worker ]; 4613*d5c09012SAndroid Build Coastguard Worker} 4614*d5c09012SAndroid Build Coastguard Worker 4615*d5c09012SAndroid Build Coastguard Worker// Controls what and how to inspect for findings. 4616*d5c09012SAndroid Build Coastguard Workermessage InspectJobConfig { 4617*d5c09012SAndroid Build Coastguard Worker // The data to scan. 4618*d5c09012SAndroid Build Coastguard Worker StorageConfig storage_config = 1; 4619*d5c09012SAndroid Build Coastguard Worker 4620*d5c09012SAndroid Build Coastguard Worker // How and what to scan for. 4621*d5c09012SAndroid Build Coastguard Worker InspectConfig inspect_config = 2; 4622*d5c09012SAndroid Build Coastguard Worker 4623*d5c09012SAndroid Build Coastguard Worker // If provided, will be used as the default for all values in InspectConfig. 4624*d5c09012SAndroid Build Coastguard Worker // `inspect_config` will be merged into the values persisted as part of the 4625*d5c09012SAndroid Build Coastguard Worker // template. 4626*d5c09012SAndroid Build Coastguard Worker string inspect_template_name = 3; 4627*d5c09012SAndroid Build Coastguard Worker 4628*d5c09012SAndroid Build Coastguard Worker // Actions to execute at the completion of the job. 4629*d5c09012SAndroid Build Coastguard Worker repeated Action actions = 4; 4630*d5c09012SAndroid Build Coastguard Worker} 4631*d5c09012SAndroid Build Coastguard Worker 4632*d5c09012SAndroid Build Coastguard Worker// A task to execute when a data profile has been generated. 4633*d5c09012SAndroid Build Coastguard Workermessage DataProfileAction { 4634*d5c09012SAndroid Build Coastguard Worker // If set, the detailed data profiles will be persisted to the location 4635*d5c09012SAndroid Build Coastguard Worker // of your choice whenever updated. 4636*d5c09012SAndroid Build Coastguard Worker message Export { 4637*d5c09012SAndroid Build Coastguard Worker // Store all table and column profiles in an existing table or a new table 4638*d5c09012SAndroid Build Coastguard Worker // in an existing dataset. Each re-generation will result in a new row in 4639*d5c09012SAndroid Build Coastguard Worker // BigQuery. 4640*d5c09012SAndroid Build Coastguard Worker BigQueryTable profile_table = 1; 4641*d5c09012SAndroid Build Coastguard Worker } 4642*d5c09012SAndroid Build Coastguard Worker 4643*d5c09012SAndroid Build Coastguard Worker // Send a Pub/Sub message into the given Pub/Sub topic to connect other 4644*d5c09012SAndroid Build Coastguard Worker // systems to data profile generation. The message payload data will 4645*d5c09012SAndroid Build Coastguard Worker // be the byte serialization of `DataProfilePubSubMessage`. 4646*d5c09012SAndroid Build Coastguard Worker message PubSubNotification { 4647*d5c09012SAndroid Build Coastguard Worker // The levels of detail that can be included in the Pub/Sub message. 4648*d5c09012SAndroid Build Coastguard Worker enum DetailLevel { 4649*d5c09012SAndroid Build Coastguard Worker // Unused. 4650*d5c09012SAndroid Build Coastguard Worker DETAIL_LEVEL_UNSPECIFIED = 0; 4651*d5c09012SAndroid Build Coastguard Worker 4652*d5c09012SAndroid Build Coastguard Worker // The full table data profile. 4653*d5c09012SAndroid Build Coastguard Worker TABLE_PROFILE = 1; 4654*d5c09012SAndroid Build Coastguard Worker 4655*d5c09012SAndroid Build Coastguard Worker // The resource name of the table. 4656*d5c09012SAndroid Build Coastguard Worker RESOURCE_NAME = 2; 4657*d5c09012SAndroid Build Coastguard Worker } 4658*d5c09012SAndroid Build Coastguard Worker 4659*d5c09012SAndroid Build Coastguard Worker // Cloud Pub/Sub topic to send notifications to. 4660*d5c09012SAndroid Build Coastguard Worker // Format is projects/{project}/topics/{topic}. 4661*d5c09012SAndroid Build Coastguard Worker string topic = 1; 4662*d5c09012SAndroid Build Coastguard Worker 4663*d5c09012SAndroid Build Coastguard Worker // The type of event that triggers a Pub/Sub. At most one 4664*d5c09012SAndroid Build Coastguard Worker // `PubSubNotification` per EventType is permitted. 4665*d5c09012SAndroid Build Coastguard Worker EventType event = 2; 4666*d5c09012SAndroid Build Coastguard Worker 4667*d5c09012SAndroid Build Coastguard Worker // Conditions (e.g., data risk or sensitivity level) for triggering a 4668*d5c09012SAndroid Build Coastguard Worker // Pub/Sub. 4669*d5c09012SAndroid Build Coastguard Worker DataProfilePubSubCondition pubsub_condition = 3; 4670*d5c09012SAndroid Build Coastguard Worker 4671*d5c09012SAndroid Build Coastguard Worker // How much data to include in the Pub/Sub message. If the user wishes to 4672*d5c09012SAndroid Build Coastguard Worker // limit the size of the message, they can use resource_name and fetch the 4673*d5c09012SAndroid Build Coastguard Worker // profile fields they wish to. Per table profile (not per column). 4674*d5c09012SAndroid Build Coastguard Worker DetailLevel detail_of_message = 4; 4675*d5c09012SAndroid Build Coastguard Worker } 4676*d5c09012SAndroid Build Coastguard Worker 4677*d5c09012SAndroid Build Coastguard Worker // Types of event that can trigger an action. 4678*d5c09012SAndroid Build Coastguard Worker enum EventType { 4679*d5c09012SAndroid Build Coastguard Worker // Unused. 4680*d5c09012SAndroid Build Coastguard Worker EVENT_TYPE_UNSPECIFIED = 0; 4681*d5c09012SAndroid Build Coastguard Worker 4682*d5c09012SAndroid Build Coastguard Worker // New profile (not a re-profile). 4683*d5c09012SAndroid Build Coastguard Worker NEW_PROFILE = 1; 4684*d5c09012SAndroid Build Coastguard Worker 4685*d5c09012SAndroid Build Coastguard Worker // Changed one of the following profile metrics: 4686*d5c09012SAndroid Build Coastguard Worker // * Table data risk score 4687*d5c09012SAndroid Build Coastguard Worker // * Table sensitivity score 4688*d5c09012SAndroid Build Coastguard Worker // * Table resource visibility 4689*d5c09012SAndroid Build Coastguard Worker // * Table encryption type 4690*d5c09012SAndroid Build Coastguard Worker // * Table predicted infoTypes 4691*d5c09012SAndroid Build Coastguard Worker // * Table other infoTypes 4692*d5c09012SAndroid Build Coastguard Worker CHANGED_PROFILE = 2; 4693*d5c09012SAndroid Build Coastguard Worker 4694*d5c09012SAndroid Build Coastguard Worker // Table data risk score or sensitivity score increased. 4695*d5c09012SAndroid Build Coastguard Worker SCORE_INCREASED = 3; 4696*d5c09012SAndroid Build Coastguard Worker 4697*d5c09012SAndroid Build Coastguard Worker // A user (non-internal) error occurred. 4698*d5c09012SAndroid Build Coastguard Worker ERROR_CHANGED = 4; 4699*d5c09012SAndroid Build Coastguard Worker } 4700*d5c09012SAndroid Build Coastguard Worker 4701*d5c09012SAndroid Build Coastguard Worker // Type of action to execute when a profile is generated. 4702*d5c09012SAndroid Build Coastguard Worker oneof action { 4703*d5c09012SAndroid Build Coastguard Worker // Export data profiles into a provided location. 4704*d5c09012SAndroid Build Coastguard Worker Export export_data = 1; 4705*d5c09012SAndroid Build Coastguard Worker 4706*d5c09012SAndroid Build Coastguard Worker // Publish a message into the Pub/Sub topic. 4707*d5c09012SAndroid Build Coastguard Worker PubSubNotification pub_sub_notification = 2; 4708*d5c09012SAndroid Build Coastguard Worker } 4709*d5c09012SAndroid Build Coastguard Worker} 4710*d5c09012SAndroid Build Coastguard Worker 4711*d5c09012SAndroid Build Coastguard Worker// Configuration for setting up a job to scan resources for profile generation. 4712*d5c09012SAndroid Build Coastguard Worker// Only one data profile configuration may exist per organization, folder, 4713*d5c09012SAndroid Build Coastguard Worker// or project. 4714*d5c09012SAndroid Build Coastguard Worker// 4715*d5c09012SAndroid Build Coastguard Worker// The generated data profiles are retained according to the 4716*d5c09012SAndroid Build Coastguard Worker// [data retention policy] 4717*d5c09012SAndroid Build Coastguard Worker// (https://cloud.google.com/sensitive-data-protection/docs/data-profiles#retention). 4718*d5c09012SAndroid Build Coastguard Workermessage DataProfileJobConfig { 4719*d5c09012SAndroid Build Coastguard Worker // The data to scan. 4720*d5c09012SAndroid Build Coastguard Worker DataProfileLocation location = 1; 4721*d5c09012SAndroid Build Coastguard Worker 4722*d5c09012SAndroid Build Coastguard Worker // The project that will run the scan. The DLP service 4723*d5c09012SAndroid Build Coastguard Worker // account that exists within this project must have access to all resources 4724*d5c09012SAndroid Build Coastguard Worker // that are profiled, and the Cloud DLP API must be enabled. 4725*d5c09012SAndroid Build Coastguard Worker string project_id = 5; 4726*d5c09012SAndroid Build Coastguard Worker 4727*d5c09012SAndroid Build Coastguard Worker // Detection logic for profile generation. 4728*d5c09012SAndroid Build Coastguard Worker // 4729*d5c09012SAndroid Build Coastguard Worker // Not all template features are used by profiles. FindingLimits, 4730*d5c09012SAndroid Build Coastguard Worker // include_quote and exclude_info_types have no impact on 4731*d5c09012SAndroid Build Coastguard Worker // data profiling. 4732*d5c09012SAndroid Build Coastguard Worker // 4733*d5c09012SAndroid Build Coastguard Worker // Multiple templates may be provided if there is data in multiple regions. 4734*d5c09012SAndroid Build Coastguard Worker // At most one template must be specified per-region (including "global"). 4735*d5c09012SAndroid Build Coastguard Worker // Each region is scanned using the applicable template. If no region-specific 4736*d5c09012SAndroid Build Coastguard Worker // template is specified, but a "global" template is specified, it will be 4737*d5c09012SAndroid Build Coastguard Worker // copied to that region and used instead. If no global or region-specific 4738*d5c09012SAndroid Build Coastguard Worker // template is provided for a region with data, that region's data will not be 4739*d5c09012SAndroid Build Coastguard Worker // scanned. 4740*d5c09012SAndroid Build Coastguard Worker // 4741*d5c09012SAndroid Build Coastguard Worker // For more information, see 4742*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/data-profiles#data-residency. 4743*d5c09012SAndroid Build Coastguard Worker repeated string inspect_templates = 7; 4744*d5c09012SAndroid Build Coastguard Worker 4745*d5c09012SAndroid Build Coastguard Worker // Actions to execute at the completion of the job. 4746*d5c09012SAndroid Build Coastguard Worker repeated DataProfileAction data_profile_actions = 6; 4747*d5c09012SAndroid Build Coastguard Worker} 4748*d5c09012SAndroid Build Coastguard Worker 4749*d5c09012SAndroid Build Coastguard Worker// A pattern to match against one or more tables, datasets, or projects that 4750*d5c09012SAndroid Build Coastguard Worker// contain BigQuery tables. At least one pattern must be specified. 4751*d5c09012SAndroid Build Coastguard Worker// Regular expressions use RE2 4752*d5c09012SAndroid Build Coastguard Worker// [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found 4753*d5c09012SAndroid Build Coastguard Worker// under the google/re2 repository on GitHub. 4754*d5c09012SAndroid Build Coastguard Workermessage BigQueryRegex { 4755*d5c09012SAndroid Build Coastguard Worker // For organizations, if unset, will match all projects. Has no effect 4756*d5c09012SAndroid Build Coastguard Worker // for data profile configurations created within a project. 4757*d5c09012SAndroid Build Coastguard Worker string project_id_regex = 1; 4758*d5c09012SAndroid Build Coastguard Worker 4759*d5c09012SAndroid Build Coastguard Worker // If unset, this property matches all datasets. 4760*d5c09012SAndroid Build Coastguard Worker string dataset_id_regex = 2; 4761*d5c09012SAndroid Build Coastguard Worker 4762*d5c09012SAndroid Build Coastguard Worker // If unset, this property matches all tables. 4763*d5c09012SAndroid Build Coastguard Worker string table_id_regex = 3; 4764*d5c09012SAndroid Build Coastguard Worker} 4765*d5c09012SAndroid Build Coastguard Worker 4766*d5c09012SAndroid Build Coastguard Worker// A collection of regular expressions to determine what tables to match 4767*d5c09012SAndroid Build Coastguard Worker// against. 4768*d5c09012SAndroid Build Coastguard Workermessage BigQueryRegexes { 4769*d5c09012SAndroid Build Coastguard Worker // A single BigQuery regular expression pattern to match against one or more 4770*d5c09012SAndroid Build Coastguard Worker // tables, datasets, or projects that contain BigQuery tables. 4771*d5c09012SAndroid Build Coastguard Worker repeated BigQueryRegex patterns = 1; 4772*d5c09012SAndroid Build Coastguard Worker} 4773*d5c09012SAndroid Build Coastguard Worker 4774*d5c09012SAndroid Build Coastguard Worker// The types of BigQuery tables supported by Cloud DLP. 4775*d5c09012SAndroid Build Coastguard Workermessage BigQueryTableTypes { 4776*d5c09012SAndroid Build Coastguard Worker // A set of BigQuery table types. 4777*d5c09012SAndroid Build Coastguard Worker repeated BigQueryTableType types = 1; 4778*d5c09012SAndroid Build Coastguard Worker} 4779*d5c09012SAndroid Build Coastguard Worker 4780*d5c09012SAndroid Build Coastguard Worker// Over time new types may be added. Currently VIEW, MATERIALIZED_VIEW, 4781*d5c09012SAndroid Build Coastguard Worker// and SNAPSHOT are not supported. 4782*d5c09012SAndroid Build Coastguard Workerenum BigQueryTableTypeCollection { 4783*d5c09012SAndroid Build Coastguard Worker // Unused. 4784*d5c09012SAndroid Build Coastguard Worker BIG_QUERY_COLLECTION_UNSPECIFIED = 0; 4785*d5c09012SAndroid Build Coastguard Worker 4786*d5c09012SAndroid Build Coastguard Worker // Automatically generate profiles for all tables, even if the table type is 4787*d5c09012SAndroid Build Coastguard Worker // not yet fully supported for analysis. Profiles for unsupported tables will 4788*d5c09012SAndroid Build Coastguard Worker // be generated with errors to indicate their partial support. When full 4789*d5c09012SAndroid Build Coastguard Worker // support is added, the tables will automatically be profiled during the next 4790*d5c09012SAndroid Build Coastguard Worker // scheduled run. 4791*d5c09012SAndroid Build Coastguard Worker BIG_QUERY_COLLECTION_ALL_TYPES = 1; 4792*d5c09012SAndroid Build Coastguard Worker 4793*d5c09012SAndroid Build Coastguard Worker // Only those types fully supported will be profiled. Will expand 4794*d5c09012SAndroid Build Coastguard Worker // automatically as Cloud DLP adds support for new table types. Unsupported 4795*d5c09012SAndroid Build Coastguard Worker // table types will not have partial profiles generated. 4796*d5c09012SAndroid Build Coastguard Worker BIG_QUERY_COLLECTION_ONLY_SUPPORTED_TYPES = 2; 4797*d5c09012SAndroid Build Coastguard Worker} 4798*d5c09012SAndroid Build Coastguard Worker 4799*d5c09012SAndroid Build Coastguard Worker// Over time new types may be added. Currently VIEW, MATERIALIZED_VIEW, 4800*d5c09012SAndroid Build Coastguard Worker// SNAPSHOT, and non-BigLake external tables are not supported. 4801*d5c09012SAndroid Build Coastguard Workerenum BigQueryTableType { 4802*d5c09012SAndroid Build Coastguard Worker // Unused. 4803*d5c09012SAndroid Build Coastguard Worker BIG_QUERY_TABLE_TYPE_UNSPECIFIED = 0; 4804*d5c09012SAndroid Build Coastguard Worker 4805*d5c09012SAndroid Build Coastguard Worker // A normal BigQuery table. 4806*d5c09012SAndroid Build Coastguard Worker BIG_QUERY_TABLE_TYPE_TABLE = 1; 4807*d5c09012SAndroid Build Coastguard Worker 4808*d5c09012SAndroid Build Coastguard Worker // A table that references data stored in Cloud Storage. 4809*d5c09012SAndroid Build Coastguard Worker BIG_QUERY_TABLE_TYPE_EXTERNAL_BIG_LAKE = 2; 4810*d5c09012SAndroid Build Coastguard Worker} 4811*d5c09012SAndroid Build Coastguard Worker 4812*d5c09012SAndroid Build Coastguard Worker// How frequently data profiles can be updated. New options can be added at a 4813*d5c09012SAndroid Build Coastguard Worker// later time. 4814*d5c09012SAndroid Build Coastguard Workerenum DataProfileUpdateFrequency { 4815*d5c09012SAndroid Build Coastguard Worker // Unspecified. 4816*d5c09012SAndroid Build Coastguard Worker UPDATE_FREQUENCY_UNSPECIFIED = 0; 4817*d5c09012SAndroid Build Coastguard Worker 4818*d5c09012SAndroid Build Coastguard Worker // After the data profile is created, it will never be updated. 4819*d5c09012SAndroid Build Coastguard Worker UPDATE_FREQUENCY_NEVER = 1; 4820*d5c09012SAndroid Build Coastguard Worker 4821*d5c09012SAndroid Build Coastguard Worker // The data profile can be updated up to once every 24 hours. 4822*d5c09012SAndroid Build Coastguard Worker UPDATE_FREQUENCY_DAILY = 2; 4823*d5c09012SAndroid Build Coastguard Worker 4824*d5c09012SAndroid Build Coastguard Worker // The data profile can be updated up to once every 30 days. Default. 4825*d5c09012SAndroid Build Coastguard Worker UPDATE_FREQUENCY_MONTHLY = 4; 4826*d5c09012SAndroid Build Coastguard Worker} 4827*d5c09012SAndroid Build Coastguard Worker 4828*d5c09012SAndroid Build Coastguard Worker// Do not profile the tables. 4829*d5c09012SAndroid Build Coastguard Workermessage Disabled {} 4830*d5c09012SAndroid Build Coastguard Worker 4831*d5c09012SAndroid Build Coastguard Worker// The data that will be profiled. 4832*d5c09012SAndroid Build Coastguard Workermessage DataProfileLocation { 4833*d5c09012SAndroid Build Coastguard Worker // The location to be scanned. 4834*d5c09012SAndroid Build Coastguard Worker oneof location { 4835*d5c09012SAndroid Build Coastguard Worker // The ID of an organization to scan. 4836*d5c09012SAndroid Build Coastguard Worker int64 organization_id = 1; 4837*d5c09012SAndroid Build Coastguard Worker 4838*d5c09012SAndroid Build Coastguard Worker // The ID of the Folder within an organization to scan. 4839*d5c09012SAndroid Build Coastguard Worker int64 folder_id = 2; 4840*d5c09012SAndroid Build Coastguard Worker } 4841*d5c09012SAndroid Build Coastguard Worker} 4842*d5c09012SAndroid Build Coastguard Worker 4843*d5c09012SAndroid Build Coastguard Worker// Configuration for discovery to scan resources for profile generation. 4844*d5c09012SAndroid Build Coastguard Worker// Only one discovery configuration may exist per organization, folder, 4845*d5c09012SAndroid Build Coastguard Worker// or project. 4846*d5c09012SAndroid Build Coastguard Worker// 4847*d5c09012SAndroid Build Coastguard Worker// The generated data profiles are retained according to the 4848*d5c09012SAndroid Build Coastguard Worker// [data retention policy] 4849*d5c09012SAndroid Build Coastguard Worker// (https://cloud.google.com/sensitive-data-protection/docs/data-profiles#retention). 4850*d5c09012SAndroid Build Coastguard Workermessage DiscoveryConfig { 4851*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 4852*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DiscoveryConfig" 4853*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/discoveryConfigs/{discovery_config}" 4854*d5c09012SAndroid Build Coastguard Worker }; 4855*d5c09012SAndroid Build Coastguard Worker 4856*d5c09012SAndroid Build Coastguard Worker // Project and scan location information. Only set when the parent is an org. 4857*d5c09012SAndroid Build Coastguard Worker message OrgConfig { 4858*d5c09012SAndroid Build Coastguard Worker // The data to scan: folder, org, or project 4859*d5c09012SAndroid Build Coastguard Worker DiscoveryStartingLocation location = 1; 4860*d5c09012SAndroid Build Coastguard Worker 4861*d5c09012SAndroid Build Coastguard Worker // The project that will run the scan. The DLP service 4862*d5c09012SAndroid Build Coastguard Worker // account that exists within this project must have access to all resources 4863*d5c09012SAndroid Build Coastguard Worker // that are profiled, and the Cloud DLP API must be enabled. 4864*d5c09012SAndroid Build Coastguard Worker string project_id = 2; 4865*d5c09012SAndroid Build Coastguard Worker } 4866*d5c09012SAndroid Build Coastguard Worker 4867*d5c09012SAndroid Build Coastguard Worker // Whether the discovery config is currently active. New options may be added 4868*d5c09012SAndroid Build Coastguard Worker // at a later time. 4869*d5c09012SAndroid Build Coastguard Worker enum Status { 4870*d5c09012SAndroid Build Coastguard Worker // Unused 4871*d5c09012SAndroid Build Coastguard Worker STATUS_UNSPECIFIED = 0; 4872*d5c09012SAndroid Build Coastguard Worker 4873*d5c09012SAndroid Build Coastguard Worker // The discovery config is currently active. 4874*d5c09012SAndroid Build Coastguard Worker RUNNING = 1; 4875*d5c09012SAndroid Build Coastguard Worker 4876*d5c09012SAndroid Build Coastguard Worker // The discovery config is paused temporarily. 4877*d5c09012SAndroid Build Coastguard Worker PAUSED = 2; 4878*d5c09012SAndroid Build Coastguard Worker } 4879*d5c09012SAndroid Build Coastguard Worker 4880*d5c09012SAndroid Build Coastguard Worker // Unique resource name for the DiscoveryConfig, assigned by the service when 4881*d5c09012SAndroid Build Coastguard Worker // the DiscoveryConfig is created, for example 4882*d5c09012SAndroid Build Coastguard Worker // `projects/dlp-test-project/locations/global/discoveryConfigs/53234423`. 4883*d5c09012SAndroid Build Coastguard Worker string name = 1; 4884*d5c09012SAndroid Build Coastguard Worker 4885*d5c09012SAndroid Build Coastguard Worker // Display name (max 100 chars) 4886*d5c09012SAndroid Build Coastguard Worker string display_name = 11; 4887*d5c09012SAndroid Build Coastguard Worker 4888*d5c09012SAndroid Build Coastguard Worker // Only set when the parent is an org. 4889*d5c09012SAndroid Build Coastguard Worker OrgConfig org_config = 2; 4890*d5c09012SAndroid Build Coastguard Worker 4891*d5c09012SAndroid Build Coastguard Worker // Detection logic for profile generation. 4892*d5c09012SAndroid Build Coastguard Worker // 4893*d5c09012SAndroid Build Coastguard Worker // Not all template features are used by Discovery. FindingLimits, 4894*d5c09012SAndroid Build Coastguard Worker // include_quote and exclude_info_types have no impact on 4895*d5c09012SAndroid Build Coastguard Worker // Discovery. 4896*d5c09012SAndroid Build Coastguard Worker // 4897*d5c09012SAndroid Build Coastguard Worker // Multiple templates may be provided if there is data in multiple regions. 4898*d5c09012SAndroid Build Coastguard Worker // At most one template must be specified per-region (including "global"). 4899*d5c09012SAndroid Build Coastguard Worker // Each region is scanned using the applicable template. If no region-specific 4900*d5c09012SAndroid Build Coastguard Worker // template is specified, but a "global" template is specified, it will be 4901*d5c09012SAndroid Build Coastguard Worker // copied to that region and used instead. If no global or region-specific 4902*d5c09012SAndroid Build Coastguard Worker // template is provided for a region with data, that region's data will not be 4903*d5c09012SAndroid Build Coastguard Worker // scanned. 4904*d5c09012SAndroid Build Coastguard Worker // 4905*d5c09012SAndroid Build Coastguard Worker // For more information, see 4906*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/sensitive-data-protection/docs/data-profiles#data-residency. 4907*d5c09012SAndroid Build Coastguard Worker repeated string inspect_templates = 3; 4908*d5c09012SAndroid Build Coastguard Worker 4909*d5c09012SAndroid Build Coastguard Worker // Actions to execute at the completion of scanning. 4910*d5c09012SAndroid Build Coastguard Worker repeated DataProfileAction actions = 4; 4911*d5c09012SAndroid Build Coastguard Worker 4912*d5c09012SAndroid Build Coastguard Worker // Target to match against for determining what to scan and how frequently. 4913*d5c09012SAndroid Build Coastguard Worker repeated DiscoveryTarget targets = 5; 4914*d5c09012SAndroid Build Coastguard Worker 4915*d5c09012SAndroid Build Coastguard Worker // Output only. A stream of errors encountered when the config was activated. 4916*d5c09012SAndroid Build Coastguard Worker // Repeated errors may result in the config automatically being paused. Output 4917*d5c09012SAndroid Build Coastguard Worker // only field. Will return the last 100 errors. Whenever the config is 4918*d5c09012SAndroid Build Coastguard Worker // modified this list will be cleared. 4919*d5c09012SAndroid Build Coastguard Worker repeated Error errors = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 4920*d5c09012SAndroid Build Coastguard Worker 4921*d5c09012SAndroid Build Coastguard Worker // Output only. The creation timestamp of a DiscoveryConfig. 4922*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 7 4923*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 4924*d5c09012SAndroid Build Coastguard Worker 4925*d5c09012SAndroid Build Coastguard Worker // Output only. The last update timestamp of a DiscoveryConfig. 4926*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 8 4927*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 4928*d5c09012SAndroid Build Coastguard Worker 4929*d5c09012SAndroid Build Coastguard Worker // Output only. The timestamp of the last time this config was executed. 4930*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_run_time = 9 4931*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 4932*d5c09012SAndroid Build Coastguard Worker 4933*d5c09012SAndroid Build Coastguard Worker // Required. A status for this configuration. 4934*d5c09012SAndroid Build Coastguard Worker Status status = 10 [(google.api.field_behavior) = REQUIRED]; 4935*d5c09012SAndroid Build Coastguard Worker} 4936*d5c09012SAndroid Build Coastguard Worker 4937*d5c09012SAndroid Build Coastguard Worker// Target used to match against for Discovery. 4938*d5c09012SAndroid Build Coastguard Workermessage DiscoveryTarget { 4939*d5c09012SAndroid Build Coastguard Worker // A target to match against for Discovery. 4940*d5c09012SAndroid Build Coastguard Worker oneof target { 4941*d5c09012SAndroid Build Coastguard Worker // BigQuery target for Discovery. The first target to match a table will be 4942*d5c09012SAndroid Build Coastguard Worker // the one applied. 4943*d5c09012SAndroid Build Coastguard Worker BigQueryDiscoveryTarget big_query_target = 1; 4944*d5c09012SAndroid Build Coastguard Worker } 4945*d5c09012SAndroid Build Coastguard Worker} 4946*d5c09012SAndroid Build Coastguard Worker 4947*d5c09012SAndroid Build Coastguard Worker// Target used to match against for discovery with BigQuery tables 4948*d5c09012SAndroid Build Coastguard Workermessage BigQueryDiscoveryTarget { 4949*d5c09012SAndroid Build Coastguard Worker // Required. The tables the discovery cadence applies to. The first target 4950*d5c09012SAndroid Build Coastguard Worker // with a matching filter will be the one to apply to a table. 4951*d5c09012SAndroid Build Coastguard Worker DiscoveryBigQueryFilter filter = 1 [(google.api.field_behavior) = REQUIRED]; 4952*d5c09012SAndroid Build Coastguard Worker 4953*d5c09012SAndroid Build Coastguard Worker // In addition to matching the filter, these conditions must be true 4954*d5c09012SAndroid Build Coastguard Worker // before a profile is generated. 4955*d5c09012SAndroid Build Coastguard Worker DiscoveryBigQueryConditions conditions = 2; 4956*d5c09012SAndroid Build Coastguard Worker 4957*d5c09012SAndroid Build Coastguard Worker // The generation rule includes the logic on how frequently 4958*d5c09012SAndroid Build Coastguard Worker // to update the data profiles. If not specified, discovery will re-run and 4959*d5c09012SAndroid Build Coastguard Worker // update no more than once a month if new columns appear in the table. 4960*d5c09012SAndroid Build Coastguard Worker oneof frequency { 4961*d5c09012SAndroid Build Coastguard Worker // How often and when to update profiles. New tables that match both the 4962*d5c09012SAndroid Build Coastguard Worker // filter and conditions are scanned as quickly as possible depending on 4963*d5c09012SAndroid Build Coastguard Worker // system capacity. 4964*d5c09012SAndroid Build Coastguard Worker DiscoveryGenerationCadence cadence = 3; 4965*d5c09012SAndroid Build Coastguard Worker 4966*d5c09012SAndroid Build Coastguard Worker // Tables that match this filter will not have profiles created. 4967*d5c09012SAndroid Build Coastguard Worker Disabled disabled = 4; 4968*d5c09012SAndroid Build Coastguard Worker } 4969*d5c09012SAndroid Build Coastguard Worker} 4970*d5c09012SAndroid Build Coastguard Worker 4971*d5c09012SAndroid Build Coastguard Worker// Determines what tables will have profiles generated within an organization 4972*d5c09012SAndroid Build Coastguard Worker// or project. Includes the ability to filter by regular expression patterns 4973*d5c09012SAndroid Build Coastguard Worker// on project ID, dataset ID, and table ID. 4974*d5c09012SAndroid Build Coastguard Workermessage DiscoveryBigQueryFilter { 4975*d5c09012SAndroid Build Coastguard Worker // Catch-all for all other tables not specified by other filters. Should 4976*d5c09012SAndroid Build Coastguard Worker // always be last, except for single-table configurations, which will only 4977*d5c09012SAndroid Build Coastguard Worker // have a TableReference target. 4978*d5c09012SAndroid Build Coastguard Worker message AllOtherBigQueryTables {} 4979*d5c09012SAndroid Build Coastguard Worker 4980*d5c09012SAndroid Build Coastguard Worker // Whether the filter applies to a specific set of tables or all other tables 4981*d5c09012SAndroid Build Coastguard Worker // within the location being profiled. The first filter to match will be 4982*d5c09012SAndroid Build Coastguard Worker // applied, regardless of the condition. If none is set, will default to 4983*d5c09012SAndroid Build Coastguard Worker // `other_tables`. 4984*d5c09012SAndroid Build Coastguard Worker oneof filter { 4985*d5c09012SAndroid Build Coastguard Worker // A specific set of tables for this filter to apply to. A table collection 4986*d5c09012SAndroid Build Coastguard Worker // must be specified in only one filter per config. 4987*d5c09012SAndroid Build Coastguard Worker // If a table id or dataset is empty, Cloud DLP assumes all tables in that 4988*d5c09012SAndroid Build Coastguard Worker // collection must be profiled. Must specify a project ID. 4989*d5c09012SAndroid Build Coastguard Worker BigQueryTableCollection tables = 1; 4990*d5c09012SAndroid Build Coastguard Worker 4991*d5c09012SAndroid Build Coastguard Worker // Catch-all. This should always be the last filter in the list because 4992*d5c09012SAndroid Build Coastguard Worker // anything above it will apply first. Should only appear once in a 4993*d5c09012SAndroid Build Coastguard Worker // configuration. If none is specified, a default one will be added 4994*d5c09012SAndroid Build Coastguard Worker // automatically. 4995*d5c09012SAndroid Build Coastguard Worker AllOtherBigQueryTables other_tables = 2; 4996*d5c09012SAndroid Build Coastguard Worker } 4997*d5c09012SAndroid Build Coastguard Worker} 4998*d5c09012SAndroid Build Coastguard Worker 4999*d5c09012SAndroid Build Coastguard Worker// Specifies a collection of BigQuery tables. Used for Discovery. 5000*d5c09012SAndroid Build Coastguard Workermessage BigQueryTableCollection { 5001*d5c09012SAndroid Build Coastguard Worker // Maximum of 100 entries. 5002*d5c09012SAndroid Build Coastguard Worker // The first filter containing a pattern that matches a table will be used. 5003*d5c09012SAndroid Build Coastguard Worker oneof pattern { 5004*d5c09012SAndroid Build Coastguard Worker // A collection of regular expressions to match a BigQuery table against. 5005*d5c09012SAndroid Build Coastguard Worker BigQueryRegexes include_regexes = 1; 5006*d5c09012SAndroid Build Coastguard Worker } 5007*d5c09012SAndroid Build Coastguard Worker} 5008*d5c09012SAndroid Build Coastguard Worker 5009*d5c09012SAndroid Build Coastguard Worker// Requirements that must be true before a table is scanned in discovery for the 5010*d5c09012SAndroid Build Coastguard Worker// first time. There is an AND relationship between the top-level attributes. 5011*d5c09012SAndroid Build Coastguard Worker// Additionally, minimum conditions with an OR relationship that must be met 5012*d5c09012SAndroid Build Coastguard Worker// before Cloud DLP scans a table can be set (like a minimum row count or a 5013*d5c09012SAndroid Build Coastguard Worker// minimum table age). 5014*d5c09012SAndroid Build Coastguard Workermessage DiscoveryBigQueryConditions { 5015*d5c09012SAndroid Build Coastguard Worker // There is an OR relationship between these attributes. They are used to 5016*d5c09012SAndroid Build Coastguard Worker // determine if a table should be scanned or not in Discovery. 5017*d5c09012SAndroid Build Coastguard Worker message OrConditions { 5018*d5c09012SAndroid Build Coastguard Worker // Minimum number of rows that should be present before Cloud DLP 5019*d5c09012SAndroid Build Coastguard Worker // profiles a table 5020*d5c09012SAndroid Build Coastguard Worker int32 min_row_count = 1; 5021*d5c09012SAndroid Build Coastguard Worker 5022*d5c09012SAndroid Build Coastguard Worker // Minimum age a table must have before Cloud DLP can profile it. Value must 5023*d5c09012SAndroid Build Coastguard Worker // be 1 hour or greater. 5024*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration min_age = 2; 5025*d5c09012SAndroid Build Coastguard Worker } 5026*d5c09012SAndroid Build Coastguard Worker 5027*d5c09012SAndroid Build Coastguard Worker // BigQuery table must have been created after this date. Used to avoid 5028*d5c09012SAndroid Build Coastguard Worker // backfilling. 5029*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp created_after = 1; 5030*d5c09012SAndroid Build Coastguard Worker 5031*d5c09012SAndroid Build Coastguard Worker // The type of BigQuery tables to scan. If nothing is set the default 5032*d5c09012SAndroid Build Coastguard Worker // behavior is to scan only tables of type TABLE and to give errors 5033*d5c09012SAndroid Build Coastguard Worker // for all unsupported tables. 5034*d5c09012SAndroid Build Coastguard Worker oneof included_types { 5035*d5c09012SAndroid Build Coastguard Worker // Restrict discovery to specific table types. 5036*d5c09012SAndroid Build Coastguard Worker BigQueryTableTypes types = 2; 5037*d5c09012SAndroid Build Coastguard Worker 5038*d5c09012SAndroid Build Coastguard Worker // Restrict discovery to categories of table types. 5039*d5c09012SAndroid Build Coastguard Worker BigQueryTableTypeCollection type_collection = 3; 5040*d5c09012SAndroid Build Coastguard Worker } 5041*d5c09012SAndroid Build Coastguard Worker 5042*d5c09012SAndroid Build Coastguard Worker // At least one of the conditions must be true for a table to be scanned. 5043*d5c09012SAndroid Build Coastguard Worker OrConditions or_conditions = 4; 5044*d5c09012SAndroid Build Coastguard Worker} 5045*d5c09012SAndroid Build Coastguard Worker 5046*d5c09012SAndroid Build Coastguard Worker// What must take place for a profile to be updated and how 5047*d5c09012SAndroid Build Coastguard Worker// frequently it should occur. 5048*d5c09012SAndroid Build Coastguard Worker// New tables are scanned as quickly as possible depending on system 5049*d5c09012SAndroid Build Coastguard Worker// capacity. 5050*d5c09012SAndroid Build Coastguard Workermessage DiscoveryGenerationCadence { 5051*d5c09012SAndroid Build Coastguard Worker // Governs when to update data profiles when a schema is modified. 5052*d5c09012SAndroid Build Coastguard Worker DiscoverySchemaModifiedCadence schema_modified_cadence = 1; 5053*d5c09012SAndroid Build Coastguard Worker 5054*d5c09012SAndroid Build Coastguard Worker // Governs when to update data profiles when a table is modified. 5055*d5c09012SAndroid Build Coastguard Worker DiscoveryTableModifiedCadence table_modified_cadence = 2; 5056*d5c09012SAndroid Build Coastguard Worker} 5057*d5c09012SAndroid Build Coastguard Worker 5058*d5c09012SAndroid Build Coastguard Worker// The cadence at which to update data profiles when a table is modified. 5059*d5c09012SAndroid Build Coastguard Workermessage DiscoveryTableModifiedCadence { 5060*d5c09012SAndroid Build Coastguard Worker // The type of events to consider when deciding if the table has been 5061*d5c09012SAndroid Build Coastguard Worker // modified and should have the profile updated. Defaults to 5062*d5c09012SAndroid Build Coastguard Worker // MODIFIED_TIMESTAMP. 5063*d5c09012SAndroid Build Coastguard Worker repeated BigQueryTableModification types = 1; 5064*d5c09012SAndroid Build Coastguard Worker 5065*d5c09012SAndroid Build Coastguard Worker // How frequently data profiles can be updated when tables are modified. 5066*d5c09012SAndroid Build Coastguard Worker // Defaults to never. 5067*d5c09012SAndroid Build Coastguard Worker DataProfileUpdateFrequency frequency = 2; 5068*d5c09012SAndroid Build Coastguard Worker} 5069*d5c09012SAndroid Build Coastguard Worker 5070*d5c09012SAndroid Build Coastguard Worker// Attributes evaluated to determine if a table has been modified. New values 5071*d5c09012SAndroid Build Coastguard Worker// may be added at a later time. 5072*d5c09012SAndroid Build Coastguard Workerenum BigQueryTableModification { 5073*d5c09012SAndroid Build Coastguard Worker // Unused. 5074*d5c09012SAndroid Build Coastguard Worker TABLE_MODIFICATION_UNSPECIFIED = 0; 5075*d5c09012SAndroid Build Coastguard Worker 5076*d5c09012SAndroid Build Coastguard Worker // A table will be considered modified when the last_modified_time from 5077*d5c09012SAndroid Build Coastguard Worker // BigQuery has been updated. 5078*d5c09012SAndroid Build Coastguard Worker TABLE_MODIFIED_TIMESTAMP = 1; 5079*d5c09012SAndroid Build Coastguard Worker} 5080*d5c09012SAndroid Build Coastguard Worker 5081*d5c09012SAndroid Build Coastguard Worker// The cadence at which to update data profiles when a schema is modified. 5082*d5c09012SAndroid Build Coastguard Workermessage DiscoverySchemaModifiedCadence { 5083*d5c09012SAndroid Build Coastguard Worker // The type of events to consider when deciding if the table's schema 5084*d5c09012SAndroid Build Coastguard Worker // has been modified and should have the profile updated. Defaults to 5085*d5c09012SAndroid Build Coastguard Worker // NEW_COLUMNS. 5086*d5c09012SAndroid Build Coastguard Worker repeated BigQuerySchemaModification types = 1; 5087*d5c09012SAndroid Build Coastguard Worker 5088*d5c09012SAndroid Build Coastguard Worker // How frequently profiles may be updated when schemas are 5089*d5c09012SAndroid Build Coastguard Worker // modified. Defaults to monthly. 5090*d5c09012SAndroid Build Coastguard Worker DataProfileUpdateFrequency frequency = 2; 5091*d5c09012SAndroid Build Coastguard Worker} 5092*d5c09012SAndroid Build Coastguard Worker 5093*d5c09012SAndroid Build Coastguard Worker// Attributes evaluated to determine if a schema has been modified. New values 5094*d5c09012SAndroid Build Coastguard Worker// may be added at a later time. 5095*d5c09012SAndroid Build Coastguard Workerenum BigQuerySchemaModification { 5096*d5c09012SAndroid Build Coastguard Worker // Unused 5097*d5c09012SAndroid Build Coastguard Worker SCHEMA_MODIFICATION_UNSPECIFIED = 0; 5098*d5c09012SAndroid Build Coastguard Worker 5099*d5c09012SAndroid Build Coastguard Worker // Profiles should be regenerated when new columns are added to the table. 5100*d5c09012SAndroid Build Coastguard Worker // Default. 5101*d5c09012SAndroid Build Coastguard Worker SCHEMA_NEW_COLUMNS = 1; 5102*d5c09012SAndroid Build Coastguard Worker 5103*d5c09012SAndroid Build Coastguard Worker // Profiles should be regenerated when columns are removed from the table. 5104*d5c09012SAndroid Build Coastguard Worker SCHEMA_REMOVED_COLUMNS = 2; 5105*d5c09012SAndroid Build Coastguard Worker} 5106*d5c09012SAndroid Build Coastguard Worker 5107*d5c09012SAndroid Build Coastguard Worker// The location to begin a discovery scan. Denotes an organization ID or folder 5108*d5c09012SAndroid Build Coastguard Worker// ID within an organization. 5109*d5c09012SAndroid Build Coastguard Workermessage DiscoveryStartingLocation { 5110*d5c09012SAndroid Build Coastguard Worker // The location to be scanned. 5111*d5c09012SAndroid Build Coastguard Worker oneof location { 5112*d5c09012SAndroid Build Coastguard Worker // The ID of an organization to scan. 5113*d5c09012SAndroid Build Coastguard Worker int64 organization_id = 1; 5114*d5c09012SAndroid Build Coastguard Worker 5115*d5c09012SAndroid Build Coastguard Worker // The ID of the Folder within an organization to scan. 5116*d5c09012SAndroid Build Coastguard Worker int64 folder_id = 2; 5117*d5c09012SAndroid Build Coastguard Worker } 5118*d5c09012SAndroid Build Coastguard Worker} 5119*d5c09012SAndroid Build Coastguard Worker 5120*d5c09012SAndroid Build Coastguard Worker// Combines all of the information about a DLP job. 5121*d5c09012SAndroid Build Coastguard Workermessage DlpJob { 5122*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 5123*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DlpJob" 5124*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/dlpJobs/{dlp_job}" 5125*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/dlpJobs/{dlp_job}" 5126*d5c09012SAndroid Build Coastguard Worker }; 5127*d5c09012SAndroid Build Coastguard Worker 5128*d5c09012SAndroid Build Coastguard Worker // Possible states of a job. New items may be added. 5129*d5c09012SAndroid Build Coastguard Worker enum JobState { 5130*d5c09012SAndroid Build Coastguard Worker // Unused. 5131*d5c09012SAndroid Build Coastguard Worker JOB_STATE_UNSPECIFIED = 0; 5132*d5c09012SAndroid Build Coastguard Worker 5133*d5c09012SAndroid Build Coastguard Worker // The job has not yet started. 5134*d5c09012SAndroid Build Coastguard Worker PENDING = 1; 5135*d5c09012SAndroid Build Coastguard Worker 5136*d5c09012SAndroid Build Coastguard Worker // The job is currently running. Once a job has finished it will transition 5137*d5c09012SAndroid Build Coastguard Worker // to FAILED or DONE. 5138*d5c09012SAndroid Build Coastguard Worker RUNNING = 2; 5139*d5c09012SAndroid Build Coastguard Worker 5140*d5c09012SAndroid Build Coastguard Worker // The job is no longer running. 5141*d5c09012SAndroid Build Coastguard Worker DONE = 3; 5142*d5c09012SAndroid Build Coastguard Worker 5143*d5c09012SAndroid Build Coastguard Worker // The job was canceled before it could be completed. 5144*d5c09012SAndroid Build Coastguard Worker CANCELED = 4; 5145*d5c09012SAndroid Build Coastguard Worker 5146*d5c09012SAndroid Build Coastguard Worker // The job had an error and did not complete. 5147*d5c09012SAndroid Build Coastguard Worker FAILED = 5; 5148*d5c09012SAndroid Build Coastguard Worker 5149*d5c09012SAndroid Build Coastguard Worker // The job is currently accepting findings via hybridInspect. 5150*d5c09012SAndroid Build Coastguard Worker // A hybrid job in ACTIVE state may continue to have findings added to it 5151*d5c09012SAndroid Build Coastguard Worker // through the calling of hybridInspect. After the job has finished no more 5152*d5c09012SAndroid Build Coastguard Worker // calls to hybridInspect may be made. ACTIVE jobs can transition to DONE. 5153*d5c09012SAndroid Build Coastguard Worker ACTIVE = 6; 5154*d5c09012SAndroid Build Coastguard Worker } 5155*d5c09012SAndroid Build Coastguard Worker 5156*d5c09012SAndroid Build Coastguard Worker // The server-assigned name. 5157*d5c09012SAndroid Build Coastguard Worker string name = 1; 5158*d5c09012SAndroid Build Coastguard Worker 5159*d5c09012SAndroid Build Coastguard Worker // The type of job. 5160*d5c09012SAndroid Build Coastguard Worker DlpJobType type = 2; 5161*d5c09012SAndroid Build Coastguard Worker 5162*d5c09012SAndroid Build Coastguard Worker // State of a job. 5163*d5c09012SAndroid Build Coastguard Worker JobState state = 3; 5164*d5c09012SAndroid Build Coastguard Worker 5165*d5c09012SAndroid Build Coastguard Worker // Job details. 5166*d5c09012SAndroid Build Coastguard Worker oneof details { 5167*d5c09012SAndroid Build Coastguard Worker // Results from analyzing risk of a data source. 5168*d5c09012SAndroid Build Coastguard Worker AnalyzeDataSourceRiskDetails risk_details = 4; 5169*d5c09012SAndroid Build Coastguard Worker 5170*d5c09012SAndroid Build Coastguard Worker // Results from inspecting a data source. 5171*d5c09012SAndroid Build Coastguard Worker InspectDataSourceDetails inspect_details = 5; 5172*d5c09012SAndroid Build Coastguard Worker } 5173*d5c09012SAndroid Build Coastguard Worker 5174*d5c09012SAndroid Build Coastguard Worker // Time when the job was created. 5175*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 6; 5176*d5c09012SAndroid Build Coastguard Worker 5177*d5c09012SAndroid Build Coastguard Worker // Time when the job started. 5178*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 7; 5179*d5c09012SAndroid Build Coastguard Worker 5180*d5c09012SAndroid Build Coastguard Worker // Time when the job finished. 5181*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 8; 5182*d5c09012SAndroid Build Coastguard Worker 5183*d5c09012SAndroid Build Coastguard Worker // Time when the job was last modified by the system. 5184*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_modified = 15; 5185*d5c09012SAndroid Build Coastguard Worker 5186*d5c09012SAndroid Build Coastguard Worker // If created by a job trigger, the resource name of the trigger that 5187*d5c09012SAndroid Build Coastguard Worker // instantiated the job. 5188*d5c09012SAndroid Build Coastguard Worker string job_trigger_name = 10; 5189*d5c09012SAndroid Build Coastguard Worker 5190*d5c09012SAndroid Build Coastguard Worker // A stream of errors encountered running the job. 5191*d5c09012SAndroid Build Coastguard Worker repeated Error errors = 11; 5192*d5c09012SAndroid Build Coastguard Worker 5193*d5c09012SAndroid Build Coastguard Worker // Events that should occur after the job has completed. 5194*d5c09012SAndroid Build Coastguard Worker repeated ActionDetails action_details = 12; 5195*d5c09012SAndroid Build Coastguard Worker} 5196*d5c09012SAndroid Build Coastguard Worker 5197*d5c09012SAndroid Build Coastguard Worker// The request message for [DlpJobs.GetDlpJob][]. 5198*d5c09012SAndroid Build Coastguard Workermessage GetDlpJobRequest { 5199*d5c09012SAndroid Build Coastguard Worker // Required. The name of the DlpJob resource. 5200*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5201*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5202*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" } 5203*d5c09012SAndroid Build Coastguard Worker ]; 5204*d5c09012SAndroid Build Coastguard Worker} 5205*d5c09012SAndroid Build Coastguard Worker 5206*d5c09012SAndroid Build Coastguard Worker// The request message for listing DLP jobs. 5207*d5c09012SAndroid Build Coastguard Workermessage ListDlpJobsRequest { 5208*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 5209*d5c09012SAndroid Build Coastguard Worker // 5210*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on whether you have [specified a 5211*d5c09012SAndroid Build Coastguard Worker // processing 5212*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 5213*d5c09012SAndroid Build Coastguard Worker // 5214*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 5215*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 5216*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 5217*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 5218*d5c09012SAndroid Build Coastguard Worker // 5219*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 5220*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 5221*d5c09012SAndroid Build Coastguard Worker // for processing data: 5222*d5c09012SAndroid Build Coastguard Worker // 5223*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 5224*d5c09012SAndroid Build Coastguard Worker string parent = 4 [ 5225*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5226*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5227*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DlpJob" 5228*d5c09012SAndroid Build Coastguard Worker } 5229*d5c09012SAndroid Build Coastguard Worker ]; 5230*d5c09012SAndroid Build Coastguard Worker 5231*d5c09012SAndroid Build Coastguard Worker // Allows filtering. 5232*d5c09012SAndroid Build Coastguard Worker // 5233*d5c09012SAndroid Build Coastguard Worker // Supported syntax: 5234*d5c09012SAndroid Build Coastguard Worker // 5235*d5c09012SAndroid Build Coastguard Worker // * Filter expressions are made up of one or more restrictions. 5236*d5c09012SAndroid Build Coastguard Worker // * Restrictions can be combined by `AND` or `OR` logical operators. A 5237*d5c09012SAndroid Build Coastguard Worker // sequence of restrictions implicitly uses `AND`. 5238*d5c09012SAndroid Build Coastguard Worker // * A restriction has the form of `{field} {operator} {value}`. 5239*d5c09012SAndroid Build Coastguard Worker // * Supported fields/values for inspect jobs: 5240*d5c09012SAndroid Build Coastguard Worker // - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED 5241*d5c09012SAndroid Build Coastguard Worker // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY 5242*d5c09012SAndroid Build Coastguard Worker // - `trigger_name` - The name of the trigger that created the job. 5243*d5c09012SAndroid Build Coastguard Worker // - 'end_time` - Corresponds to the time the job finished. 5244*d5c09012SAndroid Build Coastguard Worker // - 'start_time` - Corresponds to the time the job finished. 5245*d5c09012SAndroid Build Coastguard Worker // * Supported fields for risk analysis jobs: 5246*d5c09012SAndroid Build Coastguard Worker // - `state` - RUNNING|CANCELED|FINISHED|FAILED 5247*d5c09012SAndroid Build Coastguard Worker // - 'end_time` - Corresponds to the time the job finished. 5248*d5c09012SAndroid Build Coastguard Worker // - 'start_time` - Corresponds to the time the job finished. 5249*d5c09012SAndroid Build Coastguard Worker // * The operator must be `=` or `!=`. 5250*d5c09012SAndroid Build Coastguard Worker // 5251*d5c09012SAndroid Build Coastguard Worker // Examples: 5252*d5c09012SAndroid Build Coastguard Worker // 5253*d5c09012SAndroid Build Coastguard Worker // * inspected_storage = cloud_storage AND state = done 5254*d5c09012SAndroid Build Coastguard Worker // * inspected_storage = cloud_storage OR inspected_storage = bigquery 5255*d5c09012SAndroid Build Coastguard Worker // * inspected_storage = cloud_storage AND (state = done OR state = canceled) 5256*d5c09012SAndroid Build Coastguard Worker // * end_time > \"2017-12-12T00:00:00+00:00\" 5257*d5c09012SAndroid Build Coastguard Worker // 5258*d5c09012SAndroid Build Coastguard Worker // The length of this field should be no more than 500 characters. 5259*d5c09012SAndroid Build Coastguard Worker string filter = 1; 5260*d5c09012SAndroid Build Coastguard Worker 5261*d5c09012SAndroid Build Coastguard Worker // The standard list page size. 5262*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 5263*d5c09012SAndroid Build Coastguard Worker 5264*d5c09012SAndroid Build Coastguard Worker // The standard list page token. 5265*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 5266*d5c09012SAndroid Build Coastguard Worker 5267*d5c09012SAndroid Build Coastguard Worker // The type of job. Defaults to `DlpJobType.INSPECT` 5268*d5c09012SAndroid Build Coastguard Worker DlpJobType type = 5; 5269*d5c09012SAndroid Build Coastguard Worker 5270*d5c09012SAndroid Build Coastguard Worker // Comma separated list of fields to order by, 5271*d5c09012SAndroid Build Coastguard Worker // followed by `asc` or `desc` postfix. This list is case insensitive. The 5272*d5c09012SAndroid Build Coastguard Worker // default sorting order is ascending. Redundant space characters are 5273*d5c09012SAndroid Build Coastguard Worker // insignificant. 5274*d5c09012SAndroid Build Coastguard Worker // 5275*d5c09012SAndroid Build Coastguard Worker // Example: `name asc, end_time asc, create_time desc` 5276*d5c09012SAndroid Build Coastguard Worker // 5277*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 5278*d5c09012SAndroid Build Coastguard Worker // 5279*d5c09012SAndroid Build Coastguard Worker // - `create_time`: corresponds to the time the job was created. 5280*d5c09012SAndroid Build Coastguard Worker // - `end_time`: corresponds to the time the job ended. 5281*d5c09012SAndroid Build Coastguard Worker // - `name`: corresponds to the job's name. 5282*d5c09012SAndroid Build Coastguard Worker // - `state`: corresponds to `state` 5283*d5c09012SAndroid Build Coastguard Worker string order_by = 6; 5284*d5c09012SAndroid Build Coastguard Worker 5285*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 5286*d5c09012SAndroid Build Coastguard Worker string location_id = 7; 5287*d5c09012SAndroid Build Coastguard Worker} 5288*d5c09012SAndroid Build Coastguard Worker 5289*d5c09012SAndroid Build Coastguard Worker// The response message for listing DLP jobs. 5290*d5c09012SAndroid Build Coastguard Workermessage ListDlpJobsResponse { 5291*d5c09012SAndroid Build Coastguard Worker // A list of DlpJobs that matches the specified filter in the request. 5292*d5c09012SAndroid Build Coastguard Worker repeated DlpJob jobs = 1; 5293*d5c09012SAndroid Build Coastguard Worker 5294*d5c09012SAndroid Build Coastguard Worker // The standard List next-page token. 5295*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 5296*d5c09012SAndroid Build Coastguard Worker} 5297*d5c09012SAndroid Build Coastguard Worker 5298*d5c09012SAndroid Build Coastguard Worker// The request message for canceling a DLP job. 5299*d5c09012SAndroid Build Coastguard Workermessage CancelDlpJobRequest { 5300*d5c09012SAndroid Build Coastguard Worker // Required. The name of the DlpJob resource to be cancelled. 5301*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5302*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5303*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" } 5304*d5c09012SAndroid Build Coastguard Worker ]; 5305*d5c09012SAndroid Build Coastguard Worker} 5306*d5c09012SAndroid Build Coastguard Worker 5307*d5c09012SAndroid Build Coastguard Worker// The request message for finishing a DLP hybrid job. 5308*d5c09012SAndroid Build Coastguard Workermessage FinishDlpJobRequest { 5309*d5c09012SAndroid Build Coastguard Worker // Required. The name of the DlpJob resource to be finished. 5310*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5311*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5312*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" } 5313*d5c09012SAndroid Build Coastguard Worker ]; 5314*d5c09012SAndroid Build Coastguard Worker} 5315*d5c09012SAndroid Build Coastguard Worker 5316*d5c09012SAndroid Build Coastguard Worker// The request message for deleting a DLP job. 5317*d5c09012SAndroid Build Coastguard Workermessage DeleteDlpJobRequest { 5318*d5c09012SAndroid Build Coastguard Worker // Required. The name of the DlpJob resource to be deleted. 5319*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5320*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5321*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" } 5322*d5c09012SAndroid Build Coastguard Worker ]; 5323*d5c09012SAndroid Build Coastguard Worker} 5324*d5c09012SAndroid Build Coastguard Worker 5325*d5c09012SAndroid Build Coastguard Worker// Request message for CreateDeidentifyTemplate. 5326*d5c09012SAndroid Build Coastguard Workermessage CreateDeidentifyTemplateRequest { 5327*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 5328*d5c09012SAndroid Build Coastguard Worker // 5329*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on the scope of the request 5330*d5c09012SAndroid Build Coastguard Worker // (project or organization) and whether you have [specified a processing 5331*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 5332*d5c09012SAndroid Build Coastguard Worker // 5333*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 5334*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 5335*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 5336*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 5337*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, location specified:<br/> 5338*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 5339*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, no location specified (defaults to global):<br/> 5340*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var> 5341*d5c09012SAndroid Build Coastguard Worker // 5342*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 5343*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 5344*d5c09012SAndroid Build Coastguard Worker // for processing data: 5345*d5c09012SAndroid Build Coastguard Worker // 5346*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 5347*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 5348*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5349*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5350*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DeidentifyTemplate" 5351*d5c09012SAndroid Build Coastguard Worker } 5352*d5c09012SAndroid Build Coastguard Worker ]; 5353*d5c09012SAndroid Build Coastguard Worker 5354*d5c09012SAndroid Build Coastguard Worker // Required. The DeidentifyTemplate to create. 5355*d5c09012SAndroid Build Coastguard Worker DeidentifyTemplate deidentify_template = 2 5356*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 5357*d5c09012SAndroid Build Coastguard Worker 5358*d5c09012SAndroid Build Coastguard Worker // The template id can contain uppercase and lowercase letters, 5359*d5c09012SAndroid Build Coastguard Worker // numbers, and hyphens; that is, it must match the regular 5360*d5c09012SAndroid Build Coastguard Worker // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 5361*d5c09012SAndroid Build Coastguard Worker // characters. Can be empty to allow the system to generate one. 5362*d5c09012SAndroid Build Coastguard Worker string template_id = 3; 5363*d5c09012SAndroid Build Coastguard Worker 5364*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 5365*d5c09012SAndroid Build Coastguard Worker string location_id = 4; 5366*d5c09012SAndroid Build Coastguard Worker} 5367*d5c09012SAndroid Build Coastguard Worker 5368*d5c09012SAndroid Build Coastguard Worker// Request message for UpdateDeidentifyTemplate. 5369*d5c09012SAndroid Build Coastguard Workermessage UpdateDeidentifyTemplateRequest { 5370*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of organization and deidentify template to be 5371*d5c09012SAndroid Build Coastguard Worker // updated, for example 5372*d5c09012SAndroid Build Coastguard Worker // `organizations/433245324/deidentifyTemplates/432452342` or 5373*d5c09012SAndroid Build Coastguard Worker // projects/project-id/deidentifyTemplates/432452342. 5374*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5375*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5376*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5377*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DeidentifyTemplate" 5378*d5c09012SAndroid Build Coastguard Worker } 5379*d5c09012SAndroid Build Coastguard Worker ]; 5380*d5c09012SAndroid Build Coastguard Worker 5381*d5c09012SAndroid Build Coastguard Worker // New DeidentifyTemplate value. 5382*d5c09012SAndroid Build Coastguard Worker DeidentifyTemplate deidentify_template = 2; 5383*d5c09012SAndroid Build Coastguard Worker 5384*d5c09012SAndroid Build Coastguard Worker // Mask to control which fields get updated. 5385*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 5386*d5c09012SAndroid Build Coastguard Worker} 5387*d5c09012SAndroid Build Coastguard Worker 5388*d5c09012SAndroid Build Coastguard Worker// Request message for GetDeidentifyTemplate. 5389*d5c09012SAndroid Build Coastguard Workermessage GetDeidentifyTemplateRequest { 5390*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization and deidentify template to be 5391*d5c09012SAndroid Build Coastguard Worker // read, for example `organizations/433245324/deidentifyTemplates/432452342` 5392*d5c09012SAndroid Build Coastguard Worker // or projects/project-id/deidentifyTemplates/432452342. 5393*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5394*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5395*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5396*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DeidentifyTemplate" 5397*d5c09012SAndroid Build Coastguard Worker } 5398*d5c09012SAndroid Build Coastguard Worker ]; 5399*d5c09012SAndroid Build Coastguard Worker} 5400*d5c09012SAndroid Build Coastguard Worker 5401*d5c09012SAndroid Build Coastguard Worker// Request message for ListDeidentifyTemplates. 5402*d5c09012SAndroid Build Coastguard Workermessage ListDeidentifyTemplatesRequest { 5403*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 5404*d5c09012SAndroid Build Coastguard Worker // 5405*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on the scope of the request 5406*d5c09012SAndroid Build Coastguard Worker // (project or organization) and whether you have [specified a processing 5407*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 5408*d5c09012SAndroid Build Coastguard Worker // 5409*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 5410*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 5411*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 5412*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 5413*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, location specified:<br/> 5414*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 5415*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, no location specified (defaults to global):<br/> 5416*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var> 5417*d5c09012SAndroid Build Coastguard Worker // 5418*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 5419*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 5420*d5c09012SAndroid Build Coastguard Worker // for processing data: 5421*d5c09012SAndroid Build Coastguard Worker // 5422*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 5423*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 5424*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5425*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5426*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/DeidentifyTemplate" 5427*d5c09012SAndroid Build Coastguard Worker } 5428*d5c09012SAndroid Build Coastguard Worker ]; 5429*d5c09012SAndroid Build Coastguard Worker 5430*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. Comes from the previous call 5431*d5c09012SAndroid Build Coastguard Worker // to `ListDeidentifyTemplates`. 5432*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 5433*d5c09012SAndroid Build Coastguard Worker 5434*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by the server. If zero server 5435*d5c09012SAndroid Build Coastguard Worker // returns a page of max size 100. 5436*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 5437*d5c09012SAndroid Build Coastguard Worker 5438*d5c09012SAndroid Build Coastguard Worker // Comma separated list of fields to order by, 5439*d5c09012SAndroid Build Coastguard Worker // followed by `asc` or `desc` postfix. This list is case insensitive. The 5440*d5c09012SAndroid Build Coastguard Worker // default sorting order is ascending. Redundant space characters are 5441*d5c09012SAndroid Build Coastguard Worker // insignificant. 5442*d5c09012SAndroid Build Coastguard Worker // 5443*d5c09012SAndroid Build Coastguard Worker // Example: `name asc,update_time, create_time desc` 5444*d5c09012SAndroid Build Coastguard Worker // 5445*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 5446*d5c09012SAndroid Build Coastguard Worker // 5447*d5c09012SAndroid Build Coastguard Worker // - `create_time`: corresponds to the time the template was created. 5448*d5c09012SAndroid Build Coastguard Worker // - `update_time`: corresponds to the time the template was last updated. 5449*d5c09012SAndroid Build Coastguard Worker // - `name`: corresponds to the template's name. 5450*d5c09012SAndroid Build Coastguard Worker // - `display_name`: corresponds to the template's display name. 5451*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 5452*d5c09012SAndroid Build Coastguard Worker 5453*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 5454*d5c09012SAndroid Build Coastguard Worker string location_id = 5; 5455*d5c09012SAndroid Build Coastguard Worker} 5456*d5c09012SAndroid Build Coastguard Worker 5457*d5c09012SAndroid Build Coastguard Worker// Response message for ListDeidentifyTemplates. 5458*d5c09012SAndroid Build Coastguard Workermessage ListDeidentifyTemplatesResponse { 5459*d5c09012SAndroid Build Coastguard Worker // List of deidentify templates, up to page_size in 5460*d5c09012SAndroid Build Coastguard Worker // ListDeidentifyTemplatesRequest. 5461*d5c09012SAndroid Build Coastguard Worker repeated DeidentifyTemplate deidentify_templates = 1; 5462*d5c09012SAndroid Build Coastguard Worker 5463*d5c09012SAndroid Build Coastguard Worker // If the next page is available then the next page token to be used in the 5464*d5c09012SAndroid Build Coastguard Worker // following ListDeidentifyTemplates request. 5465*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 5466*d5c09012SAndroid Build Coastguard Worker} 5467*d5c09012SAndroid Build Coastguard Worker 5468*d5c09012SAndroid Build Coastguard Worker// Request message for DeleteDeidentifyTemplate. 5469*d5c09012SAndroid Build Coastguard Workermessage DeleteDeidentifyTemplateRequest { 5470*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization and deidentify template to be 5471*d5c09012SAndroid Build Coastguard Worker // deleted, for example 5472*d5c09012SAndroid Build Coastguard Worker // `organizations/433245324/deidentifyTemplates/432452342` or 5473*d5c09012SAndroid Build Coastguard Worker // projects/project-id/deidentifyTemplates/432452342. 5474*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5475*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5476*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5477*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/DeidentifyTemplate" 5478*d5c09012SAndroid Build Coastguard Worker } 5479*d5c09012SAndroid Build Coastguard Worker ]; 5480*d5c09012SAndroid Build Coastguard Worker} 5481*d5c09012SAndroid Build Coastguard Worker 5482*d5c09012SAndroid Build Coastguard Worker// Configuration for a custom dictionary created from a data source of any size 5483*d5c09012SAndroid Build Coastguard Worker// up to the maximum size defined in the 5484*d5c09012SAndroid Build Coastguard Worker// [limits](https://cloud.google.com/sensitive-data-protection/limits) page. The 5485*d5c09012SAndroid Build Coastguard Worker// artifacts of dictionary creation are stored in the specified Cloud Storage 5486*d5c09012SAndroid Build Coastguard Worker// location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries 5487*d5c09012SAndroid Build Coastguard Worker// that satisfy the size requirements. 5488*d5c09012SAndroid Build Coastguard Workermessage LargeCustomDictionaryConfig { 5489*d5c09012SAndroid Build Coastguard Worker // Location to store dictionary artifacts in Cloud Storage. These files 5490*d5c09012SAndroid Build Coastguard Worker // will only be accessible by project owners and the DLP API. If any of these 5491*d5c09012SAndroid Build Coastguard Worker // artifacts are modified, the dictionary is considered invalid and can no 5492*d5c09012SAndroid Build Coastguard Worker // longer be used. 5493*d5c09012SAndroid Build Coastguard Worker CloudStoragePath output_path = 1; 5494*d5c09012SAndroid Build Coastguard Worker 5495*d5c09012SAndroid Build Coastguard Worker // Source of the dictionary. 5496*d5c09012SAndroid Build Coastguard Worker oneof source { 5497*d5c09012SAndroid Build Coastguard Worker // Set of files containing newline-delimited lists of dictionary phrases. 5498*d5c09012SAndroid Build Coastguard Worker CloudStorageFileSet cloud_storage_file_set = 2; 5499*d5c09012SAndroid Build Coastguard Worker 5500*d5c09012SAndroid Build Coastguard Worker // Field in a BigQuery table where each cell represents a dictionary phrase. 5501*d5c09012SAndroid Build Coastguard Worker BigQueryField big_query_field = 3; 5502*d5c09012SAndroid Build Coastguard Worker } 5503*d5c09012SAndroid Build Coastguard Worker} 5504*d5c09012SAndroid Build Coastguard Worker 5505*d5c09012SAndroid Build Coastguard Worker// Summary statistics of a custom dictionary. 5506*d5c09012SAndroid Build Coastguard Workermessage LargeCustomDictionaryStats { 5507*d5c09012SAndroid Build Coastguard Worker // Approximate number of distinct phrases in the dictionary. 5508*d5c09012SAndroid Build Coastguard Worker int64 approx_num_phrases = 1; 5509*d5c09012SAndroid Build Coastguard Worker} 5510*d5c09012SAndroid Build Coastguard Worker 5511*d5c09012SAndroid Build Coastguard Worker// Configuration for stored infoTypes. All fields and subfield are provided 5512*d5c09012SAndroid Build Coastguard Worker// by the user. For more information, see 5513*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. 5514*d5c09012SAndroid Build Coastguard Workermessage StoredInfoTypeConfig { 5515*d5c09012SAndroid Build Coastguard Worker // Display name of the StoredInfoType (max 256 characters). 5516*d5c09012SAndroid Build Coastguard Worker string display_name = 1; 5517*d5c09012SAndroid Build Coastguard Worker 5518*d5c09012SAndroid Build Coastguard Worker // Description of the StoredInfoType (max 256 characters). 5519*d5c09012SAndroid Build Coastguard Worker string description = 2; 5520*d5c09012SAndroid Build Coastguard Worker 5521*d5c09012SAndroid Build Coastguard Worker // Stored infotype types. 5522*d5c09012SAndroid Build Coastguard Worker oneof type { 5523*d5c09012SAndroid Build Coastguard Worker // StoredInfoType where findings are defined by a dictionary of phrases. 5524*d5c09012SAndroid Build Coastguard Worker LargeCustomDictionaryConfig large_custom_dictionary = 3; 5525*d5c09012SAndroid Build Coastguard Worker 5526*d5c09012SAndroid Build Coastguard Worker // Store dictionary-based CustomInfoType. 5527*d5c09012SAndroid Build Coastguard Worker CustomInfoType.Dictionary dictionary = 4; 5528*d5c09012SAndroid Build Coastguard Worker 5529*d5c09012SAndroid Build Coastguard Worker // Store regular expression-based StoredInfoType. 5530*d5c09012SAndroid Build Coastguard Worker CustomInfoType.Regex regex = 5; 5531*d5c09012SAndroid Build Coastguard Worker } 5532*d5c09012SAndroid Build Coastguard Worker} 5533*d5c09012SAndroid Build Coastguard Worker 5534*d5c09012SAndroid Build Coastguard Worker// Statistics for a StoredInfoType. 5535*d5c09012SAndroid Build Coastguard Workermessage StoredInfoTypeStats { 5536*d5c09012SAndroid Build Coastguard Worker // Stat types 5537*d5c09012SAndroid Build Coastguard Worker oneof type { 5538*d5c09012SAndroid Build Coastguard Worker // StoredInfoType where findings are defined by a dictionary of phrases. 5539*d5c09012SAndroid Build Coastguard Worker LargeCustomDictionaryStats large_custom_dictionary = 1; 5540*d5c09012SAndroid Build Coastguard Worker } 5541*d5c09012SAndroid Build Coastguard Worker} 5542*d5c09012SAndroid Build Coastguard Worker 5543*d5c09012SAndroid Build Coastguard Worker// Version of a StoredInfoType, including the configuration used to build it, 5544*d5c09012SAndroid Build Coastguard Worker// create timestamp, and current state. 5545*d5c09012SAndroid Build Coastguard Workermessage StoredInfoTypeVersion { 5546*d5c09012SAndroid Build Coastguard Worker // StoredInfoType configuration. 5547*d5c09012SAndroid Build Coastguard Worker StoredInfoTypeConfig config = 1; 5548*d5c09012SAndroid Build Coastguard Worker 5549*d5c09012SAndroid Build Coastguard Worker // Create timestamp of the version. Read-only, determined by the system 5550*d5c09012SAndroid Build Coastguard Worker // when the version is created. 5551*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 2; 5552*d5c09012SAndroid Build Coastguard Worker 5553*d5c09012SAndroid Build Coastguard Worker // Stored info type version state. Read-only, updated by the system 5554*d5c09012SAndroid Build Coastguard Worker // during dictionary creation. 5555*d5c09012SAndroid Build Coastguard Worker StoredInfoTypeState state = 3; 5556*d5c09012SAndroid Build Coastguard Worker 5557*d5c09012SAndroid Build Coastguard Worker // Errors that occurred when creating this storedInfoType version, or 5558*d5c09012SAndroid Build Coastguard Worker // anomalies detected in the storedInfoType data that render it unusable. Only 5559*d5c09012SAndroid Build Coastguard Worker // the five most recent errors will be displayed, with the most recent error 5560*d5c09012SAndroid Build Coastguard Worker // appearing first. 5561*d5c09012SAndroid Build Coastguard Worker // 5562*d5c09012SAndroid Build Coastguard Worker // For example, some of the data for stored custom dictionaries is put in 5563*d5c09012SAndroid Build Coastguard Worker // the user's Cloud Storage bucket, and if this data is modified or 5564*d5c09012SAndroid Build Coastguard Worker // deleted by the user or another system, the dictionary becomes invalid. 5565*d5c09012SAndroid Build Coastguard Worker // 5566*d5c09012SAndroid Build Coastguard Worker // If any errors occur, fix the problem indicated by the error message and 5567*d5c09012SAndroid Build Coastguard Worker // use the UpdateStoredInfoType API method to create another version of the 5568*d5c09012SAndroid Build Coastguard Worker // storedInfoType to continue using it, reusing the same `config` if it was 5569*d5c09012SAndroid Build Coastguard Worker // not the source of the error. 5570*d5c09012SAndroid Build Coastguard Worker repeated Error errors = 4; 5571*d5c09012SAndroid Build Coastguard Worker 5572*d5c09012SAndroid Build Coastguard Worker // Statistics about this storedInfoType version. 5573*d5c09012SAndroid Build Coastguard Worker StoredInfoTypeStats stats = 5; 5574*d5c09012SAndroid Build Coastguard Worker} 5575*d5c09012SAndroid Build Coastguard Worker 5576*d5c09012SAndroid Build Coastguard Worker// StoredInfoType resource message that contains information about the current 5577*d5c09012SAndroid Build Coastguard Worker// version and any pending updates. 5578*d5c09012SAndroid Build Coastguard Workermessage StoredInfoType { 5579*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 5580*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/StoredInfoType" 5581*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/storedInfoTypes/{stored_info_type}" 5582*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/storedInfoTypes/{stored_info_type}" 5583*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}/storedInfoTypes/{stored_info_type}" 5584*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/storedInfoTypes/{stored_info_type}" 5585*d5c09012SAndroid Build Coastguard Worker }; 5586*d5c09012SAndroid Build Coastguard Worker 5587*d5c09012SAndroid Build Coastguard Worker // Resource name. 5588*d5c09012SAndroid Build Coastguard Worker string name = 1; 5589*d5c09012SAndroid Build Coastguard Worker 5590*d5c09012SAndroid Build Coastguard Worker // Current version of the stored info type. 5591*d5c09012SAndroid Build Coastguard Worker StoredInfoTypeVersion current_version = 2; 5592*d5c09012SAndroid Build Coastguard Worker 5593*d5c09012SAndroid Build Coastguard Worker // Pending versions of the stored info type. Empty if no versions are 5594*d5c09012SAndroid Build Coastguard Worker // pending. 5595*d5c09012SAndroid Build Coastguard Worker repeated StoredInfoTypeVersion pending_versions = 3; 5596*d5c09012SAndroid Build Coastguard Worker} 5597*d5c09012SAndroid Build Coastguard Worker 5598*d5c09012SAndroid Build Coastguard Worker// Request message for CreateStoredInfoType. 5599*d5c09012SAndroid Build Coastguard Workermessage CreateStoredInfoTypeRequest { 5600*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 5601*d5c09012SAndroid Build Coastguard Worker // 5602*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on the scope of the request 5603*d5c09012SAndroid Build Coastguard Worker // (project or organization) and whether you have [specified a processing 5604*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 5605*d5c09012SAndroid Build Coastguard Worker // 5606*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 5607*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 5608*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 5609*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 5610*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, location specified:<br/> 5611*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var> 5612*d5c09012SAndroid Build Coastguard Worker // + Organizations scope, no location specified (defaults to global):<br/> 5613*d5c09012SAndroid Build Coastguard Worker // `organizations/`<var>ORG_ID</var> 5614*d5c09012SAndroid Build Coastguard Worker // 5615*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 5616*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 5617*d5c09012SAndroid Build Coastguard Worker // for processing data: 5618*d5c09012SAndroid Build Coastguard Worker // 5619*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 5620*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 5621*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5622*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5623*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/StoredInfoType" 5624*d5c09012SAndroid Build Coastguard Worker } 5625*d5c09012SAndroid Build Coastguard Worker ]; 5626*d5c09012SAndroid Build Coastguard Worker 5627*d5c09012SAndroid Build Coastguard Worker // Required. Configuration of the storedInfoType to create. 5628*d5c09012SAndroid Build Coastguard Worker StoredInfoTypeConfig config = 2 [(google.api.field_behavior) = REQUIRED]; 5629*d5c09012SAndroid Build Coastguard Worker 5630*d5c09012SAndroid Build Coastguard Worker // The storedInfoType ID can contain uppercase and lowercase letters, 5631*d5c09012SAndroid Build Coastguard Worker // numbers, and hyphens; that is, it must match the regular 5632*d5c09012SAndroid Build Coastguard Worker // expression: `[a-zA-Z\d-_]+`. The maximum length is 100 5633*d5c09012SAndroid Build Coastguard Worker // characters. Can be empty to allow the system to generate one. 5634*d5c09012SAndroid Build Coastguard Worker string stored_info_type_id = 3; 5635*d5c09012SAndroid Build Coastguard Worker 5636*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 5637*d5c09012SAndroid Build Coastguard Worker string location_id = 4; 5638*d5c09012SAndroid Build Coastguard Worker} 5639*d5c09012SAndroid Build Coastguard Worker 5640*d5c09012SAndroid Build Coastguard Worker// Request message for UpdateStoredInfoType. 5641*d5c09012SAndroid Build Coastguard Workermessage UpdateStoredInfoTypeRequest { 5642*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of organization and storedInfoType to be updated, 5643*d5c09012SAndroid Build Coastguard Worker // for example `organizations/433245324/storedInfoTypes/432452342` or 5644*d5c09012SAndroid Build Coastguard Worker // projects/project-id/storedInfoTypes/432452342. 5645*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5646*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5647*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5648*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/StoredInfoType" 5649*d5c09012SAndroid Build Coastguard Worker } 5650*d5c09012SAndroid Build Coastguard Worker ]; 5651*d5c09012SAndroid Build Coastguard Worker 5652*d5c09012SAndroid Build Coastguard Worker // Updated configuration for the storedInfoType. If not provided, a new 5653*d5c09012SAndroid Build Coastguard Worker // version of the storedInfoType will be created with the existing 5654*d5c09012SAndroid Build Coastguard Worker // configuration. 5655*d5c09012SAndroid Build Coastguard Worker StoredInfoTypeConfig config = 2; 5656*d5c09012SAndroid Build Coastguard Worker 5657*d5c09012SAndroid Build Coastguard Worker // Mask to control which fields get updated. 5658*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 5659*d5c09012SAndroid Build Coastguard Worker} 5660*d5c09012SAndroid Build Coastguard Worker 5661*d5c09012SAndroid Build Coastguard Worker// Request message for GetStoredInfoType. 5662*d5c09012SAndroid Build Coastguard Workermessage GetStoredInfoTypeRequest { 5663*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization and storedInfoType to be read, 5664*d5c09012SAndroid Build Coastguard Worker // for example `organizations/433245324/storedInfoTypes/432452342` or 5665*d5c09012SAndroid Build Coastguard Worker // projects/project-id/storedInfoTypes/432452342. 5666*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5667*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5668*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5669*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/StoredInfoType" 5670*d5c09012SAndroid Build Coastguard Worker } 5671*d5c09012SAndroid Build Coastguard Worker ]; 5672*d5c09012SAndroid Build Coastguard Worker} 5673*d5c09012SAndroid Build Coastguard Worker 5674*d5c09012SAndroid Build Coastguard Worker// Request message for ListStoredInfoTypes. 5675*d5c09012SAndroid Build Coastguard Workermessage ListStoredInfoTypesRequest { 5676*d5c09012SAndroid Build Coastguard Worker // Required. Parent resource name. 5677*d5c09012SAndroid Build Coastguard Worker // 5678*d5c09012SAndroid Build Coastguard Worker // The format of this value varies depending on the scope of the request 5679*d5c09012SAndroid Build Coastguard Worker // (project or organization) and whether you have [specified a processing 5680*d5c09012SAndroid Build Coastguard Worker // location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location): 5681*d5c09012SAndroid Build Coastguard Worker // 5682*d5c09012SAndroid Build Coastguard Worker // + Projects scope, location specified:<br/> 5683*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var> 5684*d5c09012SAndroid Build Coastguard Worker // + Projects scope, no location specified (defaults to global):<br/> 5685*d5c09012SAndroid Build Coastguard Worker // `projects/`<var>PROJECT_ID</var> 5686*d5c09012SAndroid Build Coastguard Worker // 5687*d5c09012SAndroid Build Coastguard Worker // The following example `parent` string specifies a parent project with the 5688*d5c09012SAndroid Build Coastguard Worker // identifier `example-project`, and specifies the `europe-west3` location 5689*d5c09012SAndroid Build Coastguard Worker // for processing data: 5690*d5c09012SAndroid Build Coastguard Worker // 5691*d5c09012SAndroid Build Coastguard Worker // parent=projects/example-project/locations/europe-west3 5692*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 5693*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5694*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5695*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/StoredInfoType" 5696*d5c09012SAndroid Build Coastguard Worker } 5697*d5c09012SAndroid Build Coastguard Worker ]; 5698*d5c09012SAndroid Build Coastguard Worker 5699*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. Comes from the previous call 5700*d5c09012SAndroid Build Coastguard Worker // to `ListStoredInfoTypes`. 5701*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 5702*d5c09012SAndroid Build Coastguard Worker 5703*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by the server. If zero server 5704*d5c09012SAndroid Build Coastguard Worker // returns a page of max size 100. 5705*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 5706*d5c09012SAndroid Build Coastguard Worker 5707*d5c09012SAndroid Build Coastguard Worker // Comma separated list of fields to order by, 5708*d5c09012SAndroid Build Coastguard Worker // followed by `asc` or `desc` postfix. This list is case insensitive. The 5709*d5c09012SAndroid Build Coastguard Worker // default sorting order is ascending. Redundant space characters are 5710*d5c09012SAndroid Build Coastguard Worker // insignificant. 5711*d5c09012SAndroid Build Coastguard Worker // 5712*d5c09012SAndroid Build Coastguard Worker // Example: `name asc, display_name, create_time desc` 5713*d5c09012SAndroid Build Coastguard Worker // 5714*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 5715*d5c09012SAndroid Build Coastguard Worker // 5716*d5c09012SAndroid Build Coastguard Worker // - `create_time`: corresponds to the time the most recent version of the 5717*d5c09012SAndroid Build Coastguard Worker // resource was created. 5718*d5c09012SAndroid Build Coastguard Worker // - `state`: corresponds to the state of the resource. 5719*d5c09012SAndroid Build Coastguard Worker // - `name`: corresponds to resource name. 5720*d5c09012SAndroid Build Coastguard Worker // - `display_name`: corresponds to info type's display name. 5721*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 5722*d5c09012SAndroid Build Coastguard Worker 5723*d5c09012SAndroid Build Coastguard Worker // Deprecated. This field has no effect. 5724*d5c09012SAndroid Build Coastguard Worker string location_id = 5; 5725*d5c09012SAndroid Build Coastguard Worker} 5726*d5c09012SAndroid Build Coastguard Worker 5727*d5c09012SAndroid Build Coastguard Worker// Response message for ListStoredInfoTypes. 5728*d5c09012SAndroid Build Coastguard Workermessage ListStoredInfoTypesResponse { 5729*d5c09012SAndroid Build Coastguard Worker // List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest. 5730*d5c09012SAndroid Build Coastguard Worker repeated StoredInfoType stored_info_types = 1; 5731*d5c09012SAndroid Build Coastguard Worker 5732*d5c09012SAndroid Build Coastguard Worker // If the next page is available then the next page token to be used 5733*d5c09012SAndroid Build Coastguard Worker // in the following ListStoredInfoTypes request. 5734*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 5735*d5c09012SAndroid Build Coastguard Worker} 5736*d5c09012SAndroid Build Coastguard Worker 5737*d5c09012SAndroid Build Coastguard Worker// Request message for DeleteStoredInfoType. 5738*d5c09012SAndroid Build Coastguard Workermessage DeleteStoredInfoTypeRequest { 5739*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization and storedInfoType to be 5740*d5c09012SAndroid Build Coastguard Worker // deleted, for example `organizations/433245324/storedInfoTypes/432452342` or 5741*d5c09012SAndroid Build Coastguard Worker // projects/project-id/storedInfoTypes/432452342. 5742*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5743*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5744*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5745*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/StoredInfoType" 5746*d5c09012SAndroid Build Coastguard Worker } 5747*d5c09012SAndroid Build Coastguard Worker ]; 5748*d5c09012SAndroid Build Coastguard Worker} 5749*d5c09012SAndroid Build Coastguard Worker 5750*d5c09012SAndroid Build Coastguard Worker// Request to search for potentially sensitive info in a custom location. 5751*d5c09012SAndroid Build Coastguard Workermessage HybridInspectJobTriggerRequest { 5752*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the trigger to execute a hybrid inspect on, for 5753*d5c09012SAndroid Build Coastguard Worker // example `projects/dlp-test-project/jobTriggers/53234423`. 5754*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5755*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5756*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/JobTrigger" } 5757*d5c09012SAndroid Build Coastguard Worker ]; 5758*d5c09012SAndroid Build Coastguard Worker 5759*d5c09012SAndroid Build Coastguard Worker // The item to inspect. 5760*d5c09012SAndroid Build Coastguard Worker HybridContentItem hybrid_item = 3; 5761*d5c09012SAndroid Build Coastguard Worker} 5762*d5c09012SAndroid Build Coastguard Worker 5763*d5c09012SAndroid Build Coastguard Worker// Request to search for potentially sensitive info in a custom location. 5764*d5c09012SAndroid Build Coastguard Workermessage HybridInspectDlpJobRequest { 5765*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the job to execute a hybrid inspect on, for 5766*d5c09012SAndroid Build Coastguard Worker // example `projects/dlp-test-project/dlpJob/53234423`. 5767*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 5768*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5769*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "dlp.googleapis.com/DlpJob" } 5770*d5c09012SAndroid Build Coastguard Worker ]; 5771*d5c09012SAndroid Build Coastguard Worker 5772*d5c09012SAndroid Build Coastguard Worker // The item to inspect. 5773*d5c09012SAndroid Build Coastguard Worker HybridContentItem hybrid_item = 3; 5774*d5c09012SAndroid Build Coastguard Worker} 5775*d5c09012SAndroid Build Coastguard Worker 5776*d5c09012SAndroid Build Coastguard Worker// An individual hybrid item to inspect. Will be stored temporarily during 5777*d5c09012SAndroid Build Coastguard Worker// processing. 5778*d5c09012SAndroid Build Coastguard Workermessage HybridContentItem { 5779*d5c09012SAndroid Build Coastguard Worker // The item to inspect. 5780*d5c09012SAndroid Build Coastguard Worker ContentItem item = 1; 5781*d5c09012SAndroid Build Coastguard Worker 5782*d5c09012SAndroid Build Coastguard Worker // Supplementary information that will be added to each finding. 5783*d5c09012SAndroid Build Coastguard Worker HybridFindingDetails finding_details = 2; 5784*d5c09012SAndroid Build Coastguard Worker} 5785*d5c09012SAndroid Build Coastguard Worker 5786*d5c09012SAndroid Build Coastguard Worker// Populate to associate additional data with each finding. 5787*d5c09012SAndroid Build Coastguard Workermessage HybridFindingDetails { 5788*d5c09012SAndroid Build Coastguard Worker // Details about the container where the content being inspected is from. 5789*d5c09012SAndroid Build Coastguard Worker Container container_details = 1; 5790*d5c09012SAndroid Build Coastguard Worker 5791*d5c09012SAndroid Build Coastguard Worker // Offset in bytes of the line, from the beginning of the file, where the 5792*d5c09012SAndroid Build Coastguard Worker // finding is located. Populate if the item being scanned is only part of a 5793*d5c09012SAndroid Build Coastguard Worker // bigger item, such as a shard of a file and you want to track the absolute 5794*d5c09012SAndroid Build Coastguard Worker // position of the finding. 5795*d5c09012SAndroid Build Coastguard Worker int64 file_offset = 2; 5796*d5c09012SAndroid Build Coastguard Worker 5797*d5c09012SAndroid Build Coastguard Worker // Offset of the row for tables. Populate if the row(s) being scanned are 5798*d5c09012SAndroid Build Coastguard Worker // part of a bigger dataset and you want to keep track of their absolute 5799*d5c09012SAndroid Build Coastguard Worker // position. 5800*d5c09012SAndroid Build Coastguard Worker int64 row_offset = 3; 5801*d5c09012SAndroid Build Coastguard Worker 5802*d5c09012SAndroid Build Coastguard Worker // If the container is a table, additional information to make findings 5803*d5c09012SAndroid Build Coastguard Worker // meaningful such as the columns that are primary keys. If not known ahead 5804*d5c09012SAndroid Build Coastguard Worker // of time, can also be set within each inspect hybrid call and the two 5805*d5c09012SAndroid Build Coastguard Worker // will be merged. Note that identifying_fields will only be stored to 5806*d5c09012SAndroid Build Coastguard Worker // BigQuery, and only if the BigQuery action has been included. 5807*d5c09012SAndroid Build Coastguard Worker TableOptions table_options = 4; 5808*d5c09012SAndroid Build Coastguard Worker 5809*d5c09012SAndroid Build Coastguard Worker // Labels to represent user provided metadata about the data being inspected. 5810*d5c09012SAndroid Build Coastguard Worker // If configured by the job, some key values may be required. 5811*d5c09012SAndroid Build Coastguard Worker // The labels associated with `Finding`'s produced by hybrid 5812*d5c09012SAndroid Build Coastguard Worker // inspection. 5813*d5c09012SAndroid Build Coastguard Worker // 5814*d5c09012SAndroid Build Coastguard Worker // Label keys must be between 1 and 63 characters long and must conform 5815*d5c09012SAndroid Build Coastguard Worker // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. 5816*d5c09012SAndroid Build Coastguard Worker // 5817*d5c09012SAndroid Build Coastguard Worker // Label values must be between 0 and 63 characters long and must conform 5818*d5c09012SAndroid Build Coastguard Worker // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. 5819*d5c09012SAndroid Build Coastguard Worker // 5820*d5c09012SAndroid Build Coastguard Worker // No more than 10 labels can be associated with a given finding. 5821*d5c09012SAndroid Build Coastguard Worker // 5822*d5c09012SAndroid Build Coastguard Worker // Examples: 5823*d5c09012SAndroid Build Coastguard Worker // * `"environment" : "production"` 5824*d5c09012SAndroid Build Coastguard Worker // * `"pipeline" : "etl"` 5825*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 5; 5826*d5c09012SAndroid Build Coastguard Worker} 5827*d5c09012SAndroid Build Coastguard Worker 5828*d5c09012SAndroid Build Coastguard Worker// Quota exceeded errors will be thrown once quota has been met. 5829*d5c09012SAndroid Build Coastguard Workermessage HybridInspectResponse {} 5830*d5c09012SAndroid Build Coastguard Worker 5831*d5c09012SAndroid Build Coastguard Worker// Operators available for comparing the value of fields. 5832*d5c09012SAndroid Build Coastguard Workerenum RelationalOperator { 5833*d5c09012SAndroid Build Coastguard Worker // Unused 5834*d5c09012SAndroid Build Coastguard Worker RELATIONAL_OPERATOR_UNSPECIFIED = 0; 5835*d5c09012SAndroid Build Coastguard Worker 5836*d5c09012SAndroid Build Coastguard Worker // Equal. Attempts to match even with incompatible types. 5837*d5c09012SAndroid Build Coastguard Worker EQUAL_TO = 1; 5838*d5c09012SAndroid Build Coastguard Worker 5839*d5c09012SAndroid Build Coastguard Worker // Not equal to. Attempts to match even with incompatible types. 5840*d5c09012SAndroid Build Coastguard Worker NOT_EQUAL_TO = 2; 5841*d5c09012SAndroid Build Coastguard Worker 5842*d5c09012SAndroid Build Coastguard Worker // Greater than. 5843*d5c09012SAndroid Build Coastguard Worker GREATER_THAN = 3; 5844*d5c09012SAndroid Build Coastguard Worker 5845*d5c09012SAndroid Build Coastguard Worker // Less than. 5846*d5c09012SAndroid Build Coastguard Worker LESS_THAN = 4; 5847*d5c09012SAndroid Build Coastguard Worker 5848*d5c09012SAndroid Build Coastguard Worker // Greater than or equals. 5849*d5c09012SAndroid Build Coastguard Worker GREATER_THAN_OR_EQUALS = 5; 5850*d5c09012SAndroid Build Coastguard Worker 5851*d5c09012SAndroid Build Coastguard Worker // Less than or equals. 5852*d5c09012SAndroid Build Coastguard Worker LESS_THAN_OR_EQUALS = 6; 5853*d5c09012SAndroid Build Coastguard Worker 5854*d5c09012SAndroid Build Coastguard Worker // Exists 5855*d5c09012SAndroid Build Coastguard Worker EXISTS = 7; 5856*d5c09012SAndroid Build Coastguard Worker} 5857*d5c09012SAndroid Build Coastguard Worker 5858*d5c09012SAndroid Build Coastguard Worker// Type of the match which can be applied to different ways of matching, like 5859*d5c09012SAndroid Build Coastguard Worker// Dictionary, regular expression and intersecting with findings of another 5860*d5c09012SAndroid Build Coastguard Worker// info type. 5861*d5c09012SAndroid Build Coastguard Workerenum MatchingType { 5862*d5c09012SAndroid Build Coastguard Worker // Invalid. 5863*d5c09012SAndroid Build Coastguard Worker MATCHING_TYPE_UNSPECIFIED = 0; 5864*d5c09012SAndroid Build Coastguard Worker 5865*d5c09012SAndroid Build Coastguard Worker // Full match. 5866*d5c09012SAndroid Build Coastguard Worker // 5867*d5c09012SAndroid Build Coastguard Worker // - Dictionary: join of Dictionary results matched complete finding quote 5868*d5c09012SAndroid Build Coastguard Worker // - Regex: all regex matches fill a finding quote start to end 5869*d5c09012SAndroid Build Coastguard Worker // - Exclude info type: completely inside affecting info types findings 5870*d5c09012SAndroid Build Coastguard Worker MATCHING_TYPE_FULL_MATCH = 1; 5871*d5c09012SAndroid Build Coastguard Worker 5872*d5c09012SAndroid Build Coastguard Worker // Partial match. 5873*d5c09012SAndroid Build Coastguard Worker // 5874*d5c09012SAndroid Build Coastguard Worker // - Dictionary: at least one of the tokens in the finding matches 5875*d5c09012SAndroid Build Coastguard Worker // - Regex: substring of the finding matches 5876*d5c09012SAndroid Build Coastguard Worker // - Exclude info type: intersects with affecting info types findings 5877*d5c09012SAndroid Build Coastguard Worker MATCHING_TYPE_PARTIAL_MATCH = 2; 5878*d5c09012SAndroid Build Coastguard Worker 5879*d5c09012SAndroid Build Coastguard Worker // Inverse match. 5880*d5c09012SAndroid Build Coastguard Worker // 5881*d5c09012SAndroid Build Coastguard Worker // - Dictionary: no tokens in the finding match the dictionary 5882*d5c09012SAndroid Build Coastguard Worker // - Regex: finding doesn't match the regex 5883*d5c09012SAndroid Build Coastguard Worker // - Exclude info type: no intersection with affecting info types findings 5884*d5c09012SAndroid Build Coastguard Worker MATCHING_TYPE_INVERSE_MATCH = 3; 5885*d5c09012SAndroid Build Coastguard Worker} 5886*d5c09012SAndroid Build Coastguard Worker 5887*d5c09012SAndroid Build Coastguard Worker// Deprecated and unused. 5888*d5c09012SAndroid Build Coastguard Workerenum ContentOption { 5889*d5c09012SAndroid Build Coastguard Worker // Includes entire content of a file or a data stream. 5890*d5c09012SAndroid Build Coastguard Worker CONTENT_UNSPECIFIED = 0; 5891*d5c09012SAndroid Build Coastguard Worker 5892*d5c09012SAndroid Build Coastguard Worker // Text content within the data, excluding any metadata. 5893*d5c09012SAndroid Build Coastguard Worker CONTENT_TEXT = 1; 5894*d5c09012SAndroid Build Coastguard Worker 5895*d5c09012SAndroid Build Coastguard Worker // Images found in the data. 5896*d5c09012SAndroid Build Coastguard Worker CONTENT_IMAGE = 2; 5897*d5c09012SAndroid Build Coastguard Worker} 5898*d5c09012SAndroid Build Coastguard Worker 5899*d5c09012SAndroid Build Coastguard Worker// Type of metadata containing the finding. 5900*d5c09012SAndroid Build Coastguard Workerenum MetadataType { 5901*d5c09012SAndroid Build Coastguard Worker // Unused 5902*d5c09012SAndroid Build Coastguard Worker METADATATYPE_UNSPECIFIED = 0; 5903*d5c09012SAndroid Build Coastguard Worker 5904*d5c09012SAndroid Build Coastguard Worker // General file metadata provided by Cloud Storage. 5905*d5c09012SAndroid Build Coastguard Worker STORAGE_METADATA = 2; 5906*d5c09012SAndroid Build Coastguard Worker} 5907*d5c09012SAndroid Build Coastguard Worker 5908*d5c09012SAndroid Build Coastguard Worker// Parts of the APIs which use certain infoTypes. 5909*d5c09012SAndroid Build Coastguard Workerenum InfoTypeSupportedBy { 5910*d5c09012SAndroid Build Coastguard Worker // Unused. 5911*d5c09012SAndroid Build Coastguard Worker ENUM_TYPE_UNSPECIFIED = 0; 5912*d5c09012SAndroid Build Coastguard Worker 5913*d5c09012SAndroid Build Coastguard Worker // Supported by the inspect operations. 5914*d5c09012SAndroid Build Coastguard Worker INSPECT = 1; 5915*d5c09012SAndroid Build Coastguard Worker 5916*d5c09012SAndroid Build Coastguard Worker // Supported by the risk analysis operations. 5917*d5c09012SAndroid Build Coastguard Worker RISK_ANALYSIS = 2; 5918*d5c09012SAndroid Build Coastguard Worker} 5919*d5c09012SAndroid Build Coastguard Worker 5920*d5c09012SAndroid Build Coastguard Worker// An enum to represent the various types of DLP jobs. 5921*d5c09012SAndroid Build Coastguard Workerenum DlpJobType { 5922*d5c09012SAndroid Build Coastguard Worker // Defaults to INSPECT_JOB. 5923*d5c09012SAndroid Build Coastguard Worker DLP_JOB_TYPE_UNSPECIFIED = 0; 5924*d5c09012SAndroid Build Coastguard Worker 5925*d5c09012SAndroid Build Coastguard Worker // The job inspected Google Cloud for sensitive data. 5926*d5c09012SAndroid Build Coastguard Worker INSPECT_JOB = 1; 5927*d5c09012SAndroid Build Coastguard Worker 5928*d5c09012SAndroid Build Coastguard Worker // The job executed a Risk Analysis computation. 5929*d5c09012SAndroid Build Coastguard Worker RISK_ANALYSIS_JOB = 2; 5930*d5c09012SAndroid Build Coastguard Worker} 5931*d5c09012SAndroid Build Coastguard Worker 5932*d5c09012SAndroid Build Coastguard Worker// State of a StoredInfoType version. 5933*d5c09012SAndroid Build Coastguard Workerenum StoredInfoTypeState { 5934*d5c09012SAndroid Build Coastguard Worker // Unused 5935*d5c09012SAndroid Build Coastguard Worker STORED_INFO_TYPE_STATE_UNSPECIFIED = 0; 5936*d5c09012SAndroid Build Coastguard Worker 5937*d5c09012SAndroid Build Coastguard Worker // StoredInfoType version is being created. 5938*d5c09012SAndroid Build Coastguard Worker PENDING = 1; 5939*d5c09012SAndroid Build Coastguard Worker 5940*d5c09012SAndroid Build Coastguard Worker // StoredInfoType version is ready for use. 5941*d5c09012SAndroid Build Coastguard Worker READY = 2; 5942*d5c09012SAndroid Build Coastguard Worker 5943*d5c09012SAndroid Build Coastguard Worker // StoredInfoType creation failed. All relevant error messages are returned in 5944*d5c09012SAndroid Build Coastguard Worker // the `StoredInfoTypeVersion` message. 5945*d5c09012SAndroid Build Coastguard Worker FAILED = 3; 5946*d5c09012SAndroid Build Coastguard Worker 5947*d5c09012SAndroid Build Coastguard Worker // StoredInfoType is no longer valid because artifacts stored in 5948*d5c09012SAndroid Build Coastguard Worker // user-controlled storage were modified. To fix an invalid StoredInfoType, 5949*d5c09012SAndroid Build Coastguard Worker // use the `UpdateStoredInfoType` method to create a new version. 5950*d5c09012SAndroid Build Coastguard Worker INVALID = 4; 5951*d5c09012SAndroid Build Coastguard Worker} 5952*d5c09012SAndroid Build Coastguard Worker 5953*d5c09012SAndroid Build Coastguard Worker// Request to list the profiles generated for a given organization or project. 5954*d5c09012SAndroid Build Coastguard Workermessage ListProjectDataProfilesRequest { 5955*d5c09012SAndroid Build Coastguard Worker // Required. organizations/{org_id}/locations/{loc_id} 5956*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 5957*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 5958*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 5959*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/ProjectDataProfile" 5960*d5c09012SAndroid Build Coastguard Worker } 5961*d5c09012SAndroid Build Coastguard Worker ]; 5962*d5c09012SAndroid Build Coastguard Worker 5963*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. 5964*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 5965*d5c09012SAndroid Build Coastguard Worker 5966*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by the server. If zero, server 5967*d5c09012SAndroid Build Coastguard Worker // returns a page of max size 100. 5968*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 5969*d5c09012SAndroid Build Coastguard Worker 5970*d5c09012SAndroid Build Coastguard Worker // Comma separated list of fields to order by, followed by `asc` or `desc` 5971*d5c09012SAndroid Build Coastguard Worker // postfix. This list is case insensitive. The default sorting order is 5972*d5c09012SAndroid Build Coastguard Worker // ascending. Redundant space characters are insignificant. Only one order 5973*d5c09012SAndroid Build Coastguard Worker // field at a time is allowed. 5974*d5c09012SAndroid Build Coastguard Worker // 5975*d5c09012SAndroid Build Coastguard Worker // Examples: 5976*d5c09012SAndroid Build Coastguard Worker // * `project_id` 5977*d5c09012SAndroid Build Coastguard Worker // * `sensitivity_level desc` 5978*d5c09012SAndroid Build Coastguard Worker // 5979*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 5980*d5c09012SAndroid Build Coastguard Worker // 5981*d5c09012SAndroid Build Coastguard Worker // - `project_id`: GCP project ID 5982*d5c09012SAndroid Build Coastguard Worker // - `sensitivity_level`: How sensitive the data in a project is, at most. 5983*d5c09012SAndroid Build Coastguard Worker // - `data_risk_level`: How much risk is associated with this data. 5984*d5c09012SAndroid Build Coastguard Worker // - `profile_last_generated`: When the profile was last updated in epoch 5985*d5c09012SAndroid Build Coastguard Worker // seconds. 5986*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 5987*d5c09012SAndroid Build Coastguard Worker 5988*d5c09012SAndroid Build Coastguard Worker // Allows filtering. 5989*d5c09012SAndroid Build Coastguard Worker // 5990*d5c09012SAndroid Build Coastguard Worker // Supported syntax: 5991*d5c09012SAndroid Build Coastguard Worker // 5992*d5c09012SAndroid Build Coastguard Worker // * Filter expressions are made up of one or more restrictions. 5993*d5c09012SAndroid Build Coastguard Worker // * Restrictions can be combined by `AND` or `OR` logical operators. A 5994*d5c09012SAndroid Build Coastguard Worker // sequence of restrictions implicitly uses `AND`. 5995*d5c09012SAndroid Build Coastguard Worker // * A restriction has the form of `{field} {operator} {value}`. 5996*d5c09012SAndroid Build Coastguard Worker // * Supported fields/values: 5997*d5c09012SAndroid Build Coastguard Worker // - `sensitivity_level` - HIGH|MODERATE|LOW 5998*d5c09012SAndroid Build Coastguard Worker // - `data_risk_level` - HIGH|MODERATE|LOW 5999*d5c09012SAndroid Build Coastguard Worker // - `status_code` - an RPC status code as defined in 6000*d5c09012SAndroid Build Coastguard Worker // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto 6001*d5c09012SAndroid Build Coastguard Worker // * The operator must be `=` or `!=`. 6002*d5c09012SAndroid Build Coastguard Worker // 6003*d5c09012SAndroid Build Coastguard Worker // Examples: 6004*d5c09012SAndroid Build Coastguard Worker // 6005*d5c09012SAndroid Build Coastguard Worker // * `project_id = 12345 AND status_code = 1` 6006*d5c09012SAndroid Build Coastguard Worker // * `project_id = 12345 AND sensitivity_level = HIGH` 6007*d5c09012SAndroid Build Coastguard Worker // 6008*d5c09012SAndroid Build Coastguard Worker // The length of this field should be no more than 500 characters. 6009*d5c09012SAndroid Build Coastguard Worker string filter = 5; 6010*d5c09012SAndroid Build Coastguard Worker} 6011*d5c09012SAndroid Build Coastguard Worker 6012*d5c09012SAndroid Build Coastguard Worker// List of profiles generated for a given organization or project. 6013*d5c09012SAndroid Build Coastguard Workermessage ListProjectDataProfilesResponse { 6014*d5c09012SAndroid Build Coastguard Worker // List of data profiles. 6015*d5c09012SAndroid Build Coastguard Worker repeated ProjectDataProfile project_data_profiles = 1; 6016*d5c09012SAndroid Build Coastguard Worker 6017*d5c09012SAndroid Build Coastguard Worker // The next page token. 6018*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 6019*d5c09012SAndroid Build Coastguard Worker} 6020*d5c09012SAndroid Build Coastguard Worker 6021*d5c09012SAndroid Build Coastguard Worker// Request to list the profiles generated for a given organization or project. 6022*d5c09012SAndroid Build Coastguard Workermessage ListTableDataProfilesRequest { 6023*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization or project, for 6024*d5c09012SAndroid Build Coastguard Worker // example `organizations/433245324/locations/europe` or 6025*d5c09012SAndroid Build Coastguard Worker // `projects/project-id/locations/asia`. 6026*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 6027*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 6028*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 6029*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/TableDataProfile" 6030*d5c09012SAndroid Build Coastguard Worker } 6031*d5c09012SAndroid Build Coastguard Worker ]; 6032*d5c09012SAndroid Build Coastguard Worker 6033*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. 6034*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 6035*d5c09012SAndroid Build Coastguard Worker 6036*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by the server. If zero, server 6037*d5c09012SAndroid Build Coastguard Worker // returns a page of max size 100. 6038*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 6039*d5c09012SAndroid Build Coastguard Worker 6040*d5c09012SAndroid Build Coastguard Worker // Comma separated list of fields to order by, followed by `asc` or `desc` 6041*d5c09012SAndroid Build Coastguard Worker // postfix. This list is case insensitive. The default sorting order is 6042*d5c09012SAndroid Build Coastguard Worker // ascending. Redundant space characters are insignificant. Only one order 6043*d5c09012SAndroid Build Coastguard Worker // field at a time is allowed. 6044*d5c09012SAndroid Build Coastguard Worker // 6045*d5c09012SAndroid Build Coastguard Worker // Examples: 6046*d5c09012SAndroid Build Coastguard Worker // * `project_id asc` 6047*d5c09012SAndroid Build Coastguard Worker // * `table_id` 6048*d5c09012SAndroid Build Coastguard Worker // * `sensitivity_level desc` 6049*d5c09012SAndroid Build Coastguard Worker // 6050*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 6051*d5c09012SAndroid Build Coastguard Worker // 6052*d5c09012SAndroid Build Coastguard Worker // - `project_id`: The GCP project ID. 6053*d5c09012SAndroid Build Coastguard Worker // - `dataset_id`: The ID of a BigQuery dataset. 6054*d5c09012SAndroid Build Coastguard Worker // - `table_id`: The ID of a BigQuery table. 6055*d5c09012SAndroid Build Coastguard Worker // - `sensitivity_level`: How sensitive the data in a table is, at most. 6056*d5c09012SAndroid Build Coastguard Worker // - `data_risk_level`: How much risk is associated with this data. 6057*d5c09012SAndroid Build Coastguard Worker // - `profile_last_generated`: When the profile was last updated in epoch 6058*d5c09012SAndroid Build Coastguard Worker // seconds. 6059*d5c09012SAndroid Build Coastguard Worker // - `last_modified`: The last time the resource was modified. 6060*d5c09012SAndroid Build Coastguard Worker // - `resource_visibility`: Visibility restriction for this resource. 6061*d5c09012SAndroid Build Coastguard Worker // - `row_count`: Number of rows in this resource. 6062*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 6063*d5c09012SAndroid Build Coastguard Worker 6064*d5c09012SAndroid Build Coastguard Worker // Allows filtering. 6065*d5c09012SAndroid Build Coastguard Worker // 6066*d5c09012SAndroid Build Coastguard Worker // Supported syntax: 6067*d5c09012SAndroid Build Coastguard Worker // 6068*d5c09012SAndroid Build Coastguard Worker // * Filter expressions are made up of one or more restrictions. 6069*d5c09012SAndroid Build Coastguard Worker // * Restrictions can be combined by `AND` or `OR` logical operators. A 6070*d5c09012SAndroid Build Coastguard Worker // sequence of restrictions implicitly uses `AND`. 6071*d5c09012SAndroid Build Coastguard Worker // * A restriction has the form of `{field} {operator} {value}`. 6072*d5c09012SAndroid Build Coastguard Worker // * Supported fields/values: 6073*d5c09012SAndroid Build Coastguard Worker // - `project_id` - The GCP project ID. 6074*d5c09012SAndroid Build Coastguard Worker // - `dataset_id` - The BigQuery dataset ID. 6075*d5c09012SAndroid Build Coastguard Worker // - `table_id` - The ID of the BigQuery table. 6076*d5c09012SAndroid Build Coastguard Worker // - `sensitivity_level` - HIGH|MODERATE|LOW 6077*d5c09012SAndroid Build Coastguard Worker // - `data_risk_level` - HIGH|MODERATE|LOW 6078*d5c09012SAndroid Build Coastguard Worker // - `resource_visibility`: PUBLIC|RESTRICTED 6079*d5c09012SAndroid Build Coastguard Worker // - `status_code` - an RPC status code as defined in 6080*d5c09012SAndroid Build Coastguard Worker // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto 6081*d5c09012SAndroid Build Coastguard Worker // * The operator must be `=` or `!=`. 6082*d5c09012SAndroid Build Coastguard Worker // 6083*d5c09012SAndroid Build Coastguard Worker // Examples: 6084*d5c09012SAndroid Build Coastguard Worker // 6085*d5c09012SAndroid Build Coastguard Worker // * `project_id = 12345 AND status_code = 1` 6086*d5c09012SAndroid Build Coastguard Worker // * `project_id = 12345 AND sensitivity_level = HIGH` 6087*d5c09012SAndroid Build Coastguard Worker // * `project_id = 12345 AND resource_visibility = PUBLIC` 6088*d5c09012SAndroid Build Coastguard Worker // 6089*d5c09012SAndroid Build Coastguard Worker // The length of this field should be no more than 500 characters. 6090*d5c09012SAndroid Build Coastguard Worker string filter = 5; 6091*d5c09012SAndroid Build Coastguard Worker} 6092*d5c09012SAndroid Build Coastguard Worker 6093*d5c09012SAndroid Build Coastguard Worker// List of profiles generated for a given organization or project. 6094*d5c09012SAndroid Build Coastguard Workermessage ListTableDataProfilesResponse { 6095*d5c09012SAndroid Build Coastguard Worker // List of data profiles. 6096*d5c09012SAndroid Build Coastguard Worker repeated TableDataProfile table_data_profiles = 1; 6097*d5c09012SAndroid Build Coastguard Worker 6098*d5c09012SAndroid Build Coastguard Worker // The next page token. 6099*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 6100*d5c09012SAndroid Build Coastguard Worker} 6101*d5c09012SAndroid Build Coastguard Worker 6102*d5c09012SAndroid Build Coastguard Worker// Request to list the profiles generated for a given organization or project. 6103*d5c09012SAndroid Build Coastguard Workermessage ListColumnDataProfilesRequest { 6104*d5c09012SAndroid Build Coastguard Worker // Required. Resource name of the organization or project, for 6105*d5c09012SAndroid Build Coastguard Worker // example `organizations/433245324/locations/europe` or 6106*d5c09012SAndroid Build Coastguard Worker // `projects/project-id/locations/asia`. 6107*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 6108*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 6109*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 6110*d5c09012SAndroid Build Coastguard Worker child_type: "dlp.googleapis.com/ColumnDataProfile" 6111*d5c09012SAndroid Build Coastguard Worker } 6112*d5c09012SAndroid Build Coastguard Worker ]; 6113*d5c09012SAndroid Build Coastguard Worker 6114*d5c09012SAndroid Build Coastguard Worker // Page token to continue retrieval. 6115*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 6116*d5c09012SAndroid Build Coastguard Worker 6117*d5c09012SAndroid Build Coastguard Worker // Size of the page. This value can be limited by the server. If zero, server 6118*d5c09012SAndroid Build Coastguard Worker // returns a page of max size 100. 6119*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3; 6120*d5c09012SAndroid Build Coastguard Worker 6121*d5c09012SAndroid Build Coastguard Worker // Comma separated list of fields to order by, followed by `asc` or `desc` 6122*d5c09012SAndroid Build Coastguard Worker // postfix. This list is case insensitive. The default sorting order is 6123*d5c09012SAndroid Build Coastguard Worker // ascending. Redundant space characters are insignificant. Only one order 6124*d5c09012SAndroid Build Coastguard Worker // field at a time is allowed. 6125*d5c09012SAndroid Build Coastguard Worker // 6126*d5c09012SAndroid Build Coastguard Worker // Examples: 6127*d5c09012SAndroid Build Coastguard Worker // * `project_id asc` 6128*d5c09012SAndroid Build Coastguard Worker // * `table_id` 6129*d5c09012SAndroid Build Coastguard Worker // * `sensitivity_level desc` 6130*d5c09012SAndroid Build Coastguard Worker // 6131*d5c09012SAndroid Build Coastguard Worker // Supported fields are: 6132*d5c09012SAndroid Build Coastguard Worker // 6133*d5c09012SAndroid Build Coastguard Worker // - `project_id`: The Google Cloud project ID. 6134*d5c09012SAndroid Build Coastguard Worker // - `dataset_id`: The ID of a BigQuery dataset. 6135*d5c09012SAndroid Build Coastguard Worker // - `table_id`: The ID of a BigQuery table. 6136*d5c09012SAndroid Build Coastguard Worker // - `sensitivity_level`: How sensitive the data in a column is, at most. 6137*d5c09012SAndroid Build Coastguard Worker // - `data_risk_level`: How much risk is associated with this data. 6138*d5c09012SAndroid Build Coastguard Worker // - `profile_last_generated`: When the profile was last updated in epoch 6139*d5c09012SAndroid Build Coastguard Worker // seconds. 6140*d5c09012SAndroid Build Coastguard Worker string order_by = 4; 6141*d5c09012SAndroid Build Coastguard Worker 6142*d5c09012SAndroid Build Coastguard Worker // Allows filtering. 6143*d5c09012SAndroid Build Coastguard Worker // 6144*d5c09012SAndroid Build Coastguard Worker // Supported syntax: 6145*d5c09012SAndroid Build Coastguard Worker // 6146*d5c09012SAndroid Build Coastguard Worker // * Filter expressions are made up of one or more restrictions. 6147*d5c09012SAndroid Build Coastguard Worker // * Restrictions can be combined by `AND` or `OR` logical operators. A 6148*d5c09012SAndroid Build Coastguard Worker // sequence of restrictions implicitly uses `AND`. 6149*d5c09012SAndroid Build Coastguard Worker // * A restriction has the form of `{field} {operator} {value}`. 6150*d5c09012SAndroid Build Coastguard Worker // * Supported fields/values: 6151*d5c09012SAndroid Build Coastguard Worker // - `table_data_profile_name` - The name of the related table data 6152*d5c09012SAndroid Build Coastguard Worker // profile. 6153*d5c09012SAndroid Build Coastguard Worker // - `project_id` - The Google Cloud project ID. (REQUIRED) 6154*d5c09012SAndroid Build Coastguard Worker // - `dataset_id` - The BigQuery dataset ID. (REQUIRED) 6155*d5c09012SAndroid Build Coastguard Worker // - `table_id` - The BigQuery table ID. (REQUIRED) 6156*d5c09012SAndroid Build Coastguard Worker // - `field_id` - The ID of the BigQuery field. 6157*d5c09012SAndroid Build Coastguard Worker // - `info_type` - The infotype detected in the resource. 6158*d5c09012SAndroid Build Coastguard Worker // - `sensitivity_level` - HIGH|MEDIUM|LOW 6159*d5c09012SAndroid Build Coastguard Worker // - `data_risk_level`: How much risk is associated with this data. 6160*d5c09012SAndroid Build Coastguard Worker // - `status_code` - an RPC status code as defined in 6161*d5c09012SAndroid Build Coastguard Worker // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto 6162*d5c09012SAndroid Build Coastguard Worker // * The operator must be `=` for project_id, dataset_id, and table_id. Other 6163*d5c09012SAndroid Build Coastguard Worker // filters also support `!=`. 6164*d5c09012SAndroid Build Coastguard Worker // 6165*d5c09012SAndroid Build Coastguard Worker // Examples: 6166*d5c09012SAndroid Build Coastguard Worker // 6167*d5c09012SAndroid Build Coastguard Worker // * project_id = 12345 AND status_code = 1 6168*d5c09012SAndroid Build Coastguard Worker // * project_id = 12345 AND sensitivity_level = HIGH 6169*d5c09012SAndroid Build Coastguard Worker // * project_id = 12345 AND info_type = STREET_ADDRESS 6170*d5c09012SAndroid Build Coastguard Worker // 6171*d5c09012SAndroid Build Coastguard Worker // The length of this field should be no more than 500 characters. 6172*d5c09012SAndroid Build Coastguard Worker string filter = 5; 6173*d5c09012SAndroid Build Coastguard Worker} 6174*d5c09012SAndroid Build Coastguard Worker 6175*d5c09012SAndroid Build Coastguard Worker// List of profiles generated for a given organization or project. 6176*d5c09012SAndroid Build Coastguard Workermessage ListColumnDataProfilesResponse { 6177*d5c09012SAndroid Build Coastguard Worker // List of data profiles. 6178*d5c09012SAndroid Build Coastguard Worker repeated ColumnDataProfile column_data_profiles = 1; 6179*d5c09012SAndroid Build Coastguard Worker 6180*d5c09012SAndroid Build Coastguard Worker // The next page token. 6181*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 6182*d5c09012SAndroid Build Coastguard Worker} 6183*d5c09012SAndroid Build Coastguard Worker 6184*d5c09012SAndroid Build Coastguard Worker// Score is a summary of all elements in the data profile. 6185*d5c09012SAndroid Build Coastguard Worker// A higher number means more risk. 6186*d5c09012SAndroid Build Coastguard Workermessage DataRiskLevel { 6187*d5c09012SAndroid Build Coastguard Worker // Various score levels for resources. 6188*d5c09012SAndroid Build Coastguard Worker enum DataRiskLevelScore { 6189*d5c09012SAndroid Build Coastguard Worker // Unused. 6190*d5c09012SAndroid Build Coastguard Worker RISK_SCORE_UNSPECIFIED = 0; 6191*d5c09012SAndroid Build Coastguard Worker 6192*d5c09012SAndroid Build Coastguard Worker // Low risk - Lower indication of sensitive data that appears to have 6193*d5c09012SAndroid Build Coastguard Worker // additional access restrictions in place or no indication of sensitive 6194*d5c09012SAndroid Build Coastguard Worker // data found. 6195*d5c09012SAndroid Build Coastguard Worker RISK_LOW = 10; 6196*d5c09012SAndroid Build Coastguard Worker 6197*d5c09012SAndroid Build Coastguard Worker // Medium risk - Sensitive data may be present but additional access or fine 6198*d5c09012SAndroid Build Coastguard Worker // grain access restrictions appear to be present. Consider limiting 6199*d5c09012SAndroid Build Coastguard Worker // access even further or transform data to mask. 6200*d5c09012SAndroid Build Coastguard Worker RISK_MODERATE = 20; 6201*d5c09012SAndroid Build Coastguard Worker 6202*d5c09012SAndroid Build Coastguard Worker // High risk – SPII may be present. Access controls may include public 6203*d5c09012SAndroid Build Coastguard Worker // ACLs. Exfiltration of data may lead to user data loss. Re-identification 6204*d5c09012SAndroid Build Coastguard Worker // of users may be possible. Consider limiting usage and or removing SPII. 6205*d5c09012SAndroid Build Coastguard Worker RISK_HIGH = 30; 6206*d5c09012SAndroid Build Coastguard Worker } 6207*d5c09012SAndroid Build Coastguard Worker 6208*d5c09012SAndroid Build Coastguard Worker // The score applied to the resource. 6209*d5c09012SAndroid Build Coastguard Worker DataRiskLevelScore score = 1; 6210*d5c09012SAndroid Build Coastguard Worker} 6211*d5c09012SAndroid Build Coastguard Worker 6212*d5c09012SAndroid Build Coastguard Worker// An aggregated profile for this project, based on the resources profiled 6213*d5c09012SAndroid Build Coastguard Worker// within it. 6214*d5c09012SAndroid Build Coastguard Workermessage ProjectDataProfile { 6215*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 6216*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/ProjectDataProfile" 6217*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}/projectDataProfiles/{project_data_profile}" 6218*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/projectDataProfiles/{project_data_profile}" 6219*d5c09012SAndroid Build Coastguard Worker }; 6220*d5c09012SAndroid Build Coastguard Worker // The resource name of the profile. 6221*d5c09012SAndroid Build Coastguard Worker string name = 1; 6222*d5c09012SAndroid Build Coastguard Worker 6223*d5c09012SAndroid Build Coastguard Worker // Project ID that was profiled. 6224*d5c09012SAndroid Build Coastguard Worker string project_id = 2; 6225*d5c09012SAndroid Build Coastguard Worker 6226*d5c09012SAndroid Build Coastguard Worker // The last time the profile was generated. 6227*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp profile_last_generated = 3; 6228*d5c09012SAndroid Build Coastguard Worker 6229*d5c09012SAndroid Build Coastguard Worker // The sensitivity score of this project. 6230*d5c09012SAndroid Build Coastguard Worker SensitivityScore sensitivity_score = 4; 6231*d5c09012SAndroid Build Coastguard Worker 6232*d5c09012SAndroid Build Coastguard Worker // The data risk level of this project. 6233*d5c09012SAndroid Build Coastguard Worker DataRiskLevel data_risk_level = 5; 6234*d5c09012SAndroid Build Coastguard Worker 6235*d5c09012SAndroid Build Coastguard Worker // Success or error status of the last attempt to profile the project. 6236*d5c09012SAndroid Build Coastguard Worker ProfileStatus profile_status = 7; 6237*d5c09012SAndroid Build Coastguard Worker} 6238*d5c09012SAndroid Build Coastguard Worker 6239*d5c09012SAndroid Build Coastguard Worker// How broadly the data in the resource has been shared. New items may be added 6240*d5c09012SAndroid Build Coastguard Worker// over time. A higher number means more restricted. 6241*d5c09012SAndroid Build Coastguard Workerenum ResourceVisibility { 6242*d5c09012SAndroid Build Coastguard Worker // Unused. 6243*d5c09012SAndroid Build Coastguard Worker RESOURCE_VISIBILITY_UNSPECIFIED = 0; 6244*d5c09012SAndroid Build Coastguard Worker 6245*d5c09012SAndroid Build Coastguard Worker // Visible to any user. 6246*d5c09012SAndroid Build Coastguard Worker RESOURCE_VISIBILITY_PUBLIC = 10; 6247*d5c09012SAndroid Build Coastguard Worker 6248*d5c09012SAndroid Build Coastguard Worker // Visible only to specific users. 6249*d5c09012SAndroid Build Coastguard Worker RESOURCE_VISIBILITY_RESTRICTED = 20; 6250*d5c09012SAndroid Build Coastguard Worker} 6251*d5c09012SAndroid Build Coastguard Worker 6252*d5c09012SAndroid Build Coastguard Worker// Snapshot of the configurations used to generate the profile. 6253*d5c09012SAndroid Build Coastguard Workermessage DataProfileConfigSnapshot { 6254*d5c09012SAndroid Build Coastguard Worker // A copy of the inspection config used to generate this profile. This 6255*d5c09012SAndroid Build Coastguard Worker // is a copy of the inspect_template specified in `DataProfileJobConfig`. 6256*d5c09012SAndroid Build Coastguard Worker InspectConfig inspect_config = 2; 6257*d5c09012SAndroid Build Coastguard Worker 6258*d5c09012SAndroid Build Coastguard Worker // A copy of the configuration used to generate this profile. This is 6259*d5c09012SAndroid Build Coastguard Worker // deprecated, and the DiscoveryConfig field is preferred moving forward. 6260*d5c09012SAndroid Build Coastguard Worker // DataProfileJobConfig will still be written here for Discovery in BigQuery 6261*d5c09012SAndroid Build Coastguard Worker // for backwards compatibility, but will not be updated with new fields, while 6262*d5c09012SAndroid Build Coastguard Worker // DiscoveryConfig will. 6263*d5c09012SAndroid Build Coastguard Worker DataProfileJobConfig data_profile_job = 3 [deprecated = true]; 6264*d5c09012SAndroid Build Coastguard Worker 6265*d5c09012SAndroid Build Coastguard Worker // A copy of the configuration used to generate this profile. 6266*d5c09012SAndroid Build Coastguard Worker DiscoveryConfig discovery_config = 4; 6267*d5c09012SAndroid Build Coastguard Worker 6268*d5c09012SAndroid Build Coastguard Worker // Name of the inspection template used to generate this profile 6269*d5c09012SAndroid Build Coastguard Worker string inspect_template_name = 5; 6270*d5c09012SAndroid Build Coastguard Worker 6271*d5c09012SAndroid Build Coastguard Worker // Timestamp when the template was modified 6272*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp inspect_template_modified_time = 6; 6273*d5c09012SAndroid Build Coastguard Worker} 6274*d5c09012SAndroid Build Coastguard Worker 6275*d5c09012SAndroid Build Coastguard Worker// The profile for a scanned table. 6276*d5c09012SAndroid Build Coastguard Workermessage TableDataProfile { 6277*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 6278*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/TableDataProfile" 6279*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}/tableDataProfiles/{table_data_profile}" 6280*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/tableDataProfiles/{table_data_profile}" 6281*d5c09012SAndroid Build Coastguard Worker }; 6282*d5c09012SAndroid Build Coastguard Worker // Possible states of a profile. New items may be added. 6283*d5c09012SAndroid Build Coastguard Worker enum State { 6284*d5c09012SAndroid Build Coastguard Worker // Unused. 6285*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 6286*d5c09012SAndroid Build Coastguard Worker 6287*d5c09012SAndroid Build Coastguard Worker // The profile is currently running. Once a profile has finished it will 6288*d5c09012SAndroid Build Coastguard Worker // transition to DONE. 6289*d5c09012SAndroid Build Coastguard Worker RUNNING = 1; 6290*d5c09012SAndroid Build Coastguard Worker 6291*d5c09012SAndroid Build Coastguard Worker // The profile is no longer generating. 6292*d5c09012SAndroid Build Coastguard Worker // If profile_status.status.code is 0, the profile succeeded, otherwise, it 6293*d5c09012SAndroid Build Coastguard Worker // failed. 6294*d5c09012SAndroid Build Coastguard Worker DONE = 2; 6295*d5c09012SAndroid Build Coastguard Worker } 6296*d5c09012SAndroid Build Coastguard Worker 6297*d5c09012SAndroid Build Coastguard Worker // The name of the profile. 6298*d5c09012SAndroid Build Coastguard Worker string name = 1; 6299*d5c09012SAndroid Build Coastguard Worker 6300*d5c09012SAndroid Build Coastguard Worker // The resource type that was profiled. 6301*d5c09012SAndroid Build Coastguard Worker DataSourceType data_source_type = 36; 6302*d5c09012SAndroid Build Coastguard Worker 6303*d5c09012SAndroid Build Coastguard Worker // The resource name to the project data profile for this table. 6304*d5c09012SAndroid Build Coastguard Worker string project_data_profile = 2; 6305*d5c09012SAndroid Build Coastguard Worker 6306*d5c09012SAndroid Build Coastguard Worker // The Google Cloud project ID that owns the resource. 6307*d5c09012SAndroid Build Coastguard Worker string dataset_project_id = 24; 6308*d5c09012SAndroid Build Coastguard Worker 6309*d5c09012SAndroid Build Coastguard Worker // If supported, the location where the dataset's data is stored. 6310*d5c09012SAndroid Build Coastguard Worker // See https://cloud.google.com/bigquery/docs/locations for supported 6311*d5c09012SAndroid Build Coastguard Worker // locations. 6312*d5c09012SAndroid Build Coastguard Worker string dataset_location = 29; 6313*d5c09012SAndroid Build Coastguard Worker 6314*d5c09012SAndroid Build Coastguard Worker // If the resource is BigQuery, the dataset ID. 6315*d5c09012SAndroid Build Coastguard Worker string dataset_id = 25; 6316*d5c09012SAndroid Build Coastguard Worker 6317*d5c09012SAndroid Build Coastguard Worker // If the resource is BigQuery, the BigQuery table ID. 6318*d5c09012SAndroid Build Coastguard Worker string table_id = 26; 6319*d5c09012SAndroid Build Coastguard Worker 6320*d5c09012SAndroid Build Coastguard Worker // The resource name of the resource profiled. 6321*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/apis/design/resource_names#full_resource_name 6322*d5c09012SAndroid Build Coastguard Worker string full_resource = 3; 6323*d5c09012SAndroid Build Coastguard Worker 6324*d5c09012SAndroid Build Coastguard Worker // Success or error status from the most recent profile generation attempt. 6325*d5c09012SAndroid Build Coastguard Worker // May be empty if the profile is still being generated. 6326*d5c09012SAndroid Build Coastguard Worker ProfileStatus profile_status = 21; 6327*d5c09012SAndroid Build Coastguard Worker 6328*d5c09012SAndroid Build Coastguard Worker // State of a profile. 6329*d5c09012SAndroid Build Coastguard Worker State state = 22; 6330*d5c09012SAndroid Build Coastguard Worker 6331*d5c09012SAndroid Build Coastguard Worker // The sensitivity score of this table. 6332*d5c09012SAndroid Build Coastguard Worker SensitivityScore sensitivity_score = 5; 6333*d5c09012SAndroid Build Coastguard Worker 6334*d5c09012SAndroid Build Coastguard Worker // The data risk level of this table. 6335*d5c09012SAndroid Build Coastguard Worker DataRiskLevel data_risk_level = 6; 6336*d5c09012SAndroid Build Coastguard Worker 6337*d5c09012SAndroid Build Coastguard Worker // The infoTypes predicted from this table's data. 6338*d5c09012SAndroid Build Coastguard Worker repeated InfoTypeSummary predicted_info_types = 27; 6339*d5c09012SAndroid Build Coastguard Worker 6340*d5c09012SAndroid Build Coastguard Worker // Other infoTypes found in this table's data. 6341*d5c09012SAndroid Build Coastguard Worker repeated OtherInfoTypeSummary other_info_types = 28; 6342*d5c09012SAndroid Build Coastguard Worker 6343*d5c09012SAndroid Build Coastguard Worker // The snapshot of the configurations used to generate the profile. 6344*d5c09012SAndroid Build Coastguard Worker DataProfileConfigSnapshot config_snapshot = 7; 6345*d5c09012SAndroid Build Coastguard Worker 6346*d5c09012SAndroid Build Coastguard Worker // The time when this table was last modified 6347*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_modified_time = 8; 6348*d5c09012SAndroid Build Coastguard Worker 6349*d5c09012SAndroid Build Coastguard Worker // Optional. The time when this table expires. 6350*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp expiration_time = 9; 6351*d5c09012SAndroid Build Coastguard Worker 6352*d5c09012SAndroid Build Coastguard Worker // The number of columns profiled in the table. 6353*d5c09012SAndroid Build Coastguard Worker int64 scanned_column_count = 10; 6354*d5c09012SAndroid Build Coastguard Worker 6355*d5c09012SAndroid Build Coastguard Worker // The number of columns skipped in the table because of an error. 6356*d5c09012SAndroid Build Coastguard Worker int64 failed_column_count = 11; 6357*d5c09012SAndroid Build Coastguard Worker 6358*d5c09012SAndroid Build Coastguard Worker // The size of the table when the profile was generated. 6359*d5c09012SAndroid Build Coastguard Worker int64 table_size_bytes = 12; 6360*d5c09012SAndroid Build Coastguard Worker 6361*d5c09012SAndroid Build Coastguard Worker // Number of rows in the table when the profile was generated. 6362*d5c09012SAndroid Build Coastguard Worker // This will not be populated for BigLake tables. 6363*d5c09012SAndroid Build Coastguard Worker int64 row_count = 13; 6364*d5c09012SAndroid Build Coastguard Worker 6365*d5c09012SAndroid Build Coastguard Worker // How the table is encrypted. 6366*d5c09012SAndroid Build Coastguard Worker EncryptionStatus encryption_status = 14; 6367*d5c09012SAndroid Build Coastguard Worker 6368*d5c09012SAndroid Build Coastguard Worker // How broadly a resource has been shared. 6369*d5c09012SAndroid Build Coastguard Worker ResourceVisibility resource_visibility = 15; 6370*d5c09012SAndroid Build Coastguard Worker 6371*d5c09012SAndroid Build Coastguard Worker // The last time the profile was generated. 6372*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp profile_last_generated = 16; 6373*d5c09012SAndroid Build Coastguard Worker 6374*d5c09012SAndroid Build Coastguard Worker // The labels applied to the resource at the time the profile was generated. 6375*d5c09012SAndroid Build Coastguard Worker map<string, string> resource_labels = 17; 6376*d5c09012SAndroid Build Coastguard Worker 6377*d5c09012SAndroid Build Coastguard Worker // The time at which the table was created. 6378*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 23; 6379*d5c09012SAndroid Build Coastguard Worker} 6380*d5c09012SAndroid Build Coastguard Worker 6381*d5c09012SAndroid Build Coastguard Worker// Success or errors for the profile generation. 6382*d5c09012SAndroid Build Coastguard Workermessage ProfileStatus { 6383*d5c09012SAndroid Build Coastguard Worker // Profiling status code and optional message. The `status.code` value is 0 6384*d5c09012SAndroid Build Coastguard Worker // (default value) for OK. 6385*d5c09012SAndroid Build Coastguard Worker google.rpc.Status status = 1; 6386*d5c09012SAndroid Build Coastguard Worker 6387*d5c09012SAndroid Build Coastguard Worker // Time when the profile generation status was updated 6388*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp timestamp = 3; 6389*d5c09012SAndroid Build Coastguard Worker} 6390*d5c09012SAndroid Build Coastguard Worker 6391*d5c09012SAndroid Build Coastguard Worker// How a resource is encrypted. 6392*d5c09012SAndroid Build Coastguard Workerenum EncryptionStatus { 6393*d5c09012SAndroid Build Coastguard Worker // Unused. 6394*d5c09012SAndroid Build Coastguard Worker ENCRYPTION_STATUS_UNSPECIFIED = 0; 6395*d5c09012SAndroid Build Coastguard Worker 6396*d5c09012SAndroid Build Coastguard Worker // Google manages server-side encryption keys on your behalf. 6397*d5c09012SAndroid Build Coastguard Worker ENCRYPTION_GOOGLE_MANAGED = 1; 6398*d5c09012SAndroid Build Coastguard Worker 6399*d5c09012SAndroid Build Coastguard Worker // Customer provides the key. 6400*d5c09012SAndroid Build Coastguard Worker ENCRYPTION_CUSTOMER_MANAGED = 2; 6401*d5c09012SAndroid Build Coastguard Worker} 6402*d5c09012SAndroid Build Coastguard Worker 6403*d5c09012SAndroid Build Coastguard Worker// The infoType details for this column. 6404*d5c09012SAndroid Build Coastguard Workermessage InfoTypeSummary { 6405*d5c09012SAndroid Build Coastguard Worker // The infoType. 6406*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 1; 6407*d5c09012SAndroid Build Coastguard Worker 6408*d5c09012SAndroid Build Coastguard Worker // Not populated for predicted infotypes. 6409*d5c09012SAndroid Build Coastguard Worker int32 estimated_prevalence = 2 [deprecated = true]; 6410*d5c09012SAndroid Build Coastguard Worker} 6411*d5c09012SAndroid Build Coastguard Worker 6412*d5c09012SAndroid Build Coastguard Worker// Infotype details for other infoTypes found within a column. 6413*d5c09012SAndroid Build Coastguard Workermessage OtherInfoTypeSummary { 6414*d5c09012SAndroid Build Coastguard Worker // The other infoType. 6415*d5c09012SAndroid Build Coastguard Worker InfoType info_type = 1; 6416*d5c09012SAndroid Build Coastguard Worker 6417*d5c09012SAndroid Build Coastguard Worker // Approximate percentage of non-null rows that contained data detected by 6418*d5c09012SAndroid Build Coastguard Worker // this infotype. 6419*d5c09012SAndroid Build Coastguard Worker int32 estimated_prevalence = 2; 6420*d5c09012SAndroid Build Coastguard Worker 6421*d5c09012SAndroid Build Coastguard Worker // Whether this infoType was excluded from sensitivity and risk analysis due 6422*d5c09012SAndroid Build Coastguard Worker // to factors such as low prevalence (subject to change). 6423*d5c09012SAndroid Build Coastguard Worker bool excluded_from_analysis = 3; 6424*d5c09012SAndroid Build Coastguard Worker} 6425*d5c09012SAndroid Build Coastguard Worker 6426*d5c09012SAndroid Build Coastguard Worker// Bucketized nullness percentage levels. A higher level means a higher 6427*d5c09012SAndroid Build Coastguard Worker// percentage of the column is null. 6428*d5c09012SAndroid Build Coastguard Workerenum NullPercentageLevel { 6429*d5c09012SAndroid Build Coastguard Worker // Unused. 6430*d5c09012SAndroid Build Coastguard Worker NULL_PERCENTAGE_LEVEL_UNSPECIFIED = 0; 6431*d5c09012SAndroid Build Coastguard Worker 6432*d5c09012SAndroid Build Coastguard Worker // Very few null entries. 6433*d5c09012SAndroid Build Coastguard Worker NULL_PERCENTAGE_VERY_LOW = 1; 6434*d5c09012SAndroid Build Coastguard Worker 6435*d5c09012SAndroid Build Coastguard Worker // Some null entries. 6436*d5c09012SAndroid Build Coastguard Worker NULL_PERCENTAGE_LOW = 2; 6437*d5c09012SAndroid Build Coastguard Worker 6438*d5c09012SAndroid Build Coastguard Worker // A few null entries. 6439*d5c09012SAndroid Build Coastguard Worker NULL_PERCENTAGE_MEDIUM = 3; 6440*d5c09012SAndroid Build Coastguard Worker 6441*d5c09012SAndroid Build Coastguard Worker // A lot of null entries. 6442*d5c09012SAndroid Build Coastguard Worker NULL_PERCENTAGE_HIGH = 4; 6443*d5c09012SAndroid Build Coastguard Worker} 6444*d5c09012SAndroid Build Coastguard Worker 6445*d5c09012SAndroid Build Coastguard Worker// Bucketized uniqueness score levels. A higher uniqueness score is a strong 6446*d5c09012SAndroid Build Coastguard Worker// signal that the column may contain a unique identifier like user id. A low 6447*d5c09012SAndroid Build Coastguard Worker// value indicates that the column contains few unique values like booleans or 6448*d5c09012SAndroid Build Coastguard Worker// other classifiers. 6449*d5c09012SAndroid Build Coastguard Workerenum UniquenessScoreLevel { 6450*d5c09012SAndroid Build Coastguard Worker // Some columns do not have estimated uniqueness. Possible reasons include 6451*d5c09012SAndroid Build Coastguard Worker // having too few values. 6452*d5c09012SAndroid Build Coastguard Worker UNIQUENESS_SCORE_LEVEL_UNSPECIFIED = 0; 6453*d5c09012SAndroid Build Coastguard Worker 6454*d5c09012SAndroid Build Coastguard Worker // Low uniqueness, possibly a boolean, enum or similiarly typed column. 6455*d5c09012SAndroid Build Coastguard Worker UNIQUENESS_SCORE_LOW = 1; 6456*d5c09012SAndroid Build Coastguard Worker 6457*d5c09012SAndroid Build Coastguard Worker // Medium uniqueness. 6458*d5c09012SAndroid Build Coastguard Worker UNIQUENESS_SCORE_MEDIUM = 2; 6459*d5c09012SAndroid Build Coastguard Worker 6460*d5c09012SAndroid Build Coastguard Worker // High uniqueness, possibly a column of free text or unique identifiers. 6461*d5c09012SAndroid Build Coastguard Worker UNIQUENESS_SCORE_HIGH = 3; 6462*d5c09012SAndroid Build Coastguard Worker} 6463*d5c09012SAndroid Build Coastguard Worker 6464*d5c09012SAndroid Build Coastguard Worker// The profile for a scanned column within a table. 6465*d5c09012SAndroid Build Coastguard Workermessage ColumnDataProfile { 6466*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 6467*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/ColumnDataProfile" 6468*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/locations/{location}/columnDataProfiles/{column_data_profile}" 6469*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/columnDataProfiles/{column_data_profile}" 6470*d5c09012SAndroid Build Coastguard Worker }; 6471*d5c09012SAndroid Build Coastguard Worker // Possible states of a profile. New items may be added. 6472*d5c09012SAndroid Build Coastguard Worker enum State { 6473*d5c09012SAndroid Build Coastguard Worker // Unused. 6474*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 6475*d5c09012SAndroid Build Coastguard Worker 6476*d5c09012SAndroid Build Coastguard Worker // The profile is currently running. Once a profile has finished it will 6477*d5c09012SAndroid Build Coastguard Worker // transition to DONE. 6478*d5c09012SAndroid Build Coastguard Worker RUNNING = 1; 6479*d5c09012SAndroid Build Coastguard Worker 6480*d5c09012SAndroid Build Coastguard Worker // The profile is no longer generating. 6481*d5c09012SAndroid Build Coastguard Worker // If profile_status.status.code is 0, the profile succeeded, otherwise, it 6482*d5c09012SAndroid Build Coastguard Worker // failed. 6483*d5c09012SAndroid Build Coastguard Worker DONE = 2; 6484*d5c09012SAndroid Build Coastguard Worker } 6485*d5c09012SAndroid Build Coastguard Worker 6486*d5c09012SAndroid Build Coastguard Worker // Data types of the data in a column. Types may be added over time. 6487*d5c09012SAndroid Build Coastguard Worker enum ColumnDataType { 6488*d5c09012SAndroid Build Coastguard Worker // Invalid type. 6489*d5c09012SAndroid Build Coastguard Worker COLUMN_DATA_TYPE_UNSPECIFIED = 0; 6490*d5c09012SAndroid Build Coastguard Worker 6491*d5c09012SAndroid Build Coastguard Worker // Encoded as a string in decimal format. 6492*d5c09012SAndroid Build Coastguard Worker TYPE_INT64 = 1; 6493*d5c09012SAndroid Build Coastguard Worker 6494*d5c09012SAndroid Build Coastguard Worker // Encoded as a boolean "false" or "true". 6495*d5c09012SAndroid Build Coastguard Worker TYPE_BOOL = 2; 6496*d5c09012SAndroid Build Coastguard Worker 6497*d5c09012SAndroid Build Coastguard Worker // Encoded as a number, or string "NaN", "Infinity" or "-Infinity". 6498*d5c09012SAndroid Build Coastguard Worker TYPE_FLOAT64 = 3; 6499*d5c09012SAndroid Build Coastguard Worker 6500*d5c09012SAndroid Build Coastguard Worker // Encoded as a string value. 6501*d5c09012SAndroid Build Coastguard Worker TYPE_STRING = 4; 6502*d5c09012SAndroid Build Coastguard Worker 6503*d5c09012SAndroid Build Coastguard Worker // Encoded as a base64 string per RFC 4648, section 4. 6504*d5c09012SAndroid Build Coastguard Worker TYPE_BYTES = 5; 6505*d5c09012SAndroid Build Coastguard Worker 6506*d5c09012SAndroid Build Coastguard Worker // Encoded as an RFC 3339 timestamp with mandatory "Z" time zone string: 6507*d5c09012SAndroid Build Coastguard Worker // 1985-04-12T23:20:50.52Z 6508*d5c09012SAndroid Build Coastguard Worker TYPE_TIMESTAMP = 6; 6509*d5c09012SAndroid Build Coastguard Worker 6510*d5c09012SAndroid Build Coastguard Worker // Encoded as RFC 3339 full-date format string: 1985-04-12 6511*d5c09012SAndroid Build Coastguard Worker TYPE_DATE = 7; 6512*d5c09012SAndroid Build Coastguard Worker 6513*d5c09012SAndroid Build Coastguard Worker // Encoded as RFC 3339 partial-time format string: 23:20:50.52 6514*d5c09012SAndroid Build Coastguard Worker TYPE_TIME = 8; 6515*d5c09012SAndroid Build Coastguard Worker 6516*d5c09012SAndroid Build Coastguard Worker // Encoded as RFC 3339 full-date "T" partial-time: 1985-04-12T23:20:50.52 6517*d5c09012SAndroid Build Coastguard Worker TYPE_DATETIME = 9; 6518*d5c09012SAndroid Build Coastguard Worker 6519*d5c09012SAndroid Build Coastguard Worker // Encoded as WKT 6520*d5c09012SAndroid Build Coastguard Worker TYPE_GEOGRAPHY = 10; 6521*d5c09012SAndroid Build Coastguard Worker 6522*d5c09012SAndroid Build Coastguard Worker // Encoded as a decimal string. 6523*d5c09012SAndroid Build Coastguard Worker TYPE_NUMERIC = 11; 6524*d5c09012SAndroid Build Coastguard Worker 6525*d5c09012SAndroid Build Coastguard Worker // Container of ordered fields, each with a type and field name. 6526*d5c09012SAndroid Build Coastguard Worker TYPE_RECORD = 12; 6527*d5c09012SAndroid Build Coastguard Worker 6528*d5c09012SAndroid Build Coastguard Worker // Decimal type. 6529*d5c09012SAndroid Build Coastguard Worker TYPE_BIGNUMERIC = 13; 6530*d5c09012SAndroid Build Coastguard Worker 6531*d5c09012SAndroid Build Coastguard Worker // Json type. 6532*d5c09012SAndroid Build Coastguard Worker TYPE_JSON = 14; 6533*d5c09012SAndroid Build Coastguard Worker } 6534*d5c09012SAndroid Build Coastguard Worker 6535*d5c09012SAndroid Build Coastguard Worker // The possible policy states for a column. 6536*d5c09012SAndroid Build Coastguard Worker enum ColumnPolicyState { 6537*d5c09012SAndroid Build Coastguard Worker // No policy tags. 6538*d5c09012SAndroid Build Coastguard Worker COLUMN_POLICY_STATE_UNSPECIFIED = 0; 6539*d5c09012SAndroid Build Coastguard Worker 6540*d5c09012SAndroid Build Coastguard Worker // Column has policy tag applied. 6541*d5c09012SAndroid Build Coastguard Worker COLUMN_POLICY_TAGGED = 1; 6542*d5c09012SAndroid Build Coastguard Worker } 6543*d5c09012SAndroid Build Coastguard Worker 6544*d5c09012SAndroid Build Coastguard Worker // The name of the profile. 6545*d5c09012SAndroid Build Coastguard Worker string name = 1; 6546*d5c09012SAndroid Build Coastguard Worker 6547*d5c09012SAndroid Build Coastguard Worker // Success or error status from the most recent profile generation attempt. 6548*d5c09012SAndroid Build Coastguard Worker // May be empty if the profile is still being generated. 6549*d5c09012SAndroid Build Coastguard Worker ProfileStatus profile_status = 17; 6550*d5c09012SAndroid Build Coastguard Worker 6551*d5c09012SAndroid Build Coastguard Worker // State of a profile. 6552*d5c09012SAndroid Build Coastguard Worker State state = 18; 6553*d5c09012SAndroid Build Coastguard Worker 6554*d5c09012SAndroid Build Coastguard Worker // The last time the profile was generated. 6555*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp profile_last_generated = 3; 6556*d5c09012SAndroid Build Coastguard Worker 6557*d5c09012SAndroid Build Coastguard Worker // The resource name of the table data profile. 6558*d5c09012SAndroid Build Coastguard Worker string table_data_profile = 4; 6559*d5c09012SAndroid Build Coastguard Worker 6560*d5c09012SAndroid Build Coastguard Worker // The resource name of the resource this column is within. 6561*d5c09012SAndroid Build Coastguard Worker string table_full_resource = 5; 6562*d5c09012SAndroid Build Coastguard Worker 6563*d5c09012SAndroid Build Coastguard Worker // The Google Cloud project ID that owns the profiled resource. 6564*d5c09012SAndroid Build Coastguard Worker string dataset_project_id = 19; 6565*d5c09012SAndroid Build Coastguard Worker 6566*d5c09012SAndroid Build Coastguard Worker // The BigQuery location where the dataset's data is stored. 6567*d5c09012SAndroid Build Coastguard Worker // See https://cloud.google.com/bigquery/docs/locations for supported 6568*d5c09012SAndroid Build Coastguard Worker // locations. 6569*d5c09012SAndroid Build Coastguard Worker string dataset_location = 20; 6570*d5c09012SAndroid Build Coastguard Worker 6571*d5c09012SAndroid Build Coastguard Worker // The BigQuery dataset ID. 6572*d5c09012SAndroid Build Coastguard Worker string dataset_id = 21; 6573*d5c09012SAndroid Build Coastguard Worker 6574*d5c09012SAndroid Build Coastguard Worker // The BigQuery table ID. 6575*d5c09012SAndroid Build Coastguard Worker string table_id = 22; 6576*d5c09012SAndroid Build Coastguard Worker 6577*d5c09012SAndroid Build Coastguard Worker // The name of the column. 6578*d5c09012SAndroid Build Coastguard Worker string column = 6; 6579*d5c09012SAndroid Build Coastguard Worker 6580*d5c09012SAndroid Build Coastguard Worker // The sensitivity of this column. 6581*d5c09012SAndroid Build Coastguard Worker SensitivityScore sensitivity_score = 7; 6582*d5c09012SAndroid Build Coastguard Worker 6583*d5c09012SAndroid Build Coastguard Worker // The data risk level for this column. 6584*d5c09012SAndroid Build Coastguard Worker DataRiskLevel data_risk_level = 8; 6585*d5c09012SAndroid Build Coastguard Worker 6586*d5c09012SAndroid Build Coastguard Worker // If it's been determined this column can be identified as a single type, 6587*d5c09012SAndroid Build Coastguard Worker // this will be set. Otherwise the column either has unidentifiable content 6588*d5c09012SAndroid Build Coastguard Worker // or mixed types. 6589*d5c09012SAndroid Build Coastguard Worker InfoTypeSummary column_info_type = 9; 6590*d5c09012SAndroid Build Coastguard Worker 6591*d5c09012SAndroid Build Coastguard Worker // Other types found within this column. List will be unordered. 6592*d5c09012SAndroid Build Coastguard Worker repeated OtherInfoTypeSummary other_matches = 10; 6593*d5c09012SAndroid Build Coastguard Worker 6594*d5c09012SAndroid Build Coastguard Worker // Approximate percentage of entries being null in the column. 6595*d5c09012SAndroid Build Coastguard Worker NullPercentageLevel estimated_null_percentage = 23; 6596*d5c09012SAndroid Build Coastguard Worker 6597*d5c09012SAndroid Build Coastguard Worker // Approximate uniqueness of the column. 6598*d5c09012SAndroid Build Coastguard Worker UniquenessScoreLevel estimated_uniqueness_score = 24; 6599*d5c09012SAndroid Build Coastguard Worker 6600*d5c09012SAndroid Build Coastguard Worker // The likelihood that this column contains free-form text. 6601*d5c09012SAndroid Build Coastguard Worker // A value close to 1 may indicate the column is likely to contain 6602*d5c09012SAndroid Build Coastguard Worker // free-form or natural language text. 6603*d5c09012SAndroid Build Coastguard Worker // Range in 0-1. 6604*d5c09012SAndroid Build Coastguard Worker double free_text_score = 13; 6605*d5c09012SAndroid Build Coastguard Worker 6606*d5c09012SAndroid Build Coastguard Worker // The data type of a given column. 6607*d5c09012SAndroid Build Coastguard Worker ColumnDataType column_type = 14; 6608*d5c09012SAndroid Build Coastguard Worker 6609*d5c09012SAndroid Build Coastguard Worker // Indicates if a policy tag has been applied to the column. 6610*d5c09012SAndroid Build Coastguard Worker ColumnPolicyState policy_state = 15; 6611*d5c09012SAndroid Build Coastguard Worker} 6612*d5c09012SAndroid Build Coastguard Worker 6613*d5c09012SAndroid Build Coastguard Worker// Request to get a project data profile. 6614*d5c09012SAndroid Build Coastguard Workermessage GetProjectDataProfileRequest { 6615*d5c09012SAndroid Build Coastguard Worker // Required. Resource name, for example 6616*d5c09012SAndroid Build Coastguard Worker // `organizations/12345/locations/us/projectDataProfiles/53234423`. 6617*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 6618*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 6619*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 6620*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/ProjectDataProfile" 6621*d5c09012SAndroid Build Coastguard Worker } 6622*d5c09012SAndroid Build Coastguard Worker ]; 6623*d5c09012SAndroid Build Coastguard Worker} 6624*d5c09012SAndroid Build Coastguard Worker 6625*d5c09012SAndroid Build Coastguard Worker// Request to get a table data profile. 6626*d5c09012SAndroid Build Coastguard Workermessage GetTableDataProfileRequest { 6627*d5c09012SAndroid Build Coastguard Worker // Required. Resource name, for example 6628*d5c09012SAndroid Build Coastguard Worker // `organizations/12345/locations/us/tableDataProfiles/53234423`. 6629*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 6630*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 6631*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 6632*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/TableDataProfile" 6633*d5c09012SAndroid Build Coastguard Worker } 6634*d5c09012SAndroid Build Coastguard Worker ]; 6635*d5c09012SAndroid Build Coastguard Worker} 6636*d5c09012SAndroid Build Coastguard Worker 6637*d5c09012SAndroid Build Coastguard Worker// Request to get a column data profile. 6638*d5c09012SAndroid Build Coastguard Workermessage GetColumnDataProfileRequest { 6639*d5c09012SAndroid Build Coastguard Worker // Required. Resource name, for example 6640*d5c09012SAndroid Build Coastguard Worker // `organizations/12345/locations/us/columnDataProfiles/53234423`. 6641*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 6642*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 6643*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 6644*d5c09012SAndroid Build Coastguard Worker type: "dlp.googleapis.com/ColumnDataProfile" 6645*d5c09012SAndroid Build Coastguard Worker } 6646*d5c09012SAndroid Build Coastguard Worker ]; 6647*d5c09012SAndroid Build Coastguard Worker} 6648*d5c09012SAndroid Build Coastguard Worker 6649*d5c09012SAndroid Build Coastguard Worker// A condition for determining whether a Pub/Sub should be triggered. 6650*d5c09012SAndroid Build Coastguard Workermessage DataProfilePubSubCondition { 6651*d5c09012SAndroid Build Coastguard Worker // Various score levels for resources. 6652*d5c09012SAndroid Build Coastguard Worker enum ProfileScoreBucket { 6653*d5c09012SAndroid Build Coastguard Worker // Unused. 6654*d5c09012SAndroid Build Coastguard Worker PROFILE_SCORE_BUCKET_UNSPECIFIED = 0; 6655*d5c09012SAndroid Build Coastguard Worker 6656*d5c09012SAndroid Build Coastguard Worker // High risk/sensitivity detected. 6657*d5c09012SAndroid Build Coastguard Worker HIGH = 1; 6658*d5c09012SAndroid Build Coastguard Worker 6659*d5c09012SAndroid Build Coastguard Worker // Medium or high risk/sensitivity detected. 6660*d5c09012SAndroid Build Coastguard Worker MEDIUM_OR_HIGH = 2; 6661*d5c09012SAndroid Build Coastguard Worker } 6662*d5c09012SAndroid Build Coastguard Worker 6663*d5c09012SAndroid Build Coastguard Worker // A condition consisting of a value. 6664*d5c09012SAndroid Build Coastguard Worker message PubSubCondition { 6665*d5c09012SAndroid Build Coastguard Worker // The value for the condition to trigger. 6666*d5c09012SAndroid Build Coastguard Worker oneof value { 6667*d5c09012SAndroid Build Coastguard Worker // The minimum data risk score that triggers the condition. 6668*d5c09012SAndroid Build Coastguard Worker ProfileScoreBucket minimum_risk_score = 1; 6669*d5c09012SAndroid Build Coastguard Worker 6670*d5c09012SAndroid Build Coastguard Worker // The minimum sensitivity level that triggers the condition. 6671*d5c09012SAndroid Build Coastguard Worker ProfileScoreBucket minimum_sensitivity_score = 2; 6672*d5c09012SAndroid Build Coastguard Worker } 6673*d5c09012SAndroid Build Coastguard Worker } 6674*d5c09012SAndroid Build Coastguard Worker 6675*d5c09012SAndroid Build Coastguard Worker // An expression, consisting of an operator and conditions. 6676*d5c09012SAndroid Build Coastguard Worker message PubSubExpressions { 6677*d5c09012SAndroid Build Coastguard Worker // Logical operators for conditional checks. 6678*d5c09012SAndroid Build Coastguard Worker enum PubSubLogicalOperator { 6679*d5c09012SAndroid Build Coastguard Worker // Unused. 6680*d5c09012SAndroid Build Coastguard Worker LOGICAL_OPERATOR_UNSPECIFIED = 0; 6681*d5c09012SAndroid Build Coastguard Worker 6682*d5c09012SAndroid Build Coastguard Worker // Conditional OR. 6683*d5c09012SAndroid Build Coastguard Worker OR = 1; 6684*d5c09012SAndroid Build Coastguard Worker 6685*d5c09012SAndroid Build Coastguard Worker // Conditional AND. 6686*d5c09012SAndroid Build Coastguard Worker AND = 2; 6687*d5c09012SAndroid Build Coastguard Worker } 6688*d5c09012SAndroid Build Coastguard Worker 6689*d5c09012SAndroid Build Coastguard Worker // The operator to apply to the collection of conditions. 6690*d5c09012SAndroid Build Coastguard Worker PubSubLogicalOperator logical_operator = 1; 6691*d5c09012SAndroid Build Coastguard Worker 6692*d5c09012SAndroid Build Coastguard Worker // Conditions to apply to the expression. 6693*d5c09012SAndroid Build Coastguard Worker repeated PubSubCondition conditions = 2; 6694*d5c09012SAndroid Build Coastguard Worker } 6695*d5c09012SAndroid Build Coastguard Worker 6696*d5c09012SAndroid Build Coastguard Worker // An expression. 6697*d5c09012SAndroid Build Coastguard Worker PubSubExpressions expressions = 1; 6698*d5c09012SAndroid Build Coastguard Worker} 6699*d5c09012SAndroid Build Coastguard Worker 6700*d5c09012SAndroid Build Coastguard Worker// Pub/Sub topic message for a DataProfileAction.PubSubNotification event. 6701*d5c09012SAndroid Build Coastguard Worker// To receive a message of protocol buffer schema type, convert the message data 6702*d5c09012SAndroid Build Coastguard Worker// to an object of this proto class. 6703*d5c09012SAndroid Build Coastguard Workermessage DataProfilePubSubMessage { 6704*d5c09012SAndroid Build Coastguard Worker // If `DetailLevel` is `TABLE_PROFILE` this will be fully populated. 6705*d5c09012SAndroid Build Coastguard Worker // Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only `name` and 6706*d5c09012SAndroid Build Coastguard Worker // `full_resource` will be populated. 6707*d5c09012SAndroid Build Coastguard Worker TableDataProfile profile = 1; 6708*d5c09012SAndroid Build Coastguard Worker 6709*d5c09012SAndroid Build Coastguard Worker // The event that caused the Pub/Sub message to be sent. 6710*d5c09012SAndroid Build Coastguard Worker DataProfileAction.EventType event = 2; 6711*d5c09012SAndroid Build Coastguard Worker} 6712*d5c09012SAndroid Build Coastguard Worker 6713*d5c09012SAndroid Build Coastguard Worker// Message used to identify the type of resource being profiled. 6714*d5c09012SAndroid Build Coastguard Workermessage DataSourceType { 6715*d5c09012SAndroid Build Coastguard Worker // Output only. An identifying string to the type of resource being profiled. 6716*d5c09012SAndroid Build Coastguard Worker // Current values: google/bigquery/table, google/project 6717*d5c09012SAndroid Build Coastguard Worker string data_source = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 6718*d5c09012SAndroid Build Coastguard Worker} 6719