1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.securitycenter.v2; 18 19import "google/api/field_behavior.proto"; 20import "google/api/resource.proto"; 21import "google/protobuf/timestamp.proto"; 22 23option csharp_namespace = "Google.Cloud.SecurityCenter.V2"; 24option go_package = "cloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb"; 25option java_multiple_files = true; 26option java_outer_classname = "BigQueryExportProto"; 27option java_package = "com.google.cloud.securitycenter.v2"; 28option php_namespace = "Google\\Cloud\\SecurityCenter\\V2"; 29option ruby_package = "Google::Cloud::SecurityCenter::V2"; 30 31// Configures how to deliver Findings to BigQuery Instance. 32message BigQueryExport { 33 option (google.api.resource) = { 34 type: "securitycenter.googleapis.com/BigQueryExport" 35 pattern: "organizations/{organization}/locations/{location}/bigQueryExports/{export}" 36 pattern: "folders/{folder}/locations/{location}/bigQueryExports/{export}" 37 pattern: "projects/{project}/locations/{location}/bigQueryExports/{export}" 38 plural: "bigQueryExports" 39 singular: "bigQueryExport" 40 }; 41 42 // The relative resource name of this export. See: 43 // https://cloud.google.com/apis/design/resource_names#relative_resource_name. 44 // The following list shows some examples: 45 // 46 // + 47 // `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` 48 // + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` 49 // + 50 // `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` 51 // 52 // This field is provided in responses, and is ignored when provided in create 53 // requests. 54 string name = 1; 55 56 // The description of the export (max of 1024 characters). 57 string description = 2; 58 59 // Expression that defines the filter to apply across create/update events 60 // of findings. The expression is a list of zero or more restrictions combined 61 // via logical operators `AND` and `OR`. Parentheses are supported, and `OR` 62 // has higher precedence than `AND`. 63 // 64 // Restrictions have the form `<field> <operator> <value>` and may have a 65 // `-` character in front of them to indicate negation. The fields map to 66 // those defined in the corresponding resource. 67 // 68 // The supported operators are: 69 // 70 // * `=` for all value types. 71 // * `>`, `<`, `>=`, `<=` for integer values. 72 // * `:`, meaning substring matching, for strings. 73 // 74 // The supported value types are: 75 // 76 // * string literals in quotes. 77 // * integer literals without quotes. 78 // * boolean literals `true` and `false` without quotes. 79 string filter = 3; 80 81 // The dataset to write findings' updates to. Its format is 82 // "projects/[project_id]/datasets/[bigquery_dataset_id]". 83 // BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers 84 // (0-9), or underscores (_). 85 string dataset = 4; 86 87 // Output only. The time at which the BigQuery export was created. 88 // This field is set by the server and will be ignored if provided on export 89 // on creation. 90 google.protobuf.Timestamp create_time = 5 91 [(google.api.field_behavior) = OUTPUT_ONLY]; 92 93 // Output only. The most recent time at which the BigQuery export was updated. 94 // This field is set by the server and will be ignored if provided on export 95 // creation or update. 96 google.protobuf.Timestamp update_time = 6 97 [(google.api.field_behavior) = OUTPUT_ONLY]; 98 99 // Output only. Email address of the user who last edited the BigQuery export. 100 // This field is set by the server and will be ignored if provided on export 101 // creation or update. 102 string most_recent_editor = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 103 104 // Output only. The service account that needs permission to create table and 105 // upload data to the BigQuery dataset. 106 string principal = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; 107} 108