google-cloud-security_center 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/google/cloud/security_center/v1p1beta1.rb +149 -0
- data/lib/google/cloud/security_center/v1p1beta1/asset_pb.rb +41 -0
- data/lib/google/cloud/security_center/v1p1beta1/credentials.rb +41 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/cloud/securitycenter/v1p1beta1/asset.rb +105 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/cloud/securitycenter/v1p1beta1/finding.rb +96 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/cloud/securitycenter/v1p1beta1/notification_config.rb +87 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/cloud/securitycenter/v1p1beta1/organization_settings.rb +72 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/cloud/securitycenter/v1p1beta1/security_marks.rb +45 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/cloud/securitycenter/v1p1beta1/securitycenter_service.rb +923 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/cloud/securitycenter/v1p1beta1/source.rb +49 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/iam/v1/iam_policy.rb +64 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/iam/v1/options.rb +33 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/iam/v1/policy.rb +151 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/longrunning/operations.rb +51 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/protobuf/any.rb +131 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/protobuf/duration.rb +91 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/protobuf/empty.rb +29 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/protobuf/field_mask.rb +222 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/protobuf/struct.rb +74 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/protobuf/timestamp.rb +113 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/rpc/status.rb +39 -0
- data/lib/google/cloud/security_center/v1p1beta1/doc/google/type/expr.rb +45 -0
- data/lib/google/cloud/security_center/v1p1beta1/finding_pb.rb +36 -0
- data/lib/google/cloud/security_center/v1p1beta1/helpers.rb +71 -0
- data/lib/google/cloud/security_center/v1p1beta1/notification_config_pb.rb +34 -0
- data/lib/google/cloud/security_center/v1p1beta1/notification_message_pb.rb +21 -0
- data/lib/google/cloud/security_center/v1p1beta1/organization_settings_pb.rb +30 -0
- data/lib/google/cloud/security_center/v1p1beta1/run_asset_discovery_response_pb.rb +25 -0
- data/lib/google/cloud/security_center/v1p1beta1/security_center_client.rb +2090 -0
- data/lib/google/cloud/security_center/v1p1beta1/security_center_client_config.json +141 -0
- data/lib/google/cloud/security_center/v1p1beta1/security_marks_pb.rb +18 -0
- data/lib/google/cloud/security_center/v1p1beta1/securitycenter_service_pb.rb +234 -0
- data/lib/google/cloud/security_center/v1p1beta1/securitycenter_service_services_pb.rb +103 -0
- data/lib/google/cloud/security_center/v1p1beta1/source_pb.rb +19 -0
- data/lib/google/cloud/security_center/version.rb +1 -1
- metadata +36 -2
@@ -0,0 +1,87 @@
|
|
1
|
+
# Copyright 2020 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
|
+
# https://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
|
+
|
15
|
+
|
16
|
+
module Google
|
17
|
+
module Cloud
|
18
|
+
module Securitycenter
|
19
|
+
module V1p1beta1
|
20
|
+
# Cloud Security Command Center (Cloud SCC) notification configs.
|
21
|
+
#
|
22
|
+
# A notification config is a Cloud SCC resource that contains the configuration
|
23
|
+
# to send notifications for create/update events of findings, assets and etc.
|
24
|
+
# @!attribute [rw] name
|
25
|
+
# @return [String]
|
26
|
+
# The relative resource name of this notification config. See:
|
27
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
28
|
+
# Example:
|
29
|
+
# "organizations/{organization_id}/notificationConfigs/notify_public_bucket".
|
30
|
+
# @!attribute [rw] description
|
31
|
+
# @return [String]
|
32
|
+
# The description of the notification config (max of 1024 characters).
|
33
|
+
# @!attribute [rw] event_type
|
34
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig::EventType]
|
35
|
+
# The type of events the config is for, e.g. FINDING.
|
36
|
+
# @!attribute [rw] pubsub_topic
|
37
|
+
# @return [String]
|
38
|
+
# The PubSub topic to send notifications to. Its format is
|
39
|
+
# "projects/[project_id]/topics/[topic]".
|
40
|
+
# @!attribute [rw] service_account
|
41
|
+
# @return [String]
|
42
|
+
# Output only. The service account that needs "pubsub.topics.publish"
|
43
|
+
# permission to publish to the PubSub topic.
|
44
|
+
# @!attribute [rw] streaming_config
|
45
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig::StreamingConfig]
|
46
|
+
# The config for triggering streaming-based notifications.
|
47
|
+
class NotificationConfig
|
48
|
+
# The config for streaming-based notifications, which send each event as soon
|
49
|
+
# as it is detected.
|
50
|
+
# @!attribute [rw] filter
|
51
|
+
# @return [String]
|
52
|
+
# Expression that defines the filter to apply across create/update events
|
53
|
+
# of assets or findings as specified by the event type. The expression is a
|
54
|
+
# list of zero or more restrictions combined via logical operators `AND`
|
55
|
+
# and `OR`. Parentheses are supported, and `OR` has higher precedence than
|
56
|
+
# `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
|
+
class StreamingConfig; end
|
74
|
+
|
75
|
+
# The type of events.
|
76
|
+
module EventType
|
77
|
+
# Unspecified event type.
|
78
|
+
EVENT_TYPE_UNSPECIFIED = 0
|
79
|
+
|
80
|
+
# Events for findings.
|
81
|
+
FINDING = 1
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# Copyright 2020 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
|
+
# https://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
|
+
|
15
|
+
|
16
|
+
module Google
|
17
|
+
module Cloud
|
18
|
+
module Securitycenter
|
19
|
+
module V1p1beta1
|
20
|
+
# User specified settings that are attached to the Cloud Security Command
|
21
|
+
# Center (Cloud SCC) organization.
|
22
|
+
# @!attribute [rw] name
|
23
|
+
# @return [String]
|
24
|
+
# The relative resource name of the settings. See:
|
25
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
26
|
+
# Example:
|
27
|
+
# "organizations/{organization_id}/organizationSettings".
|
28
|
+
# @!attribute [rw] enable_asset_discovery
|
29
|
+
# @return [true, false]
|
30
|
+
# A flag that indicates if Asset Discovery should be enabled. If the flag is
|
31
|
+
# set to `true`, then discovery of assets will occur. If it is set to `false,
|
32
|
+
# all historical assets will remain, but discovery of future assets will not
|
33
|
+
# occur.
|
34
|
+
# @!attribute [rw] asset_discovery_config
|
35
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings::AssetDiscoveryConfig]
|
36
|
+
# The configuration used for Asset Discovery runs.
|
37
|
+
class OrganizationSettings
|
38
|
+
# The configuration used for Asset Discovery runs.
|
39
|
+
# @!attribute [rw] project_ids
|
40
|
+
# @return [Array<String>]
|
41
|
+
# The project ids to use for filtering asset discovery.
|
42
|
+
# @!attribute [rw] inclusion_mode
|
43
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings::AssetDiscoveryConfig::InclusionMode]
|
44
|
+
# The mode to use for filtering asset discovery.
|
45
|
+
class AssetDiscoveryConfig
|
46
|
+
# The mode of inclusion when running Asset Discovery.
|
47
|
+
# Asset discovery can be limited by explicitly identifying projects to be
|
48
|
+
# included or excluded. If INCLUDE_ONLY is set, then only those projects
|
49
|
+
# within the organization and their children are discovered during asset
|
50
|
+
# discovery. If EXCLUDE is set, then projects that don't match those
|
51
|
+
# projects are discovered during asset discovery. If neither are set, then
|
52
|
+
# all projects within the organization are discovered during asset
|
53
|
+
# discovery.
|
54
|
+
module InclusionMode
|
55
|
+
# Unspecified. Setting the mode with this value will disable
|
56
|
+
# inclusion/exclusion filtering for Asset Discovery.
|
57
|
+
INCLUSION_MODE_UNSPECIFIED = 0
|
58
|
+
|
59
|
+
# Asset Discovery will capture only the resources within the projects
|
60
|
+
# specified. All other resources will be ignored.
|
61
|
+
INCLUDE_ONLY = 1
|
62
|
+
|
63
|
+
# Asset Discovery will ignore all resources under the projects specified.
|
64
|
+
# All other resources will be retrieved.
|
65
|
+
EXCLUDE = 2
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Copyright 2020 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
|
+
# https://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
|
+
|
15
|
+
|
16
|
+
module Google
|
17
|
+
module Cloud
|
18
|
+
module Securitycenter
|
19
|
+
module V1p1beta1
|
20
|
+
# User specified security marks that are attached to the parent Cloud Security
|
21
|
+
# Command Center (Cloud SCC) resource. Security marks are scoped within a Cloud
|
22
|
+
# SCC organization -- they can be modified and viewed by all users who have
|
23
|
+
# proper permissions on the organization.
|
24
|
+
# @!attribute [rw] name
|
25
|
+
# @return [String]
|
26
|
+
# The relative resource name of the SecurityMarks. See:
|
27
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
28
|
+
# Examples:
|
29
|
+
# "organizations/{organization_id}/assets/{asset_id}/securityMarks"
|
30
|
+
# "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
|
31
|
+
# @!attribute [rw] marks
|
32
|
+
# @return [Hash{String => String}]
|
33
|
+
# Mutable user specified security marks belonging to the parent resource.
|
34
|
+
# Constraints are as follows:
|
35
|
+
#
|
36
|
+
# * Keys and values are treated as case insensitive
|
37
|
+
# * Keys must be between 1 - 256 characters (inclusive)
|
38
|
+
# * Keys must be letters, numbers, underscores, or dashes
|
39
|
+
# * Values have leading and trailing whitespace trimmed, remaining
|
40
|
+
# characters must be between 1 - 4096 characters (inclusive)
|
41
|
+
class SecurityMarks; end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,923 @@
|
|
1
|
+
# Copyright 2020 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
|
+
# https://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
|
+
|
15
|
+
|
16
|
+
module Google
|
17
|
+
module Cloud
|
18
|
+
module Securitycenter
|
19
|
+
module V1p1beta1
|
20
|
+
# Request message for creating a finding.
|
21
|
+
# @!attribute [rw] parent
|
22
|
+
# @return [String]
|
23
|
+
# Required. Resource name of the new finding's parent. Its format should be
|
24
|
+
# "organizations/[organization_id]/sources/[source_id]".
|
25
|
+
# @!attribute [rw] finding_id
|
26
|
+
# @return [String]
|
27
|
+
# Required. Unique identifier provided by the client within the parent scope.
|
28
|
+
# It must be alphanumeric and less than or equal to 32 characters and
|
29
|
+
# greater than 0 characters in length.
|
30
|
+
# @!attribute [rw] finding
|
31
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding]
|
32
|
+
# Required. The Finding being created. The name and security_marks will be
|
33
|
+
# ignored as they are both output only fields on this resource.
|
34
|
+
class CreateFindingRequest; end
|
35
|
+
|
36
|
+
# Request message for creating a notification config.
|
37
|
+
# @!attribute [rw] parent
|
38
|
+
# @return [String]
|
39
|
+
# Required. Resource name of the new notification config's parent. Its format
|
40
|
+
# is "organizations/[organization_id]".
|
41
|
+
# @!attribute [rw] config_id
|
42
|
+
# @return [String]
|
43
|
+
# Required.
|
44
|
+
# Unique identifier provided by the client within the parent scope.
|
45
|
+
# It must be between 1 and 128 characters, and contains alphanumeric
|
46
|
+
# characters, underscores or hyphens only.
|
47
|
+
# @!attribute [rw] notification_config
|
48
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig]
|
49
|
+
# Required. The notification config being created. The name and the service
|
50
|
+
# account will be ignored as they are both output only fields on this
|
51
|
+
# resource.
|
52
|
+
class CreateNotificationConfigRequest; end
|
53
|
+
|
54
|
+
# Request message for creating a source.
|
55
|
+
# @!attribute [rw] parent
|
56
|
+
# @return [String]
|
57
|
+
# Required. Resource name of the new source's parent. Its format should be
|
58
|
+
# "organizations/[organization_id]".
|
59
|
+
# @!attribute [rw] source
|
60
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::Source]
|
61
|
+
# Required. The Source being created, only the display_name and description
|
62
|
+
# will be used. All other fields will be ignored.
|
63
|
+
class CreateSourceRequest; end
|
64
|
+
|
65
|
+
# Request message for deleting a notification config.
|
66
|
+
# @!attribute [rw] name
|
67
|
+
# @return [String]
|
68
|
+
# Required. Name of the notification config to delete. Its format is
|
69
|
+
# "organizations/[organization_id]/notificationConfigs/[config_id]".
|
70
|
+
class DeleteNotificationConfigRequest; end
|
71
|
+
|
72
|
+
# Request message for getting a notification config.
|
73
|
+
# @!attribute [rw] name
|
74
|
+
# @return [String]
|
75
|
+
# Required. Name of the notification config to get. Its format is
|
76
|
+
# "organizations/[organization_id]/notificationConfigs/[config_id]".
|
77
|
+
class GetNotificationConfigRequest; end
|
78
|
+
|
79
|
+
# Request message for getting organization settings.
|
80
|
+
# @!attribute [rw] name
|
81
|
+
# @return [String]
|
82
|
+
# Required. Name of the organization to get organization settings for. Its
|
83
|
+
# format is "organizations/[organization_id]/organizationSettings".
|
84
|
+
class GetOrganizationSettingsRequest; end
|
85
|
+
|
86
|
+
# Request message for getting a source.
|
87
|
+
# @!attribute [rw] name
|
88
|
+
# @return [String]
|
89
|
+
# Required. Relative resource name of the source. Its format is
|
90
|
+
# "organizations/[organization_id]/source/[source_id]".
|
91
|
+
class GetSourceRequest; end
|
92
|
+
|
93
|
+
# Request message for grouping by assets.
|
94
|
+
# @!attribute [rw] parent
|
95
|
+
# @return [String]
|
96
|
+
# Required. Name of the organization to groupBy. Its format is
|
97
|
+
# "organizations/[organization_id]".
|
98
|
+
# @!attribute [rw] filter
|
99
|
+
# @return [String]
|
100
|
+
# Expression that defines the filter to apply across assets.
|
101
|
+
# The expression is a list of zero or more restrictions combined via logical
|
102
|
+
# operators `AND` and `OR`.
|
103
|
+
# Parentheses are supported, and `OR` has higher precedence than `AND`.
|
104
|
+
#
|
105
|
+
# Restrictions have the form `<field> <operator> <value>` and may have a `-`
|
106
|
+
# character in front of them to indicate negation. The fields map to those
|
107
|
+
# defined in the Asset resource. Examples include:
|
108
|
+
#
|
109
|
+
# * name
|
110
|
+
# * security_center_properties.resource_name
|
111
|
+
# * resource_properties.a_property
|
112
|
+
# * security_marks.marks.marka
|
113
|
+
#
|
114
|
+
# The supported operators are:
|
115
|
+
#
|
116
|
+
# * `=` for all value types.
|
117
|
+
# * `>`, `<`, `>=`, `<=` for integer values.
|
118
|
+
# * `:`, meaning substring matching, for strings.
|
119
|
+
#
|
120
|
+
# The supported value types are:
|
121
|
+
#
|
122
|
+
# * string literals in quotes.
|
123
|
+
# * integer literals without quotes.
|
124
|
+
# * boolean literals `true` and `false` without quotes.
|
125
|
+
#
|
126
|
+
# The following field and operator combinations are supported:
|
127
|
+
#
|
128
|
+
# * name: `=`
|
129
|
+
# * update_time: `=`, `>`, `<`, `>=`, `<=`
|
130
|
+
#
|
131
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
132
|
+
# Examples:
|
133
|
+
# "update_time = \"2019-06-10T16:07:18-07:00\""
|
134
|
+
# "update_time = 1560208038000"
|
135
|
+
#
|
136
|
+
# * create_time: `=`, `>`, `<`, `>=`, `<=`
|
137
|
+
#
|
138
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
139
|
+
# Examples:
|
140
|
+
# "create_time = \"2019-06-10T16:07:18-07:00\""
|
141
|
+
# "create_time = 1560208038000"
|
142
|
+
#
|
143
|
+
# * iam_policy.policy_blob: `=`, `:`
|
144
|
+
# * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
|
145
|
+
# * security_marks.marks: `=`, `:`
|
146
|
+
# * security_center_properties.resource_name: `=`, `:`
|
147
|
+
# * security_center_properties.resource_name_display_name: `=`, `:`
|
148
|
+
# * security_center_properties.resource_type: `=`, `:`
|
149
|
+
# * security_center_properties.resource_parent: `=`, `:`
|
150
|
+
# * security_center_properties.resource_parent_display_name: `=`, `:`
|
151
|
+
# * security_center_properties.resource_project: `=`, `:`
|
152
|
+
# * security_center_properties.resource_project_display_name: `=`, `:`
|
153
|
+
# * security_center_properties.resource_owners: `=`, `:`
|
154
|
+
#
|
155
|
+
# For example, `resource_properties.size = 100` is a valid filter string.
|
156
|
+
# @!attribute [rw] group_by
|
157
|
+
# @return [String]
|
158
|
+
# Required. Expression that defines what assets fields to use for grouping.
|
159
|
+
# The string value should follow SQL syntax: comma separated list of fields.
|
160
|
+
# For example:
|
161
|
+
# "security_center_properties.resource_project,security_center_properties.project".
|
162
|
+
#
|
163
|
+
# The following fields are supported when compare_duration is not set:
|
164
|
+
#
|
165
|
+
# * security_center_properties.resource_project
|
166
|
+
# * security_center_properties.resource_project_display_name
|
167
|
+
# * security_center_properties.resource_type
|
168
|
+
# * security_center_properties.resource_parent
|
169
|
+
# * security_center_properties.resource_parent_display_name
|
170
|
+
#
|
171
|
+
# The following fields are supported when compare_duration is set:
|
172
|
+
#
|
173
|
+
# * security_center_properties.resource_type
|
174
|
+
# * security_center_properties.resource_project_display_name
|
175
|
+
# * security_center_properties.resource_parent_display_name
|
176
|
+
# @!attribute [rw] compare_duration
|
177
|
+
# @return [Google::Protobuf::Duration]
|
178
|
+
# When compare_duration is set, the GroupResult's "state_change" property is
|
179
|
+
# updated to indicate whether the asset was added, removed, or remained
|
180
|
+
# present during the compare_duration period of time that precedes the
|
181
|
+
# read_time. This is the time between (read_time - compare_duration) and
|
182
|
+
# read_time.
|
183
|
+
#
|
184
|
+
# The state change value is derived based on the presence of the asset at the
|
185
|
+
# two points in time. Intermediate state changes between the two times don't
|
186
|
+
# affect the result. For example, the results aren't affected if the asset is
|
187
|
+
# removed and re-created again.
|
188
|
+
#
|
189
|
+
# Possible "state_change" values when compare_duration is specified:
|
190
|
+
#
|
191
|
+
# * "ADDED": indicates that the asset was not present at the start of
|
192
|
+
# compare_duration, but present at reference_time.
|
193
|
+
# * "REMOVED": indicates that the asset was present at the start of
|
194
|
+
# compare_duration, but not present at reference_time.
|
195
|
+
# * "ACTIVE": indicates that the asset was present at both the
|
196
|
+
# start and the end of the time period defined by
|
197
|
+
# compare_duration and reference_time.
|
198
|
+
#
|
199
|
+
# If compare_duration is not specified, then the only possible state_change
|
200
|
+
# is "UNUSED", which will be the state_change set for all assets present at
|
201
|
+
# read_time.
|
202
|
+
#
|
203
|
+
# If this field is set then `state_change` must be a specified field in
|
204
|
+
# `group_by`.
|
205
|
+
# @!attribute [rw] read_time
|
206
|
+
# @return [Google::Protobuf::Timestamp]
|
207
|
+
# Time used as a reference point when filtering assets. The filter is limited
|
208
|
+
# to assets existing at the supplied time and their values are those at that
|
209
|
+
# specific time. Absence of this field will default to the API's version of
|
210
|
+
# NOW.
|
211
|
+
# @!attribute [rw] having
|
212
|
+
# @return [String]
|
213
|
+
# Filter that specifies what fields to further filter on *after* the query
|
214
|
+
# filter has been executed. Currently only `state_change` is supported and
|
215
|
+
# requires compare_duration to be specified.
|
216
|
+
# @!attribute [rw] page_token
|
217
|
+
# @return [String]
|
218
|
+
# The value returned by the last `GroupAssetsResponse`; indicates
|
219
|
+
# that this is a continuation of a prior `GroupAssets` call, and that the
|
220
|
+
# system should return the next page of data.
|
221
|
+
# @!attribute [rw] page_size
|
222
|
+
# @return [Integer]
|
223
|
+
# The maximum number of results to return in a single response. Default is
|
224
|
+
# 10, minimum is 1, maximum is 1000.
|
225
|
+
class GroupAssetsRequest; end
|
226
|
+
|
227
|
+
# Response message for grouping by assets.
|
228
|
+
# @!attribute [rw] group_by_results
|
229
|
+
# @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::GroupResult>]
|
230
|
+
# Group results. There exists an element for each existing unique
|
231
|
+
# combination of property/values. The element contains a count for the number
|
232
|
+
# of times those specific property/values appear.
|
233
|
+
# @!attribute [rw] read_time
|
234
|
+
# @return [Google::Protobuf::Timestamp]
|
235
|
+
# Time used for executing the groupBy request.
|
236
|
+
# @!attribute [rw] next_page_token
|
237
|
+
# @return [String]
|
238
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
239
|
+
# results.
|
240
|
+
# @!attribute [rw] total_size
|
241
|
+
# @return [Integer]
|
242
|
+
# The total number of results matching the query.
|
243
|
+
class GroupAssetsResponse; end
|
244
|
+
|
245
|
+
# Request message for grouping by findings.
|
246
|
+
# @!attribute [rw] parent
|
247
|
+
# @return [String]
|
248
|
+
# Required. Name of the source to groupBy. Its format is
|
249
|
+
# "organizations/[organization_id]/sources/[source_id]". To groupBy across
|
250
|
+
# all sources provide a source_id of `-`. For example:
|
251
|
+
# organizations/{organization_id}/sources/-
|
252
|
+
# @!attribute [rw] filter
|
253
|
+
# @return [String]
|
254
|
+
# Expression that defines the filter to apply across findings.
|
255
|
+
# The expression is a list of one or more restrictions combined via logical
|
256
|
+
# operators `AND` and `OR`.
|
257
|
+
# Parentheses are supported, and `OR` has higher precedence than `AND`.
|
258
|
+
#
|
259
|
+
# Restrictions have the form `<field> <operator> <value>` and may have a `-`
|
260
|
+
# character in front of them to indicate negation. Examples include:
|
261
|
+
#
|
262
|
+
# * name
|
263
|
+
# * source_properties.a_property
|
264
|
+
# * security_marks.marks.marka
|
265
|
+
#
|
266
|
+
# The supported operators are:
|
267
|
+
#
|
268
|
+
# * `=` for all value types.
|
269
|
+
# * `>`, `<`, `>=`, `<=` for integer values.
|
270
|
+
# * `:`, meaning substring matching, for strings.
|
271
|
+
#
|
272
|
+
# The supported value types are:
|
273
|
+
#
|
274
|
+
# * string literals in quotes.
|
275
|
+
# * integer literals without quotes.
|
276
|
+
# * boolean literals `true` and `false` without quotes.
|
277
|
+
#
|
278
|
+
# The following field and operator combinations are supported:
|
279
|
+
#
|
280
|
+
# * name: `=`
|
281
|
+
# * parent: `=`, `:`
|
282
|
+
# * resource_name: `=`, `:`
|
283
|
+
# * state: `=`, `:`
|
284
|
+
# * category: `=`, `:`
|
285
|
+
# * external_uri: `=`, `:`
|
286
|
+
# * event_time: `=`, `>`, `<`, `>=`, `<=`
|
287
|
+
#
|
288
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
289
|
+
# Examples:
|
290
|
+
# "event_time = \"2019-06-10T16:07:18-07:00\""
|
291
|
+
# "event_time = 1560208038000"
|
292
|
+
#
|
293
|
+
# * security_marks.marks: `=`, `:`
|
294
|
+
# * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
|
295
|
+
#
|
296
|
+
# For example, `source_properties.size = 100` is a valid filter string.
|
297
|
+
# @!attribute [rw] group_by
|
298
|
+
# @return [String]
|
299
|
+
# Required. Expression that defines what assets fields to use for grouping
|
300
|
+
# (including `state_change`). The string value should follow SQL syntax:
|
301
|
+
# comma separated list of fields. For example: "parent,resource_name".
|
302
|
+
#
|
303
|
+
# The following fields are supported:
|
304
|
+
#
|
305
|
+
# * resource_name
|
306
|
+
# * category
|
307
|
+
# * state
|
308
|
+
# * parent
|
309
|
+
#
|
310
|
+
# The following fields are supported when compare_duration is set:
|
311
|
+
#
|
312
|
+
# * state_change
|
313
|
+
# @!attribute [rw] read_time
|
314
|
+
# @return [Google::Protobuf::Timestamp]
|
315
|
+
# Time used as a reference point when filtering findings. The filter is
|
316
|
+
# limited to findings existing at the supplied time and their values are
|
317
|
+
# those at that specific time. Absence of this field will default to the
|
318
|
+
# API's version of NOW.
|
319
|
+
# @!attribute [rw] compare_duration
|
320
|
+
# @return [Google::Protobuf::Duration]
|
321
|
+
# When compare_duration is set, the GroupResult's "state_change" attribute is
|
322
|
+
# updated to indicate whether the finding had its state changed, the
|
323
|
+
# finding's state remained unchanged, or if the finding was added during the
|
324
|
+
# compare_duration period of time that precedes the read_time. This is the
|
325
|
+
# time between (read_time - compare_duration) and read_time.
|
326
|
+
#
|
327
|
+
# The state_change value is derived based on the presence and state of the
|
328
|
+
# finding at the two points in time. Intermediate state changes between the
|
329
|
+
# two times don't affect the result. For example, the results aren't affected
|
330
|
+
# if the finding is made inactive and then active again.
|
331
|
+
#
|
332
|
+
# Possible "state_change" values when compare_duration is specified:
|
333
|
+
#
|
334
|
+
# * "CHANGED": indicates that the finding was present at the start of
|
335
|
+
# compare_duration, but changed its state at read_time.
|
336
|
+
# * "UNCHANGED": indicates that the finding was present at the start of
|
337
|
+
# compare_duration and did not change state at read_time.
|
338
|
+
# * "ADDED": indicates that the finding was not present at the start
|
339
|
+
# of compare_duration, but was present at read_time.
|
340
|
+
#
|
341
|
+
# If compare_duration is not specified, then the only possible state_change
|
342
|
+
# is "UNUSED", which will be the state_change set for all findings present
|
343
|
+
# at read_time.
|
344
|
+
#
|
345
|
+
# If this field is set then `state_change` must be a specified field in
|
346
|
+
# `group_by`.
|
347
|
+
# @!attribute [rw] having
|
348
|
+
# @return [String]
|
349
|
+
# Filter that specifies what fields to further filter on *after* the query
|
350
|
+
# filter has been executed. Currently only `finding.state` and `state_change`
|
351
|
+
# are supported and requires compare_duration to be specified.
|
352
|
+
# @!attribute [rw] page_token
|
353
|
+
# @return [String]
|
354
|
+
# The value returned by the last `GroupFindingsResponse`; indicates
|
355
|
+
# that this is a continuation of a prior `GroupFindings` call, and
|
356
|
+
# that the system should return the next page of data.
|
357
|
+
# @!attribute [rw] page_size
|
358
|
+
# @return [Integer]
|
359
|
+
# The maximum number of results to return in a single response. Default is
|
360
|
+
# 10, minimum is 1, maximum is 1000.
|
361
|
+
class GroupFindingsRequest; end
|
362
|
+
|
363
|
+
# Response message for group by findings.
|
364
|
+
# @!attribute [rw] group_by_results
|
365
|
+
# @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::GroupResult>]
|
366
|
+
# Group results. There exists an element for each existing unique
|
367
|
+
# combination of property/values. The element contains a count for the number
|
368
|
+
# of times those specific property/values appear.
|
369
|
+
# @!attribute [rw] read_time
|
370
|
+
# @return [Google::Protobuf::Timestamp]
|
371
|
+
# Time used for executing the groupBy request.
|
372
|
+
# @!attribute [rw] next_page_token
|
373
|
+
# @return [String]
|
374
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
375
|
+
# results.
|
376
|
+
# @!attribute [rw] total_size
|
377
|
+
# @return [Integer]
|
378
|
+
# The total number of results matching the query.
|
379
|
+
class GroupFindingsResponse; end
|
380
|
+
|
381
|
+
# Result containing the properties and count of a groupBy request.
|
382
|
+
# @!attribute [rw] properties
|
383
|
+
# @return [Hash{String => Google::Protobuf::Value}]
|
384
|
+
# Properties matching the groupBy fields in the request.
|
385
|
+
# @!attribute [rw] count
|
386
|
+
# @return [Integer]
|
387
|
+
# Total count of resources for the given properties.
|
388
|
+
class GroupResult; end
|
389
|
+
|
390
|
+
# Request message for listing notification configs.
|
391
|
+
# @!attribute [rw] parent
|
392
|
+
# @return [String]
|
393
|
+
# Required. Name of the organization to list notification configs.
|
394
|
+
# Its format is "organizations/[organization_id]".
|
395
|
+
# @!attribute [rw] page_token
|
396
|
+
# @return [String]
|
397
|
+
# The value returned by the last `ListNotificationConfigsResponse`; indicates
|
398
|
+
# that this is a continuation of a prior `ListNotificationConfigs` call, and
|
399
|
+
# that the system should return the next page of data.
|
400
|
+
# @!attribute [rw] page_size
|
401
|
+
# @return [Integer]
|
402
|
+
# The maximum number of results to return in a single response. Default is
|
403
|
+
# 10, minimum is 1, maximum is 1000.
|
404
|
+
class ListNotificationConfigsRequest; end
|
405
|
+
|
406
|
+
# Response message for listing notification configs.
|
407
|
+
# @!attribute [rw] notification_configs
|
408
|
+
# @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig>]
|
409
|
+
# Notification configs belonging to the requested parent.
|
410
|
+
# @!attribute [rw] next_page_token
|
411
|
+
# @return [String]
|
412
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
413
|
+
# results.
|
414
|
+
class ListNotificationConfigsResponse; end
|
415
|
+
|
416
|
+
# Request message for listing sources.
|
417
|
+
# @!attribute [rw] parent
|
418
|
+
# @return [String]
|
419
|
+
# Required. Resource name of the parent of sources to list. Its format should
|
420
|
+
# be "organizations/[organization_id]".
|
421
|
+
# @!attribute [rw] page_token
|
422
|
+
# @return [String]
|
423
|
+
# The value returned by the last `ListSourcesResponse`; indicates
|
424
|
+
# that this is a continuation of a prior `ListSources` call, and
|
425
|
+
# that the system should return the next page of data.
|
426
|
+
# @!attribute [rw] page_size
|
427
|
+
# @return [Integer]
|
428
|
+
# The maximum number of results to return in a single response. Default is
|
429
|
+
# 10, minimum is 1, maximum is 1000.
|
430
|
+
class ListSourcesRequest; end
|
431
|
+
|
432
|
+
# Response message for listing sources.
|
433
|
+
# @!attribute [rw] sources
|
434
|
+
# @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::Source>]
|
435
|
+
# Sources belonging to the requested parent.
|
436
|
+
# @!attribute [rw] next_page_token
|
437
|
+
# @return [String]
|
438
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
439
|
+
# results.
|
440
|
+
class ListSourcesResponse; end
|
441
|
+
|
442
|
+
# Request message for listing assets.
|
443
|
+
# @!attribute [rw] parent
|
444
|
+
# @return [String]
|
445
|
+
# Required. Name of the organization assets should belong to. Its format is
|
446
|
+
# "organizations/[organization_id]".
|
447
|
+
# @!attribute [rw] filter
|
448
|
+
# @return [String]
|
449
|
+
# Expression that defines the filter to apply across assets.
|
450
|
+
# The expression is a list of zero or more restrictions combined via logical
|
451
|
+
# operators `AND` and `OR`.
|
452
|
+
# Parentheses are supported, and `OR` has higher precedence than `AND`.
|
453
|
+
#
|
454
|
+
# Restrictions have the form `<field> <operator> <value>` and may have a `-`
|
455
|
+
# character in front of them to indicate negation. The fields map to those
|
456
|
+
# defined in the Asset resource. Examples include:
|
457
|
+
#
|
458
|
+
# * name
|
459
|
+
# * security_center_properties.resource_name
|
460
|
+
# * resource_properties.a_property
|
461
|
+
# * security_marks.marks.marka
|
462
|
+
#
|
463
|
+
# The supported operators are:
|
464
|
+
#
|
465
|
+
# * `=` for all value types.
|
466
|
+
# * `>`, `<`, `>=`, `<=` for integer values.
|
467
|
+
# * `:`, meaning substring matching, for strings.
|
468
|
+
#
|
469
|
+
# The supported value types are:
|
470
|
+
#
|
471
|
+
# * string literals in quotes.
|
472
|
+
# * integer literals without quotes.
|
473
|
+
# * boolean literals `true` and `false` without quotes.
|
474
|
+
#
|
475
|
+
# The following are the allowed field and operator combinations:
|
476
|
+
#
|
477
|
+
# * name: `=`
|
478
|
+
# * update_time: `=`, `>`, `<`, `>=`, `<=`
|
479
|
+
#
|
480
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
481
|
+
# Examples:
|
482
|
+
# "update_time = \"2019-06-10T16:07:18-07:00\""
|
483
|
+
# "update_time = 1560208038000"
|
484
|
+
#
|
485
|
+
# * create_time: `=`, `>`, `<`, `>=`, `<=`
|
486
|
+
#
|
487
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
488
|
+
# Examples:
|
489
|
+
# "create_time = \"2019-06-10T16:07:18-07:00\""
|
490
|
+
# "create_time = 1560208038000"
|
491
|
+
#
|
492
|
+
# * iam_policy.policy_blob: `=`, `:`
|
493
|
+
# * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
|
494
|
+
# * security_marks.marks: `=`, `:`
|
495
|
+
# * security_center_properties.resource_name: `=`, `:`
|
496
|
+
# * security_center_properties.resource_display_name: `=`, `:`
|
497
|
+
# * security_center_properties.resource_type: `=`, `:`
|
498
|
+
# * security_center_properties.resource_parent: `=`, `:`
|
499
|
+
# * security_center_properties.resource_parent_display_name: `=`, `:`
|
500
|
+
# * security_center_properties.resource_project: `=`, `:`
|
501
|
+
# * security_center_properties.resource_project_display_name: `=`, `:`
|
502
|
+
# * security_center_properties.resource_owners: `=`, `:`
|
503
|
+
#
|
504
|
+
# For example, `resource_properties.size = 100` is a valid filter string.
|
505
|
+
# @!attribute [rw] order_by
|
506
|
+
# @return [String]
|
507
|
+
# Expression that defines what fields and order to use for sorting. The
|
508
|
+
# string value should follow SQL syntax: comma separated list of fields. For
|
509
|
+
# example: "name,resource_properties.a_property". The default sorting order
|
510
|
+
# is ascending. To specify descending order for a field, a suffix " desc"
|
511
|
+
# should be appended to the field name. For example: "name
|
512
|
+
# desc,resource_properties.a_property". Redundant space characters in the
|
513
|
+
# syntax are insignificant. "name desc,resource_properties.a_property" and "
|
514
|
+
# name desc , resource_properties.a_property " are equivalent.
|
515
|
+
#
|
516
|
+
# The following fields are supported:
|
517
|
+
# name
|
518
|
+
# update_time
|
519
|
+
# resource_properties
|
520
|
+
# security_marks.marks
|
521
|
+
# security_center_properties.resource_name
|
522
|
+
# security_center_properties.resource_display_name
|
523
|
+
# security_center_properties.resource_parent
|
524
|
+
# security_center_properties.resource_parent_display_name
|
525
|
+
# security_center_properties.resource_project
|
526
|
+
# security_center_properties.resource_project_display_name
|
527
|
+
# security_center_properties.resource_type
|
528
|
+
# @!attribute [rw] read_time
|
529
|
+
# @return [Google::Protobuf::Timestamp]
|
530
|
+
# Time used as a reference point when filtering assets. The filter is limited
|
531
|
+
# to assets existing at the supplied time and their values are those at that
|
532
|
+
# specific time. Absence of this field will default to the API's version of
|
533
|
+
# NOW.
|
534
|
+
# @!attribute [rw] compare_duration
|
535
|
+
# @return [Google::Protobuf::Duration]
|
536
|
+
# When compare_duration is set, the ListAssetsResult's "state_change"
|
537
|
+
# attribute is updated to indicate whether the asset was added, removed, or
|
538
|
+
# remained present during the compare_duration period of time that precedes
|
539
|
+
# the read_time. This is the time between (read_time - compare_duration) and
|
540
|
+
# read_time.
|
541
|
+
#
|
542
|
+
# The state_change value is derived based on the presence of the asset at the
|
543
|
+
# two points in time. Intermediate state changes between the two times don't
|
544
|
+
# affect the result. For example, the results aren't affected if the asset is
|
545
|
+
# removed and re-created again.
|
546
|
+
#
|
547
|
+
# Possible "state_change" values when compare_duration is specified:
|
548
|
+
#
|
549
|
+
# * "ADDED": indicates that the asset was not present at the start of
|
550
|
+
# compare_duration, but present at read_time.
|
551
|
+
# * "REMOVED": indicates that the asset was present at the start of
|
552
|
+
# compare_duration, but not present at read_time.
|
553
|
+
# * "ACTIVE": indicates that the asset was present at both the
|
554
|
+
# start and the end of the time period defined by
|
555
|
+
# compare_duration and read_time.
|
556
|
+
#
|
557
|
+
# If compare_duration is not specified, then the only possible state_change
|
558
|
+
# is "UNUSED", which will be the state_change set for all assets present at
|
559
|
+
# read_time.
|
560
|
+
# @!attribute [rw] having
|
561
|
+
# @return [String]
|
562
|
+
# Filter that specifies what fields to further filter on *after* the query
|
563
|
+
# filter has been executed. Currently only `state_change` is supported and
|
564
|
+
# requires compare_duration to be specified.
|
565
|
+
# @!attribute [rw] field_mask
|
566
|
+
# @return [Google::Protobuf::FieldMask]
|
567
|
+
# Optional.
|
568
|
+
# A field mask to specify the ListAssetsResult fields to be listed in the
|
569
|
+
# response.
|
570
|
+
# An empty field mask will list all fields.
|
571
|
+
# @!attribute [rw] page_token
|
572
|
+
# @return [String]
|
573
|
+
# The value returned by the last `ListAssetsResponse`; indicates
|
574
|
+
# that this is a continuation of a prior `ListAssets` call, and
|
575
|
+
# that the system should return the next page of data.
|
576
|
+
# @!attribute [rw] page_size
|
577
|
+
# @return [Integer]
|
578
|
+
# The maximum number of results to return in a single response. Default is
|
579
|
+
# 10, minimum is 1, maximum is 1000.
|
580
|
+
class ListAssetsRequest; end
|
581
|
+
|
582
|
+
# Response message for listing assets.
|
583
|
+
# @!attribute [rw] list_assets_results
|
584
|
+
# @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::ListAssetsResponse::ListAssetsResult>]
|
585
|
+
# Assets matching the list request.
|
586
|
+
# @!attribute [rw] read_time
|
587
|
+
# @return [Google::Protobuf::Timestamp]
|
588
|
+
# Time used for executing the list request.
|
589
|
+
# @!attribute [rw] next_page_token
|
590
|
+
# @return [String]
|
591
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
592
|
+
# results.
|
593
|
+
# @!attribute [rw] total_size
|
594
|
+
# @return [Integer]
|
595
|
+
# The total number of assets matching the query.
|
596
|
+
class ListAssetsResponse
|
597
|
+
# Result containing the Asset and its State.
|
598
|
+
# @!attribute [rw] asset
|
599
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::Asset]
|
600
|
+
# Asset matching the search request.
|
601
|
+
# @!attribute [rw] state_change
|
602
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::ListAssetsResponse::ListAssetsResult::StateChange]
|
603
|
+
# State change of the asset between the points in time.
|
604
|
+
class ListAssetsResult
|
605
|
+
# The change in state of the asset.
|
606
|
+
#
|
607
|
+
# When querying across two points in time this describes
|
608
|
+
# the change between the two points: ADDED, REMOVED, or ACTIVE.
|
609
|
+
# If there was no compare_duration supplied in the request the state change
|
610
|
+
# will be: UNUSED
|
611
|
+
module StateChange
|
612
|
+
# State change is unused, this is the canonical default for this enum.
|
613
|
+
UNUSED = 0
|
614
|
+
|
615
|
+
# Asset was added between the points in time.
|
616
|
+
ADDED = 1
|
617
|
+
|
618
|
+
# Asset was removed between the points in time.
|
619
|
+
REMOVED = 2
|
620
|
+
|
621
|
+
# Asset was present at both point(s) in time.
|
622
|
+
ACTIVE = 3
|
623
|
+
end
|
624
|
+
end
|
625
|
+
end
|
626
|
+
|
627
|
+
# Request message for listing findings.
|
628
|
+
# @!attribute [rw] parent
|
629
|
+
# @return [String]
|
630
|
+
# Required. Name of the source the findings belong to. Its format is
|
631
|
+
# "organizations/[organization_id]/sources/[source_id]". To list across all
|
632
|
+
# sources provide a source_id of `-`. For example:
|
633
|
+
# organizations/{organization_id}/sources/-
|
634
|
+
# @!attribute [rw] filter
|
635
|
+
# @return [String]
|
636
|
+
# Expression that defines the filter to apply across findings.
|
637
|
+
# The expression is a list of one or more restrictions combined via logical
|
638
|
+
# operators `AND` and `OR`.
|
639
|
+
# Parentheses are supported, and `OR` has higher precedence than `AND`.
|
640
|
+
#
|
641
|
+
# Restrictions have the form `<field> <operator> <value>` and may have a `-`
|
642
|
+
# character in front of them to indicate negation. Examples include:
|
643
|
+
#
|
644
|
+
# * name
|
645
|
+
# * source_properties.a_property
|
646
|
+
# * security_marks.marks.marka
|
647
|
+
#
|
648
|
+
# The supported operators are:
|
649
|
+
#
|
650
|
+
# * `=` for all value types.
|
651
|
+
# * `>`, `<`, `>=`, `<=` for integer values.
|
652
|
+
# * `:`, meaning substring matching, for strings.
|
653
|
+
#
|
654
|
+
# The supported value types are:
|
655
|
+
#
|
656
|
+
# * string literals in quotes.
|
657
|
+
# * integer literals without quotes.
|
658
|
+
# * boolean literals `true` and `false` without quotes.
|
659
|
+
#
|
660
|
+
# The following field and operator combinations are supported:
|
661
|
+
#
|
662
|
+
# name: `=`
|
663
|
+
# parent: `=`, `:`
|
664
|
+
# resource_name: `=`, `:`
|
665
|
+
# state: `=`, `:`
|
666
|
+
# category: `=`, `:`
|
667
|
+
# external_uri: `=`, `:`
|
668
|
+
# event_time: `=`, `>`, `<`, `>=`, `<=`
|
669
|
+
#
|
670
|
+
# Usage: This should be milliseconds since epoch or an RFC3339 string.
|
671
|
+
# Examples:
|
672
|
+
# "event_time = \"2019-06-10T16:07:18-07:00\""
|
673
|
+
# "event_time = 1560208038000"
|
674
|
+
#
|
675
|
+
# security_marks.marks: `=`, `:`
|
676
|
+
# source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
|
677
|
+
#
|
678
|
+
# For example, `source_properties.size = 100` is a valid filter string.
|
679
|
+
# @!attribute [rw] order_by
|
680
|
+
# @return [String]
|
681
|
+
# Expression that defines what fields and order to use for sorting. The
|
682
|
+
# string value should follow SQL syntax: comma separated list of fields. For
|
683
|
+
# example: "name,resource_properties.a_property". The default sorting order
|
684
|
+
# is ascending. To specify descending order for a field, a suffix " desc"
|
685
|
+
# should be appended to the field name. For example: "name
|
686
|
+
# desc,source_properties.a_property". Redundant space characters in the
|
687
|
+
# syntax are insignificant. "name desc,source_properties.a_property" and "
|
688
|
+
# name desc , source_properties.a_property " are equivalent.
|
689
|
+
#
|
690
|
+
# The following fields are supported:
|
691
|
+
# name
|
692
|
+
# parent
|
693
|
+
# state
|
694
|
+
# category
|
695
|
+
# resource_name
|
696
|
+
# event_time
|
697
|
+
# source_properties
|
698
|
+
# security_marks.marks
|
699
|
+
# @!attribute [rw] read_time
|
700
|
+
# @return [Google::Protobuf::Timestamp]
|
701
|
+
# Time used as a reference point when filtering findings. The filter is
|
702
|
+
# limited to findings existing at the supplied time and their values are
|
703
|
+
# those at that specific time. Absence of this field will default to the
|
704
|
+
# API's version of NOW.
|
705
|
+
# @!attribute [rw] compare_duration
|
706
|
+
# @return [Google::Protobuf::Duration]
|
707
|
+
# When compare_duration is set, the ListFindingsResult's "state_change"
|
708
|
+
# attribute is updated to indicate whether the finding had its state changed,
|
709
|
+
# the finding's state remained unchanged, or if the finding was added in any
|
710
|
+
# state during the compare_duration period of time that precedes the
|
711
|
+
# read_time. This is the time between (read_time - compare_duration) and
|
712
|
+
# read_time.
|
713
|
+
#
|
714
|
+
# The state_change value is derived based on the presence and state of the
|
715
|
+
# finding at the two points in time. Intermediate state changes between the
|
716
|
+
# two times don't affect the result. For example, the results aren't affected
|
717
|
+
# if the finding is made inactive and then active again.
|
718
|
+
#
|
719
|
+
# Possible "state_change" values when compare_duration is specified:
|
720
|
+
#
|
721
|
+
# * "CHANGED": indicates that the finding was present at the start of
|
722
|
+
# compare_duration, but changed its state at read_time.
|
723
|
+
# * "UNCHANGED": indicates that the finding was present at the start of
|
724
|
+
# compare_duration and did not change state at read_time.
|
725
|
+
# * "ADDED": indicates that the finding was not present at the start
|
726
|
+
# of compare_duration, but was present at read_time.
|
727
|
+
#
|
728
|
+
# If compare_duration is not specified, then the only possible state_change
|
729
|
+
# is "UNUSED", which will be the state_change set for all findings present at
|
730
|
+
# read_time.
|
731
|
+
# @!attribute [rw] having
|
732
|
+
# @return [String]
|
733
|
+
# Filter that specifies what fields to further filter on *after* the query
|
734
|
+
# filter has been executed. Currently only `finding.state` and `state_change`
|
735
|
+
# are supported and requires compare_duration to be specified.
|
736
|
+
# @!attribute [rw] field_mask
|
737
|
+
# @return [Google::Protobuf::FieldMask]
|
738
|
+
# Optional.
|
739
|
+
# A field mask to specify the Finding fields to be listed in the response.
|
740
|
+
# An empty field mask will list all fields.
|
741
|
+
# @!attribute [rw] page_token
|
742
|
+
# @return [String]
|
743
|
+
# The value returned by the last `ListFindingsResponse`; indicates
|
744
|
+
# that this is a continuation of a prior `ListFindings` call, and
|
745
|
+
# that the system should return the next page of data.
|
746
|
+
# @!attribute [rw] page_size
|
747
|
+
# @return [Integer]
|
748
|
+
# The maximum number of results to return in a single response. Default is
|
749
|
+
# 10, minimum is 1, maximum is 1000.
|
750
|
+
class ListFindingsRequest; end
|
751
|
+
|
752
|
+
# Response message for listing findings.
|
753
|
+
# @!attribute [rw] list_findings_results
|
754
|
+
# @return [Array<Google::Cloud::SecurityCenter::V1p1beta1::ListFindingsResponse::ListFindingsResult>]
|
755
|
+
# Findings matching the list request.
|
756
|
+
# @!attribute [rw] read_time
|
757
|
+
# @return [Google::Protobuf::Timestamp]
|
758
|
+
# Time used for executing the list request.
|
759
|
+
# @!attribute [rw] next_page_token
|
760
|
+
# @return [String]
|
761
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
762
|
+
# results.
|
763
|
+
# @!attribute [rw] total_size
|
764
|
+
# @return [Integer]
|
765
|
+
# The total number of findings matching the query.
|
766
|
+
class ListFindingsResponse
|
767
|
+
# Result containing the Finding and its StateChange.
|
768
|
+
# @!attribute [rw] finding
|
769
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding]
|
770
|
+
# Finding matching the search request.
|
771
|
+
# @!attribute [rw] state_change
|
772
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::ListFindingsResponse::ListFindingsResult::StateChange]
|
773
|
+
# State change of the finding between the points in time.
|
774
|
+
# @!attribute [rw] resource
|
775
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::ListFindingsResponse::ListFindingsResult::Resource]
|
776
|
+
# Output only. Resource that is associated with this finding.
|
777
|
+
class ListFindingsResult
|
778
|
+
# Information related to the Google Cloud Platform (GCP) resource that is
|
779
|
+
# associated with this finding.
|
780
|
+
# @!attribute [rw] name
|
781
|
+
# @return [String]
|
782
|
+
# The full resource name of the resource. See:
|
783
|
+
# https://cloud.google.com/apis/design/resource_names#full_resource_name
|
784
|
+
# @!attribute [rw] project_name
|
785
|
+
# @return [String]
|
786
|
+
# The full resource name of project that the resource belongs to.
|
787
|
+
# @!attribute [rw] project_display_name
|
788
|
+
# @return [String]
|
789
|
+
# The human readable name of project that the resource belongs to.
|
790
|
+
# @!attribute [rw] parent_name
|
791
|
+
# @return [String]
|
792
|
+
# The full resource name of resource's parent.
|
793
|
+
# @!attribute [rw] parent_display_name
|
794
|
+
# @return [String]
|
795
|
+
# The human readable name of resource's parent.
|
796
|
+
class Resource; end
|
797
|
+
|
798
|
+
# The change in state of the finding.
|
799
|
+
#
|
800
|
+
# When querying across two points in time this describes
|
801
|
+
# the change in the finding between the two points: CHANGED, UNCHANGED,
|
802
|
+
# ADDED, or REMOVED. Findings can not be deleted, so REMOVED implies that
|
803
|
+
# the finding at timestamp does not match the filter specified, but it did
|
804
|
+
# at timestamp - compare_duration. If there was no compare_duration
|
805
|
+
# supplied in the request the state change will be: UNUSED
|
806
|
+
module StateChange
|
807
|
+
# State change is unused, this is the canonical default for this enum.
|
808
|
+
UNUSED = 0
|
809
|
+
|
810
|
+
# The finding has changed state in some way between the points in time
|
811
|
+
# and existed at both points.
|
812
|
+
CHANGED = 1
|
813
|
+
|
814
|
+
# The finding has not changed state between the points in time and
|
815
|
+
# existed at both points.
|
816
|
+
UNCHANGED = 2
|
817
|
+
|
818
|
+
# The finding was created between the points in time.
|
819
|
+
ADDED = 3
|
820
|
+
|
821
|
+
# The finding at timestamp does not match the filter specified, but it
|
822
|
+
# did at timestamp - compare_duration.
|
823
|
+
REMOVED = 4
|
824
|
+
end
|
825
|
+
end
|
826
|
+
end
|
827
|
+
|
828
|
+
# Request message for updating a finding's state.
|
829
|
+
# @!attribute [rw] name
|
830
|
+
# @return [String]
|
831
|
+
# Required. The relative resource name of the finding. See:
|
832
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
833
|
+
# Example:
|
834
|
+
# "organizations/{organization_id}/sources/{source_id}/finding/{finding_id}".
|
835
|
+
# @!attribute [rw] state
|
836
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding::State]
|
837
|
+
# Required. The desired State of the finding.
|
838
|
+
# @!attribute [rw] start_time
|
839
|
+
# @return [Google::Protobuf::Timestamp]
|
840
|
+
# Required. The time at which the updated state takes effect.
|
841
|
+
class SetFindingStateRequest; end
|
842
|
+
|
843
|
+
# Request message for running asset discovery for an organization.
|
844
|
+
# @!attribute [rw] parent
|
845
|
+
# @return [String]
|
846
|
+
# Required. Name of the organization to run asset discovery for. Its format
|
847
|
+
# is "organizations/[organization_id]".
|
848
|
+
class RunAssetDiscoveryRequest; end
|
849
|
+
|
850
|
+
# Request message for updating or creating a finding.
|
851
|
+
# @!attribute [rw] finding
|
852
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding]
|
853
|
+
# Required. The finding resource to update or create if it does not already
|
854
|
+
# exist. parent, security_marks, and update_time will be ignored.
|
855
|
+
#
|
856
|
+
# In the case of creation, the finding id portion of the name must be
|
857
|
+
# alphanumeric and less than or equal to 32 characters and greater than 0
|
858
|
+
# characters in length.
|
859
|
+
# @!attribute [rw] update_mask
|
860
|
+
# @return [Google::Protobuf::FieldMask]
|
861
|
+
# The FieldMask to use when updating the finding resource. This field should
|
862
|
+
# not be specified when creating a finding.
|
863
|
+
#
|
864
|
+
# When updating a finding, an empty mask is treated as updating all mutable
|
865
|
+
# fields and replacing source_properties. Individual source_properties can
|
866
|
+
# be added/updated by using "source_properties.<property key>" in the field
|
867
|
+
# mask.
|
868
|
+
class UpdateFindingRequest; end
|
869
|
+
|
870
|
+
# Request message for updating a notification config.
|
871
|
+
# @!attribute [rw] notification_config
|
872
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig]
|
873
|
+
# Required. The notification config to update.
|
874
|
+
# @!attribute [rw] update_mask
|
875
|
+
# @return [Google::Protobuf::FieldMask]
|
876
|
+
# The FieldMask to use when updating the notification config.
|
877
|
+
#
|
878
|
+
# If empty all mutable fields will be updated.
|
879
|
+
class UpdateNotificationConfigRequest; end
|
880
|
+
|
881
|
+
# Request message for updating an organization's settings.
|
882
|
+
# @!attribute [rw] organization_settings
|
883
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings]
|
884
|
+
# Required. The organization settings resource to update.
|
885
|
+
# @!attribute [rw] update_mask
|
886
|
+
# @return [Google::Protobuf::FieldMask]
|
887
|
+
# The FieldMask to use when updating the settings resource.
|
888
|
+
#
|
889
|
+
# If empty all mutable fields will be updated.
|
890
|
+
class UpdateOrganizationSettingsRequest; end
|
891
|
+
|
892
|
+
# Request message for updating a source.
|
893
|
+
# @!attribute [rw] source
|
894
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::Source]
|
895
|
+
# Required. The source resource to update.
|
896
|
+
# @!attribute [rw] update_mask
|
897
|
+
# @return [Google::Protobuf::FieldMask]
|
898
|
+
# The FieldMask to use when updating the source resource.
|
899
|
+
#
|
900
|
+
# If empty all mutable fields will be updated.
|
901
|
+
class UpdateSourceRequest; end
|
902
|
+
|
903
|
+
# Request message for updating a SecurityMarks resource.
|
904
|
+
# @!attribute [rw] security_marks
|
905
|
+
# @return [Google::Cloud::SecurityCenter::V1p1beta1::SecurityMarks]
|
906
|
+
# Required. The security marks resource to update.
|
907
|
+
# @!attribute [rw] update_mask
|
908
|
+
# @return [Google::Protobuf::FieldMask]
|
909
|
+
# The FieldMask to use when updating the security marks resource.
|
910
|
+
#
|
911
|
+
# The field mask must not contain duplicate fields.
|
912
|
+
# If empty or set to "marks", all marks will be replaced. Individual
|
913
|
+
# marks can be updated using "marks.<mark_key>".
|
914
|
+
# @!attribute [rw] start_time
|
915
|
+
# @return [Google::Protobuf::Timestamp]
|
916
|
+
# The time at which the updated SecurityMarks take effect.
|
917
|
+
# If not set uses current server time. Updates will be applied to the
|
918
|
+
# SecurityMarks that are active immediately preceding this time.
|
919
|
+
class UpdateSecurityMarksRequest; end
|
920
|
+
end
|
921
|
+
end
|
922
|
+
end
|
923
|
+
end
|