xref: /aosp_15_r20/external/googleapis/google/cloud/securitycenter/v2/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.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