| // Copyright 2017 Google Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto3"; |
| |
| package google.privacy.dlp.v2beta1; |
| |
| import "google/api/annotations.proto"; |
| |
| option go_package = "google.golang.org/genproto/googleapis/privacy/dlp/v2beta1;dlp"; |
| option java_multiple_files = true; |
| option java_outer_classname = "DlpStorage"; |
| option java_package = "com.google.privacy.dlp.v2beta1"; |
| |
| |
| // Type of information detected by the API. |
| message InfoType { |
| // Name of the information type, provided by the API call ListInfoTypes. |
| string name = 1; |
| } |
| |
| // General identifier of a data field in a storage service. |
| message FieldId { |
| // Column name describing the field. |
| string column_name = 1; |
| } |
| |
| // Datastore partition ID. |
| // A partition ID identifies a grouping of entities. The grouping is always |
| // by project and namespace, however the namespace ID may be empty. |
| // |
| // A partition ID contains several dimensions: |
| // project ID and namespace ID. |
| message PartitionId { |
| // The ID of the project to which the entities belong. |
| string project_id = 2; |
| |
| // If not empty, the ID of the namespace to which the entities belong. |
| string namespace_id = 4; |
| } |
| |
| // A representation of a Datastore kind. |
| message KindExpression { |
| // The name of the kind. |
| string name = 1; |
| } |
| |
| // A reference to a property relative to the Datastore kind expressions. |
| message PropertyReference { |
| // The name of the property. |
| // If name includes "."s, it may be interpreted as a property name path. |
| string name = 2; |
| } |
| |
| // A representation of a Datastore property in a projection. |
| message Projection { |
| // The property to project. |
| PropertyReference property = 1; |
| } |
| |
| // Options defining a data set within Google Cloud Datastore. |
| message DatastoreOptions { |
| // A partition ID identifies a grouping of entities. The grouping is always |
| // by project and namespace, however the namespace ID may be empty. |
| PartitionId partition_id = 1; |
| |
| // The kind to process. |
| KindExpression kind = 2; |
| |
| // Properties to scan. If none are specified, all properties will be scanned |
| // by default. |
| repeated Projection projection = 3; |
| } |
| |
| // Options defining a file or a set of files (path ending with *) within |
| // a Google Cloud Storage bucket. |
| message CloudStorageOptions { |
| // Set of files to scan. |
| message FileSet { |
| // The url, in the format gs://<bucket>/<path>. Trailing wildcard in the |
| // path is allowed. |
| string url = 1; |
| } |
| |
| FileSet file_set = 1; |
| } |
| |
| // A location in Cloud Storage. |
| message CloudStoragePath { |
| // The url, in the format of gs://bucket/<path>. |
| string path = 1; |
| } |
| |
| // Shared message indicating Cloud storage type. |
| message StorageConfig { |
| oneof type { |
| // Google Cloud Datastore options specification. |
| DatastoreOptions datastore_options = 2; |
| |
| // Google Cloud Storage options specification. |
| CloudStorageOptions cloud_storage_options = 3; |
| } |
| } |
| |
| // Record key for a finding in a Cloud Storage file. |
| message CloudStorageKey { |
| // Path to the file. |
| string file_path = 1; |
| |
| // Byte offset of the referenced data in the file. |
| int64 start_offset = 2; |
| } |
| |
| // Record key for a finding in Cloud Datastore. |
| message DatastoreKey { |
| // Datastore entity key. |
| Key entity_key = 1; |
| } |
| |
| // A unique identifier for a Datastore entity. |
| // If a key's partition ID or any of its path kinds or names are |
| // reserved/read-only, the key is reserved/read-only. |
| // A reserved/read-only key is forbidden in certain documented contexts. |
| message Key { |
| // A (kind, ID/name) pair used to construct a key path. |
| // |
| // If either name or ID is set, the element is complete. |
| // If neither is set, the element is incomplete. |
| message PathElement { |
| // The kind of the entity. |
| // A kind matching regex `__.*__` is reserved/read-only. |
| // A kind must not contain more than 1500 bytes when UTF-8 encoded. |
| // Cannot be `""`. |
| string kind = 1; |
| |
| // The type of ID. |
| oneof id_type { |
| // The auto-allocated ID of the entity. |
| // Never equal to zero. Values less than zero are discouraged and may not |
| // be supported in the future. |
| int64 id = 2; |
| |
| // The name of the entity. |
| // A name matching regex `__.*__` is reserved/read-only. |
| // A name must not be more than 1500 bytes when UTF-8 encoded. |
| // Cannot be `""`. |
| string name = 3; |
| } |
| } |
| |
| // Entities are partitioned into subsets, currently identified by a project |
| // ID and namespace ID. |
| // Queries are scoped to a single partition. |
| PartitionId partition_id = 1; |
| |
| // The entity path. |
| // An entity path consists of one or more elements composed of a kind and a |
| // string or numerical identifier, which identify entities. The first |
| // element identifies a _root entity_, the second element identifies |
| // a _child_ of the root entity, the third element identifies a child of the |
| // second entity, and so forth. The entities identified by all prefixes of |
| // the path are called the element's _ancestors_. |
| // |
| // A path can never be empty, and a path can have at most 100 elements. |
| repeated PathElement path = 2; |
| } |
| |
| // Message for a unique key indicating a record that contains a finding. |
| message RecordKey { |
| oneof type { |
| CloudStorageKey cloud_storage_key = 1; |
| |
| DatastoreKey datastore_key = 2; |
| } |
| } |