google-cloud-security_center-v1 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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