xref: /aosp_15_r20/external/googleapis/google/cloud/securitycenter/v2/process.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/cloud/securitycenter/v2/file.proto";
20
21option csharp_namespace = "Google.Cloud.SecurityCenter.V2";
22option go_package = "cloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb";
23option java_multiple_files = true;
24option java_outer_classname = "ProcessProto";
25option java_package = "com.google.cloud.securitycenter.v2";
26option php_namespace = "Google\\Cloud\\SecurityCenter\\V2";
27option ruby_package = "Google::Cloud::SecurityCenter::V2";
28
29// Represents an operating system process.
30message Process {
31  // The process name, as displayed in utilities like `top` and `ps`. This name
32  // can be accessed through `/proc/[pid]/comm` and changed with
33  // `prctl(PR_SET_NAME)`.
34  string name = 1;
35
36  // File information for the process executable.
37  File binary = 2;
38
39  // File information for libraries loaded by the process.
40  repeated File libraries = 3;
41
42  // When the process represents the invocation of a script, `binary` provides
43  // information about the interpreter, while `script` provides information
44  // about the script file provided to the interpreter.
45  File script = 4;
46
47  // Process arguments as JSON encoded strings.
48  repeated string args = 5;
49
50  // True if `args` is incomplete.
51  bool arguments_truncated = 6;
52
53  // Process environment variables.
54  repeated EnvironmentVariable env_variables = 7;
55
56  // True if `env_variables` is incomplete.
57  bool env_variables_truncated = 8;
58
59  // The process ID.
60  int64 pid = 9;
61
62  // The parent process ID.
63  int64 parent_pid = 10;
64}
65
66// A name-value pair representing an environment variable used in an operating
67// system process.
68message EnvironmentVariable {
69  // Environment variable name as a JSON encoded string.
70  string name = 1;
71
72  // Environment variable value as a JSON encoded string.
73  string val = 2;
74}
75