google-cloud-security_center-v1 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,6 +24,70 @@ module Google
24
24
  module SecurityCenter
25
25
  # Path helper methods for the SecurityCenter API.
26
26
  module Paths
27
+ ##
28
+ # Create a fully-qualified ExternalSystem resource string.
29
+ #
30
+ # @overload external_system_path(organization:, source:, finding:, externalsystem:)
31
+ # The resource will be in the following format:
32
+ #
33
+ # `organizations/{organization}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}`
34
+ #
35
+ # @param organization [String]
36
+ # @param source [String]
37
+ # @param finding [String]
38
+ # @param externalsystem [String]
39
+ #
40
+ # @overload external_system_path(folder:, source:, finding:, externalsystem:)
41
+ # The resource will be in the following format:
42
+ #
43
+ # `folders/{folder}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}`
44
+ #
45
+ # @param folder [String]
46
+ # @param source [String]
47
+ # @param finding [String]
48
+ # @param externalsystem [String]
49
+ #
50
+ # @overload external_system_path(project:, source:, finding:, externalsystem:)
51
+ # The resource will be in the following format:
52
+ #
53
+ # `projects/{project}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}`
54
+ #
55
+ # @param project [String]
56
+ # @param source [String]
57
+ # @param finding [String]
58
+ # @param externalsystem [String]
59
+ #
60
+ # @return [::String]
61
+ def external_system_path **args
62
+ resources = {
63
+ "externalsystem:finding:organization:source" => (proc do |organization:, source:, finding:, externalsystem:|
64
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
65
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
66
+ raise ::ArgumentError, "finding cannot contain /" if finding.to_s.include? "/"
67
+
68
+ "organizations/#{organization}/sources/#{source}/findings/#{finding}/externalSystems/#{externalsystem}"
69
+ end),
70
+ "externalsystem:finding:folder:source" => (proc do |folder:, source:, finding:, externalsystem:|
71
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
72
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
73
+ raise ::ArgumentError, "finding cannot contain /" if finding.to_s.include? "/"
74
+
75
+ "folders/#{folder}/sources/#{source}/findings/#{finding}/externalSystems/#{externalsystem}"
76
+ end),
77
+ "externalsystem:finding:project:source" => (proc do |project:, source:, finding:, externalsystem:|
78
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
79
+ raise ::ArgumentError, "source cannot contain /" if source.to_s.include? "/"
80
+ raise ::ArgumentError, "finding cannot contain /" if finding.to_s.include? "/"
81
+
82
+ "projects/#{project}/sources/#{source}/findings/#{finding}/externalSystems/#{externalsystem}"
83
+ end)
84
+ }
85
+
86
+ resource = resources[args.keys.sort.join(":")]
87
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
88
+ resource.call(**args)
89
+ end
90
+
27
91
  ##
28
92
  # Create a fully-qualified Finding resource string.
29
93
  #
@@ -96,6 +160,58 @@ module Google
96
160
  "folders/#{folder}"
97
161
  end
98
162
 
163
+ ##
164
+ # Create a fully-qualified MuteConfig resource string.
165
+ #
166
+ # @overload mute_config_path(organization:, mute_config:)
167
+ # The resource will be in the following format:
168
+ #
169
+ # `organizations/{organization}/muteConfigs/{mute_config}`
170
+ #
171
+ # @param organization [String]
172
+ # @param mute_config [String]
173
+ #
174
+ # @overload mute_config_path(folder:, mute_config:)
175
+ # The resource will be in the following format:
176
+ #
177
+ # `folders/{folder}/muteConfigs/{mute_config}`
178
+ #
179
+ # @param folder [String]
180
+ # @param mute_config [String]
181
+ #
182
+ # @overload mute_config_path(project:, mute_config:)
183
+ # The resource will be in the following format:
184
+ #
185
+ # `projects/{project}/muteConfigs/{mute_config}`
186
+ #
187
+ # @param project [String]
188
+ # @param mute_config [String]
189
+ #
190
+ # @return [::String]
191
+ def mute_config_path **args
192
+ resources = {
193
+ "mute_config:organization" => (proc do |organization:, mute_config:|
194
+ raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
195
+
196
+ "organizations/#{organization}/muteConfigs/#{mute_config}"
197
+ end),
198
+ "folder:mute_config" => (proc do |folder:, mute_config:|
199
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
200
+
201
+ "folders/#{folder}/muteConfigs/#{mute_config}"
202
+ end),
203
+ "mute_config:project" => (proc do |project:, mute_config:|
204
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
205
+
206
+ "projects/#{project}/muteConfigs/#{mute_config}"
207
+ end)
208
+ }
209
+
210
+ resource = resources[args.keys.sort.join(":")]
211
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
212
+ resource.call(**args)
213
+ end
214
+
99
215
  ##
100
216
  # Create a fully-qualified NotificationConfig resource string.
101
217
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1
24
- VERSION = "0.10.0"
24
+ VERSION = "0.11.0"
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,29 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1/external_system.proto
3
+
4
+ require 'google/api/resource_pb'
5
+ require 'google/protobuf/timestamp_pb'
6
+ require 'google/api/annotations_pb'
7
+ require 'google/protobuf'
8
+
9
+ Google::Protobuf::DescriptorPool.generated_pool.build do
10
+ add_file("google/cloud/securitycenter/v1/external_system.proto", :syntax => :proto3) do
11
+ add_message "google.cloud.securitycenter.v1.ExternalSystem" do
12
+ optional :name, :string, 1
13
+ repeated :assignees, :string, 2
14
+ optional :external_uid, :string, 3
15
+ optional :status, :string, 4
16
+ optional :external_system_update_time, :message, 5, "google.protobuf.Timestamp"
17
+ end
18
+ end
19
+ end
20
+
21
+ module Google
22
+ module Cloud
23
+ module SecurityCenter
24
+ module V1
25
+ ExternalSystem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ExternalSystem").msgclass
26
+ end
27
+ end
28
+ end
29
+ end
@@ -3,6 +3,7 @@
3
3
 
4
4
  require 'google/api/field_behavior_pb'
5
5
  require 'google/api/resource_pb'
6
+ require 'google/cloud/securitycenter/v1/external_system_pb'
6
7
  require 'google/cloud/securitycenter/v1/indicator_pb'
7
8
  require 'google/cloud/securitycenter/v1/security_marks_pb'
8
9
  require 'google/cloud/securitycenter/v1/vulnerability_pb'
@@ -26,9 +27,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
27
  optional :create_time, :message, 10, "google.protobuf.Timestamp"
27
28
  optional :severity, :enum, 12, "google.cloud.securitycenter.v1.Finding.Severity"
28
29
  optional :canonical_name, :string, 14
30
+ optional :mute, :enum, 15, "google.cloud.securitycenter.v1.Finding.Mute"
29
31
  optional :finding_class, :enum, 17, "google.cloud.securitycenter.v1.Finding.FindingClass"
30
32
  optional :indicator, :message, 18, "google.cloud.securitycenter.v1.Indicator"
31
33
  optional :vulnerability, :message, 20, "google.cloud.securitycenter.v1.Vulnerability"
34
+ optional :mute_update_time, :message, 21, "google.protobuf.Timestamp"
35
+ map :external_systems, :string, :message, 22, "google.cloud.securitycenter.v1.ExternalSystem"
36
+ optional :mute_initiator, :string, 28
32
37
  end
33
38
  add_enum "google.cloud.securitycenter.v1.Finding.State" do
34
39
  value :STATE_UNSPECIFIED, 0
@@ -42,6 +47,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
42
47
  value :MEDIUM, 3
43
48
  value :LOW, 4
44
49
  end
50
+ add_enum "google.cloud.securitycenter.v1.Finding.Mute" do
51
+ value :MUTE_UNSPECIFIED, 0
52
+ value :MUTED, 1
53
+ value :UNMUTED, 2
54
+ value :UNDEFINED, 4
55
+ end
45
56
  add_enum "google.cloud.securitycenter.v1.Finding.FindingClass" do
46
57
  value :FINDING_CLASS_UNSPECIFIED, 0
47
58
  value :THREAT, 1
@@ -59,6 +70,7 @@ module Google
59
70
  Finding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding").msgclass
60
71
  Finding::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.State").enummodule
61
72
  Finding::Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.Severity").enummodule
73
+ Finding::Mute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.Mute").enummodule
62
74
  Finding::FindingClass = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.FindingClass").enummodule
63
75
  end
64
76
  end
@@ -0,0 +1,32 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1/mute_config.proto
3
+
4
+ require 'google/api/field_behavior_pb'
5
+ require 'google/api/resource_pb'
6
+ require 'google/protobuf/timestamp_pb'
7
+ require 'google/api/annotations_pb'
8
+ require 'google/protobuf'
9
+
10
+ Google::Protobuf::DescriptorPool.generated_pool.build do
11
+ add_file("google/cloud/securitycenter/v1/mute_config.proto", :syntax => :proto3) do
12
+ add_message "google.cloud.securitycenter.v1.MuteConfig" do
13
+ optional :name, :string, 1
14
+ optional :display_name, :string, 2
15
+ optional :description, :string, 3
16
+ optional :filter, :string, 4
17
+ optional :create_time, :message, 5, "google.protobuf.Timestamp"
18
+ optional :update_time, :message, 6, "google.protobuf.Timestamp"
19
+ optional :most_recent_editor, :string, 7
20
+ end
21
+ end
22
+ end
23
+
24
+ module Google
25
+ module Cloud
26
+ module SecurityCenter
27
+ module V1
28
+ MuteConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.MuteConfig").msgclass
29
+ end
30
+ end
31
+ end
32
+ end
@@ -7,8 +7,10 @@ require 'google/api/client_pb'
7
7
  require 'google/api/field_behavior_pb'
8
8
  require 'google/api/resource_pb'
9
9
  require 'google/cloud/securitycenter/v1/asset_pb'
10
+ require 'google/cloud/securitycenter/v1/external_system_pb'
10
11
  require 'google/cloud/securitycenter/v1/finding_pb'
11
12
  require 'google/cloud/securitycenter/v1/folder_pb'
13
+ require 'google/cloud/securitycenter/v1/mute_config_pb'
12
14
  require 'google/cloud/securitycenter/v1/notification_config_pb'
13
15
  require 'google/cloud/securitycenter/v1/organization_settings_pb'
14
16
  require 'google/cloud/securitycenter/v1/security_marks_pb'
@@ -25,11 +27,23 @@ require 'google/protobuf'
25
27
 
26
28
  Google::Protobuf::DescriptorPool.generated_pool.build do
27
29
  add_file("google/cloud/securitycenter/v1/securitycenter_service.proto", :syntax => :proto3) do
30
+ add_message "google.cloud.securitycenter.v1.BulkMuteFindingsRequest" do
31
+ optional :parent, :string, 1
32
+ optional :filter, :string, 2
33
+ optional :mute_annotation, :string, 3
34
+ end
35
+ add_message "google.cloud.securitycenter.v1.BulkMuteFindingsResponse" do
36
+ end
28
37
  add_message "google.cloud.securitycenter.v1.CreateFindingRequest" do
29
38
  optional :parent, :string, 1
30
39
  optional :finding_id, :string, 2
31
40
  optional :finding, :message, 3, "google.cloud.securitycenter.v1.Finding"
32
41
  end
42
+ add_message "google.cloud.securitycenter.v1.CreateMuteConfigRequest" do
43
+ optional :parent, :string, 1
44
+ optional :mute_config, :message, 2, "google.cloud.securitycenter.v1.MuteConfig"
45
+ optional :mute_config_id, :string, 3
46
+ end
33
47
  add_message "google.cloud.securitycenter.v1.CreateNotificationConfigRequest" do
34
48
  optional :parent, :string, 1
35
49
  optional :config_id, :string, 2
@@ -39,9 +53,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
39
53
  optional :parent, :string, 1
40
54
  optional :source, :message, 2, "google.cloud.securitycenter.v1.Source"
41
55
  end
56
+ add_message "google.cloud.securitycenter.v1.DeleteMuteConfigRequest" do
57
+ optional :name, :string, 1
58
+ end
42
59
  add_message "google.cloud.securitycenter.v1.DeleteNotificationConfigRequest" do
43
60
  optional :name, :string, 1
44
61
  end
62
+ add_message "google.cloud.securitycenter.v1.GetMuteConfigRequest" do
63
+ optional :name, :string, 1
64
+ end
45
65
  add_message "google.cloud.securitycenter.v1.GetNotificationConfigRequest" do
46
66
  optional :name, :string, 1
47
67
  end
@@ -85,6 +105,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
85
105
  map :properties, :string, :message, 1, "google.protobuf.Value"
86
106
  optional :count, :int64, 2
87
107
  end
108
+ add_message "google.cloud.securitycenter.v1.ListMuteConfigsRequest" do
109
+ optional :parent, :string, 1
110
+ optional :page_size, :int32, 2
111
+ optional :page_token, :string, 3
112
+ end
113
+ add_message "google.cloud.securitycenter.v1.ListMuteConfigsResponse" do
114
+ repeated :mute_configs, :message, 1, "google.cloud.securitycenter.v1.MuteConfig"
115
+ optional :next_page_token, :string, 2
116
+ end
88
117
  add_message "google.cloud.securitycenter.v1.ListNotificationConfigsRequest" do
89
118
  optional :parent, :string, 1
90
119
  optional :page_token, :string, 2
@@ -172,13 +201,25 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
172
201
  optional :state, :enum, 2, "google.cloud.securitycenter.v1.Finding.State"
173
202
  optional :start_time, :message, 3, "google.protobuf.Timestamp"
174
203
  end
204
+ add_message "google.cloud.securitycenter.v1.SetMuteRequest" do
205
+ optional :name, :string, 1
206
+ optional :mute, :enum, 2, "google.cloud.securitycenter.v1.Finding.Mute"
207
+ end
175
208
  add_message "google.cloud.securitycenter.v1.RunAssetDiscoveryRequest" do
176
209
  optional :parent, :string, 1
177
210
  end
211
+ add_message "google.cloud.securitycenter.v1.UpdateExternalSystemRequest" do
212
+ optional :external_system, :message, 1, "google.cloud.securitycenter.v1.ExternalSystem"
213
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
214
+ end
178
215
  add_message "google.cloud.securitycenter.v1.UpdateFindingRequest" do
179
216
  optional :finding, :message, 1, "google.cloud.securitycenter.v1.Finding"
180
217
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
181
218
  end
219
+ add_message "google.cloud.securitycenter.v1.UpdateMuteConfigRequest" do
220
+ optional :mute_config, :message, 1, "google.cloud.securitycenter.v1.MuteConfig"
221
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
222
+ end
182
223
  add_message "google.cloud.securitycenter.v1.UpdateNotificationConfigRequest" do
183
224
  optional :notification_config, :message, 1, "google.cloud.securitycenter.v1.NotificationConfig"
184
225
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
@@ -203,10 +244,15 @@ module Google
203
244
  module Cloud
204
245
  module SecurityCenter
205
246
  module V1
247
+ BulkMuteFindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.BulkMuteFindingsRequest").msgclass
248
+ BulkMuteFindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.BulkMuteFindingsResponse").msgclass
206
249
  CreateFindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateFindingRequest").msgclass
250
+ CreateMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateMuteConfigRequest").msgclass
207
251
  CreateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateNotificationConfigRequest").msgclass
208
252
  CreateSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateSourceRequest").msgclass
253
+ DeleteMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.DeleteMuteConfigRequest").msgclass
209
254
  DeleteNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.DeleteNotificationConfigRequest").msgclass
255
+ GetMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetMuteConfigRequest").msgclass
210
256
  GetNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetNotificationConfigRequest").msgclass
211
257
  GetOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetOrganizationSettingsRequest").msgclass
212
258
  GetSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetSourceRequest").msgclass
@@ -215,6 +261,8 @@ module Google
215
261
  GroupFindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsRequest").msgclass
216
262
  GroupFindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsResponse").msgclass
217
263
  GroupResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupResult").msgclass
264
+ ListMuteConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListMuteConfigsRequest").msgclass
265
+ ListMuteConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListMuteConfigsResponse").msgclass
218
266
  ListNotificationConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsRequest").msgclass
219
267
  ListNotificationConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsResponse").msgclass
220
268
  ListSourcesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListSourcesRequest").msgclass
@@ -229,8 +277,11 @@ module Google
229
277
  ListFindingsResponse::ListFindingsResult::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource").msgclass
230
278
  ListFindingsResponse::ListFindingsResult::StateChange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.StateChange").enummodule
231
279
  SetFindingStateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.SetFindingStateRequest").msgclass
280
+ SetMuteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.SetMuteRequest").msgclass
232
281
  RunAssetDiscoveryRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.RunAssetDiscoveryRequest").msgclass
282
+ UpdateExternalSystemRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateExternalSystemRequest").msgclass
233
283
  UpdateFindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateFindingRequest").msgclass
284
+ UpdateMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateMuteConfigRequest").msgclass
234
285
  UpdateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateNotificationConfigRequest").msgclass
235
286
  UpdateOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest").msgclass
236
287
  UpdateSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateSourceRequest").msgclass
@@ -33,17 +33,27 @@ module Google
33
33
  self.unmarshal_class_method = :decode
34
34
  self.service_name = 'google.cloud.securitycenter.v1.SecurityCenter'
35
35
 
36
+ # Kicks off an LRO to bulk mute findings for a parent based on a filter. The
37
+ # parent can be either an organization, folder or project. The findings
38
+ # matched by the filter will be muted after the LRO is done.
39
+ rpc :BulkMuteFindings, ::Google::Cloud::SecurityCenter::V1::BulkMuteFindingsRequest, ::Google::Longrunning::Operation
36
40
  # Creates a source.
37
41
  rpc :CreateSource, ::Google::Cloud::SecurityCenter::V1::CreateSourceRequest, ::Google::Cloud::SecurityCenter::V1::Source
38
42
  # Creates a finding. The corresponding source must exist for finding creation
39
43
  # to succeed.
40
44
  rpc :CreateFinding, ::Google::Cloud::SecurityCenter::V1::CreateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
45
+ # Creates a mute config.
46
+ rpc :CreateMuteConfig, ::Google::Cloud::SecurityCenter::V1::CreateMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
41
47
  # Creates a notification config.
42
48
  rpc :CreateNotificationConfig, ::Google::Cloud::SecurityCenter::V1::CreateNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
49
+ # Deletes an existing mute config.
50
+ rpc :DeleteMuteConfig, ::Google::Cloud::SecurityCenter::V1::DeleteMuteConfigRequest, ::Google::Protobuf::Empty
43
51
  # Deletes a notification config.
44
52
  rpc :DeleteNotificationConfig, ::Google::Cloud::SecurityCenter::V1::DeleteNotificationConfigRequest, ::Google::Protobuf::Empty
45
53
  # Gets the access control policy on the specified Source.
46
54
  rpc :GetIamPolicy, ::Google::Iam::V1::GetIamPolicyRequest, ::Google::Iam::V1::Policy
55
+ # Gets a mute config.
56
+ rpc :GetMuteConfig, ::Google::Cloud::SecurityCenter::V1::GetMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
47
57
  # Gets a notification config.
48
58
  rpc :GetNotificationConfig, ::Google::Cloud::SecurityCenter::V1::GetNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
49
59
  # Gets the settings for an organization.
@@ -68,6 +78,8 @@ module Google
68
78
  # To list across all sources provide a `-` as the source id.
69
79
  # Example: /v1/organizations/{organization_id}/sources/-/findings
70
80
  rpc :ListFindings, ::Google::Cloud::SecurityCenter::V1::ListFindingsRequest, ::Google::Cloud::SecurityCenter::V1::ListFindingsResponse
81
+ # Lists mute configs.
82
+ rpc :ListMuteConfigs, ::Google::Cloud::SecurityCenter::V1::ListMuteConfigsRequest, ::Google::Cloud::SecurityCenter::V1::ListMuteConfigsResponse
71
83
  # Lists notification configs.
72
84
  rpc :ListNotificationConfigs, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsRequest, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsResponse
73
85
  # Lists all sources belonging to an organization.
@@ -81,13 +93,19 @@ module Google
81
93
  rpc :RunAssetDiscovery, ::Google::Cloud::SecurityCenter::V1::RunAssetDiscoveryRequest, ::Google::Longrunning::Operation
82
94
  # Updates the state of a finding.
83
95
  rpc :SetFindingState, ::Google::Cloud::SecurityCenter::V1::SetFindingStateRequest, ::Google::Cloud::SecurityCenter::V1::Finding
96
+ # Updates the mute state of a finding.
97
+ rpc :SetMute, ::Google::Cloud::SecurityCenter::V1::SetMuteRequest, ::Google::Cloud::SecurityCenter::V1::Finding
84
98
  # Sets the access control policy on the specified Source.
85
99
  rpc :SetIamPolicy, ::Google::Iam::V1::SetIamPolicyRequest, ::Google::Iam::V1::Policy
86
100
  # Returns the permissions that a caller has on the specified source.
87
101
  rpc :TestIamPermissions, ::Google::Iam::V1::TestIamPermissionsRequest, ::Google::Iam::V1::TestIamPermissionsResponse
102
+ # Updates external system. This is for a given finding.
103
+ rpc :UpdateExternalSystem, ::Google::Cloud::SecurityCenter::V1::UpdateExternalSystemRequest, ::Google::Cloud::SecurityCenter::V1::ExternalSystem
88
104
  # Creates or updates a finding. The corresponding source must exist for a
89
105
  # finding creation to succeed.
90
106
  rpc :UpdateFinding, ::Google::Cloud::SecurityCenter::V1::UpdateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
107
+ # Updates a mute config.
108
+ rpc :UpdateMuteConfig, ::Google::Cloud::SecurityCenter::V1::UpdateMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
91
109
  #
92
110
  # Updates a notification config. The following update
93
111
  # fields are allowed: description, pubsub_topic, streaming_config.filter
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V1
24
+ # Representation of third party SIEM/SOAR fields within SCC.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # External System Name e.g. jira, demisto, etc.
28
+ # e.g.: `organizations/1234/sources/5678/findings/123456/externalSystems/jira`
29
+ # `folders/1234/sources/5678/findings/123456/externalSystems/jira`
30
+ # `projects/1234/sources/5678/findings/123456/externalSystems/jira`
31
+ # @!attribute [rw] assignees
32
+ # @return [::Array<::String>]
33
+ # References primary/secondary etc assignees in the external system.
34
+ # @!attribute [rw] external_uid
35
+ # @return [::String]
36
+ # Identifier that's used to track the given finding in the external system.
37
+ # @!attribute [rw] status
38
+ # @return [::String]
39
+ # Most recent status of the corresponding finding's ticket/tracker in the
40
+ # external system.
41
+ # @!attribute [rw] external_system_update_time
42
+ # @return [::Google::Protobuf::Timestamp]
43
+ # The most recent time when the corresponding finding's ticket/tracker was
44
+ # updated in the external system.
45
+ class ExternalSystem
46
+ include ::Google::Protobuf::MessageExts
47
+ extend ::Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -96,6 +96,10 @@ module Google
96
96
  # "projects/\\{project_number}/sources/\\{source_id}/findings/\\{finding_id}",
97
97
  # depending on the closest CRM ancestor of the resource associated with the
98
98
  # finding.
99
+ # @!attribute [rw] mute
100
+ # @return [::Google::Cloud::SecurityCenter::V1::Finding::Mute]
101
+ # Indicates the mute state of a finding (either unspecified, muted, unmuted
102
+ # or undefined).
99
103
  # @!attribute [rw] finding_class
100
104
  # @return [::Google::Cloud::SecurityCenter::V1::Finding::FindingClass]
101
105
  # The class of the finding.
@@ -111,6 +115,18 @@ module Google
111
115
  # Represents vulnerability specific fields like cve, cvss scores etc.
112
116
  # CVE stands for Common Vulnerabilities and Exposures
113
117
  # (https://cve.mitre.org/about/)
118
+ # @!attribute [r] mute_update_time
119
+ # @return [::Google::Protobuf::Timestamp]
120
+ # Output only. The most recent time this finding was muted or unmuted.
121
+ # @!attribute [r] external_systems
122
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V1::ExternalSystem}]
123
+ # Output only. Third party SIEM/SOAR fields within SCC, contains external system
124
+ # information and external system finding fields.
125
+ # @!attribute [rw] mute_initiator
126
+ # @return [::String]
127
+ # First known as mute_annotation. Records additional information about the
128
+ # mute operation e.g. mute config that muted the finding, user who muted the
129
+ # finding, etc.
114
130
  class Finding
115
131
  include ::Google::Protobuf::MessageExts
116
132
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -124,6 +140,15 @@ module Google
124
140
  extend ::Google::Protobuf::MessageExts::ClassMethods
125
141
  end
126
142
 
143
+ # @!attribute [rw] key
144
+ # @return [::String]
145
+ # @!attribute [rw] value
146
+ # @return [::Google::Cloud::SecurityCenter::V1::ExternalSystem]
147
+ class ExternalSystemsEntry
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+
127
152
  # The state of the finding.
128
153
  module State
129
154
  # Unspecified state.
@@ -196,6 +221,21 @@ module Google
196
221
  LOW = 4
197
222
  end
198
223
 
224
+ # Mute state a finding can be in.
225
+ module Mute
226
+ # Unspecified.
227
+ MUTE_UNSPECIFIED = 0
228
+
229
+ # Finding has been muted.
230
+ MUTED = 1
231
+
232
+ # Finding has been unmuted.
233
+ UNMUTED = 2
234
+
235
+ # Finding has never been muted/unmuted.
236
+ UNDEFINED = 4
237
+ end
238
+
199
239
  # Represents what kind of Finding it is.
200
240
  module FindingClass
201
241
  # Unspecified finding class.
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V1
24
+ # A mute config is a Cloud SCC resource that contains the configuration
25
+ # to mute create/update events of findings.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # This field will be ignored if provided on config creation. Format
29
+ # "organizations/\\{organization}/muteConfigs/\\{mute_config}"
30
+ # "folders/\\{folder}/muteConfigs/\\{mute_config}"
31
+ # "projects/\\{project}/muteConfigs/\\{mute_config}"
32
+ # @!attribute [rw] display_name
33
+ # @return [::String]
34
+ # The human readable name to be displayed for the mute config.
35
+ # @!attribute [rw] description
36
+ # @return [::String]
37
+ # A description of the mute config.
38
+ # @!attribute [rw] filter
39
+ # @return [::String]
40
+ # Required. An expression that defines the filter to apply across create/update events
41
+ # of findings. While creating a filter string, be mindful of the
42
+ # scope in which the mute configuration is being created. E.g., If a filter
43
+ # contains project = X but is created under the project = Y scope, it might
44
+ # not match any findings.
45
+ #
46
+ # The following field and operator combinations are supported:
47
+ #
48
+ # * severity: `=`, `:`
49
+ # * category: `=`, `:`
50
+ # * resource.name: `=`, `:`
51
+ # * resource.project_name: `=`, `:`
52
+ # * resource.project_display_name: `=`, `:`
53
+ # * resource.folders.resource_folder: `=`, `:`
54
+ # * resource.parent_name: `=`, `:`
55
+ # * resource.parent_display_name: `=`, `:`
56
+ # * resource.type: `=`, `:`
57
+ # * finding_class: `=`, `:`
58
+ # * indicator.ip_addresses: `=`, `:`
59
+ # * indicator.domains: `=`, `:`
60
+ # @!attribute [r] create_time
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # Output only. The time at which the mute config was created.
63
+ # This field is set by the server and will be ignored if provided on config
64
+ # creation.
65
+ # @!attribute [r] update_time
66
+ # @return [::Google::Protobuf::Timestamp]
67
+ # Output only. The most recent time at which the mute config was updated.
68
+ # This field is set by the server and will be ignored if provided on config
69
+ # creation or update.
70
+ # @!attribute [r] most_recent_editor
71
+ # @return [::String]
72
+ # Output only. Email address of the user who last edited the mute config.
73
+ # This field is set by the server and will be ignored if provided on config
74
+ # creation or update.
75
+ class MuteConfig
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end