xref: /aosp_15_r20/external/googleapis/google/cloud/securitycenter/v1/security_marks.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/resource.proto";
20
21option csharp_namespace = "Google.Cloud.SecurityCenter.V1";
22option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb";
23option java_multiple_files = true;
24option java_package = "com.google.cloud.securitycenter.v1";
25option php_namespace = "Google\\Cloud\\SecurityCenter\\V1";
26option ruby_package = "Google::Cloud::SecurityCenter::V1";
27
28// User specified security marks that are attached to the parent Security
29// Command Center resource. Security marks are scoped within a Security Command
30// Center organization -- they can be modified and viewed by all users who have
31// proper permissions on the organization.
32message SecurityMarks {
33  option (google.api.resource) = {
34    type: "securitycenter.googleapis.com/SecurityMarks"
35    pattern: "organizations/{organization}/assets/{asset}/securityMarks"
36    pattern: "organizations/{organization}/sources/{source}/findings/{finding}/securityMarks"
37    pattern: "folders/{folder}/assets/{asset}/securityMarks"
38    pattern: "projects/{project}/assets/{asset}/securityMarks"
39    pattern: "folders/{folder}/sources/{source}/findings/{finding}/securityMarks"
40    pattern: "projects/{project}/sources/{source}/findings/{finding}/securityMarks"
41  };
42
43  // The relative resource name of the SecurityMarks. See:
44  // https://cloud.google.com/apis/design/resource_names#relative_resource_name
45  // Examples:
46  // "organizations/{organization_id}/assets/{asset_id}/securityMarks"
47  // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
48  string name = 1;
49
50  // Mutable user specified security marks belonging to the parent resource.
51  // Constraints are as follows:
52  //
53  //   * Keys and values are treated as case insensitive
54  //   * Keys must be between 1 - 256 characters (inclusive)
55  //   * Keys must be letters, numbers, underscores, or dashes
56  //   * Values have leading and trailing whitespace trimmed, remaining
57  //     characters must be between 1 - 4096 characters (inclusive)
58  map<string, string> marks = 2;
59
60  // The canonical name of the marks.
61  // Examples:
62  // "organizations/{organization_id}/assets/{asset_id}/securityMarks"
63  // "folders/{folder_id}/assets/{asset_id}/securityMarks"
64  // "projects/{project_number}/assets/{asset_id}/securityMarks"
65  // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks"
66  // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks"
67  // "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
68  string canonical_name = 3;
69}
70