xref: /aosp_15_r20/external/googleapis/google/cloud/securitycenter/v1/bigquery_export.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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.v1;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/protobuf/timestamp.proto";
22
23option csharp_namespace = "Google.Cloud.SecurityCenter.V1";
24option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb";
25option java_multiple_files = true;
26option java_outer_classname = "BigQueryExportProto";
27option java_package = "com.google.cloud.securitycenter.v1";
28option php_namespace = "Google\\Cloud\\SecurityCenter\\V1";
29option ruby_package = "Google::Cloud::SecurityCenter::V1";
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}/bigQueryExports/{export}"
36    pattern: "folders/{folder}/bigQueryExports/{export}"
37    pattern: "projects/{project}/bigQueryExports/{export}"
38  };
39
40  // The relative resource name of this export. See:
41  // https://cloud.google.com/apis/design/resource_names#relative_resource_name.
42  // Example format:
43  // "organizations/{organization_id}/bigQueryExports/{export_id}" Example
44  // format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format:
45  // "projects/{project_id}/bigQueryExports/{export_id}"
46  // This field is provided in responses, and is ignored when provided in create
47  // requests.
48  string name = 1;
49
50  // The description of the export (max of 1024 characters).
51  string description = 2;
52
53  // Expression that defines the filter to apply across create/update events
54  // of findings. The expression is a list of zero or more restrictions combined
55  // via logical operators `AND` and `OR`. Parentheses are supported, and `OR`
56  // has higher precedence than `AND`.
57  //
58  // Restrictions have the form `<field> <operator> <value>` and may have a
59  // `-` character in front of them to indicate negation. The fields map to
60  // those defined in the corresponding resource.
61  //
62  // The supported operators are:
63  //
64  // * `=` for all value types.
65  // * `>`, `<`, `>=`, `<=` for integer values.
66  // * `:`, meaning substring matching, for strings.
67  //
68  // The supported value types are:
69  //
70  // * string literals in quotes.
71  // * integer literals without quotes.
72  // * boolean literals `true` and `false` without quotes.
73  string filter = 3;
74
75  // The dataset to write findings' updates to. Its format is
76  // "projects/[project_id]/datasets/[bigquery_dataset_id]".
77  // BigQuery Dataset unique ID  must contain only letters (a-z, A-Z), numbers
78  // (0-9), or underscores (_).
79  string dataset = 4;
80
81  // Output only. The time at which the BigQuery export was created.
82  // This field is set by the server and will be ignored if provided on export
83  // on creation.
84  google.protobuf.Timestamp create_time = 5
85      [(google.api.field_behavior) = OUTPUT_ONLY];
86
87  // Output only. The most recent time at which the BigQuery export was updated.
88  // This field is set by the server and will be ignored if provided on export
89  // creation or update.
90  google.protobuf.Timestamp update_time = 6
91      [(google.api.field_behavior) = OUTPUT_ONLY];
92
93  // Output only. Email address of the user who last edited the BigQuery export.
94  // This field is set by the server and will be ignored if provided on export
95  // creation or update.
96  string most_recent_editor = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
97
98  // Output only. The service account that needs permission to create table and
99  // upload data to the BigQuery dataset.
100  string principal = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
101}
102