google-apis-securitycenter_v1 0.15.0 → 0.19.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.
@@ -211,7 +211,8 @@ module Google
211
211
  # @param [String] start_time
212
212
  # The time at which the updated SecurityMarks take effect. If not set uses
213
213
  # current server time. Updates will be applied to the SecurityMarks that are
214
- # active immediately preceding this time.
214
+ # active immediately preceding this time. Must be smaller or equal to the server
215
+ # time.
215
216
  # @param [String] update_mask
216
217
  # The FieldMask to use when updating the security marks resource. The field mask
217
218
  # must not contain duplicate fields. If empty or set to "marks", all marks will
@@ -247,6 +248,227 @@ module Google
247
248
  execute_or_queue_command(command, &block)
248
249
  end
249
250
 
251
+ # Kicks off an LRO to bulk mute findings for a parent based on a filter. The
252
+ # parent can be either an organization, folder or project. The findings matched
253
+ # by the filter will be muted after the LRO is done.
254
+ # @param [String] parent
255
+ # Required. The parent, at which bulk action needs to be applied. Its format is "
256
+ # organizations/[organization_id]", "folders/[folder_id]", "projects/[project_id]
257
+ # ".
258
+ # @param [Google::Apis::SecuritycenterV1::BulkMuteFindingsRequest] bulk_mute_findings_request_object
259
+ # @param [String] fields
260
+ # Selector specifying which fields to include in a partial response.
261
+ # @param [String] quota_user
262
+ # Available to use for quota purposes for server-side applications. Can be any
263
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
264
+ # @param [Google::Apis::RequestOptions] options
265
+ # Request-specific options
266
+ #
267
+ # @yield [result, err] Result & error if block supplied
268
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Operation] parsed result object
269
+ # @yieldparam err [StandardError] error object if request failed
270
+ #
271
+ # @return [Google::Apis::SecuritycenterV1::Operation]
272
+ #
273
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
274
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
275
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
276
+ def bulk_folder_finding_mute(parent, bulk_mute_findings_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
277
+ command = make_simple_command(:post, 'v1/{+parent}/findings:bulkMute', options)
278
+ command.request_representation = Google::Apis::SecuritycenterV1::BulkMuteFindingsRequest::Representation
279
+ command.request_object = bulk_mute_findings_request_object
280
+ command.response_representation = Google::Apis::SecuritycenterV1::Operation::Representation
281
+ command.response_class = Google::Apis::SecuritycenterV1::Operation
282
+ command.params['parent'] = parent unless parent.nil?
283
+ command.query['fields'] = fields unless fields.nil?
284
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
285
+ execute_or_queue_command(command, &block)
286
+ end
287
+
288
+ # Creates a mute config.
289
+ # @param [String] parent
290
+ # Required. Resource name of the new mute configs's parent. Its format is "
291
+ # organizations/[organization_id]", "folders/[folder_id]", or "projects/[
292
+ # project_id]".
293
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] google_cloud_securitycenter_v1_mute_config_object
294
+ # @param [String] mute_config_id
295
+ # Required. Unique identifier provided by the client within the parent scope. It
296
+ # must consist of lower case letters, numbers, and hyphen, with the first
297
+ # character a letter, the last a letter or a number, and a 63 character maximum.
298
+ # @param [String] fields
299
+ # Selector specifying which fields to include in a partial response.
300
+ # @param [String] quota_user
301
+ # Available to use for quota purposes for server-side applications. Can be any
302
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
303
+ # @param [Google::Apis::RequestOptions] options
304
+ # Request-specific options
305
+ #
306
+ # @yield [result, err] Result & error if block supplied
307
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
308
+ # @yieldparam err [StandardError] error object if request failed
309
+ #
310
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
311
+ #
312
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
313
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
314
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
315
+ def create_folder_mute_config(parent, google_cloud_securitycenter_v1_mute_config_object = nil, mute_config_id: nil, fields: nil, quota_user: nil, options: nil, &block)
316
+ command = make_simple_command(:post, 'v1/{+parent}/muteConfigs', options)
317
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
318
+ command.request_object = google_cloud_securitycenter_v1_mute_config_object
319
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
320
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
321
+ command.params['parent'] = parent unless parent.nil?
322
+ command.query['muteConfigId'] = mute_config_id unless mute_config_id.nil?
323
+ command.query['fields'] = fields unless fields.nil?
324
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
325
+ execute_or_queue_command(command, &block)
326
+ end
327
+
328
+ # Deletes an existing mute config.
329
+ # @param [String] name
330
+ # Required. Name of the mute config to delete. Its format is organizations/`
331
+ # organization`/muteConfigs/`config_id`, folders/`folder`/muteConfigs/`config_id`
332
+ # , or projects/`project`/muteConfigs/`config_id`
333
+ # @param [String] fields
334
+ # Selector specifying which fields to include in a partial response.
335
+ # @param [String] quota_user
336
+ # Available to use for quota purposes for server-side applications. Can be any
337
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
338
+ # @param [Google::Apis::RequestOptions] options
339
+ # Request-specific options
340
+ #
341
+ # @yield [result, err] Result & error if block supplied
342
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Empty] parsed result object
343
+ # @yieldparam err [StandardError] error object if request failed
344
+ #
345
+ # @return [Google::Apis::SecuritycenterV1::Empty]
346
+ #
347
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
348
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
349
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
350
+ def delete_folder_mute_config(name, fields: nil, quota_user: nil, options: nil, &block)
351
+ command = make_simple_command(:delete, 'v1/{+name}', options)
352
+ command.response_representation = Google::Apis::SecuritycenterV1::Empty::Representation
353
+ command.response_class = Google::Apis::SecuritycenterV1::Empty
354
+ command.params['name'] = name unless name.nil?
355
+ command.query['fields'] = fields unless fields.nil?
356
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
357
+ execute_or_queue_command(command, &block)
358
+ end
359
+
360
+ # Gets a mute config.
361
+ # @param [String] name
362
+ # Required. Name of the mute config to retrieve. Its format is organizations/`
363
+ # organization`/muteConfigs/`config_id`, folders/`folder`/muteConfigs/`config_id`
364
+ # , or projects/`project`/muteConfigs/`config_id`
365
+ # @param [String] fields
366
+ # Selector specifying which fields to include in a partial response.
367
+ # @param [String] quota_user
368
+ # Available to use for quota purposes for server-side applications. Can be any
369
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
370
+ # @param [Google::Apis::RequestOptions] options
371
+ # Request-specific options
372
+ #
373
+ # @yield [result, err] Result & error if block supplied
374
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
375
+ # @yieldparam err [StandardError] error object if request failed
376
+ #
377
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
378
+ #
379
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
380
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
381
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
382
+ def get_folder_mute_config(name, fields: nil, quota_user: nil, options: nil, &block)
383
+ command = make_simple_command(:get, 'v1/{+name}', options)
384
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
385
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
386
+ command.params['name'] = name unless name.nil?
387
+ command.query['fields'] = fields unless fields.nil?
388
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
389
+ execute_or_queue_command(command, &block)
390
+ end
391
+
392
+ # Lists mute configs.
393
+ # @param [String] parent
394
+ # Required. The parent, which owns the collection of mute configs. Its format is
395
+ # "organizations/[organization_id]", "folders/[folder_id]", "projects/[
396
+ # project_id]".
397
+ # @param [Fixnum] page_size
398
+ # The maximum number of configs to return. The service may return fewer than
399
+ # this value. If unspecified, at most 10 configs will be returned. The maximum
400
+ # value is 1000; values above 1000 will be coerced to 1000.
401
+ # @param [String] page_token
402
+ # A page token, received from a previous `ListMuteConfigs` call. Provide this to
403
+ # retrieve the subsequent page. When paginating, all other parameters provided
404
+ # to `ListMuteConfigs` must match the call that provided the page token.
405
+ # @param [String] fields
406
+ # Selector specifying which fields to include in a partial response.
407
+ # @param [String] quota_user
408
+ # Available to use for quota purposes for server-side applications. Can be any
409
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
410
+ # @param [Google::Apis::RequestOptions] options
411
+ # Request-specific options
412
+ #
413
+ # @yield [result, err] Result & error if block supplied
414
+ # @yieldparam result [Google::Apis::SecuritycenterV1::ListMuteConfigsResponse] parsed result object
415
+ # @yieldparam err [StandardError] error object if request failed
416
+ #
417
+ # @return [Google::Apis::SecuritycenterV1::ListMuteConfigsResponse]
418
+ #
419
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
420
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
421
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
422
+ def list_folder_mute_configs(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
423
+ command = make_simple_command(:get, 'v1/{+parent}/muteConfigs', options)
424
+ command.response_representation = Google::Apis::SecuritycenterV1::ListMuteConfigsResponse::Representation
425
+ command.response_class = Google::Apis::SecuritycenterV1::ListMuteConfigsResponse
426
+ command.params['parent'] = parent unless parent.nil?
427
+ command.query['pageSize'] = page_size unless page_size.nil?
428
+ command.query['pageToken'] = page_token unless page_token.nil?
429
+ command.query['fields'] = fields unless fields.nil?
430
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
431
+ execute_or_queue_command(command, &block)
432
+ end
433
+
434
+ # Updates a mute config.
435
+ # @param [String] name
436
+ # This field will be ignored if provided on config creation. Format "
437
+ # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
438
+ # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`"
439
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] google_cloud_securitycenter_v1_mute_config_object
440
+ # @param [String] update_mask
441
+ # The list of fields to be updated. If empty all mutable fields will be updated.
442
+ # @param [String] fields
443
+ # Selector specifying which fields to include in a partial response.
444
+ # @param [String] quota_user
445
+ # Available to use for quota purposes for server-side applications. Can be any
446
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
447
+ # @param [Google::Apis::RequestOptions] options
448
+ # Request-specific options
449
+ #
450
+ # @yield [result, err] Result & error if block supplied
451
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
452
+ # @yieldparam err [StandardError] error object if request failed
453
+ #
454
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
455
+ #
456
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
457
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
458
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
459
+ def patch_folder_mute_config(name, google_cloud_securitycenter_v1_mute_config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
460
+ command = make_simple_command(:patch, 'v1/{+name}', options)
461
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
462
+ command.request_object = google_cloud_securitycenter_v1_mute_config_object
463
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
464
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
465
+ command.params['name'] = name unless name.nil?
466
+ command.query['updateMask'] = update_mask unless update_mask.nil?
467
+ command.query['fields'] = fields unless fields.nil?
468
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
469
+ execute_or_queue_command(command, &block)
470
+ end
471
+
250
472
  # Lists all sources belonging to an organization.
251
473
  # @param [String] parent
252
474
  # Required. Resource name of the parent of sources to list. Its format should be
@@ -486,6 +708,43 @@ module Google
486
708
  execute_or_queue_command(command, &block)
487
709
  end
488
710
 
711
+ # Updates the mute state of a finding.
712
+ # @param [String] name
713
+ # Required. The relative resource name of the finding. See: https://cloud.google.
714
+ # com/apis/design/resource_names#relative_resource_name Example: "organizations/`
715
+ # organization_id`/sources/`source_id`/finding/`finding_id`", "folders/`
716
+ # folder_id`/sources/`source_id`/finding/`finding_id`", "projects/`project_id`/
717
+ # sources/`source_id`/finding/`finding_id`".
718
+ # @param [Google::Apis::SecuritycenterV1::SetMuteRequest] set_mute_request_object
719
+ # @param [String] fields
720
+ # Selector specifying which fields to include in a partial response.
721
+ # @param [String] quota_user
722
+ # Available to use for quota purposes for server-side applications. Can be any
723
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
724
+ # @param [Google::Apis::RequestOptions] options
725
+ # Request-specific options
726
+ #
727
+ # @yield [result, err] Result & error if block supplied
728
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Finding] parsed result object
729
+ # @yieldparam err [StandardError] error object if request failed
730
+ #
731
+ # @return [Google::Apis::SecuritycenterV1::Finding]
732
+ #
733
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
734
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
735
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
736
+ def set_folder_source_finding_mute(name, set_mute_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
737
+ command = make_simple_command(:post, 'v1/{+name}:setMute', options)
738
+ command.request_representation = Google::Apis::SecuritycenterV1::SetMuteRequest::Representation
739
+ command.request_object = set_mute_request_object
740
+ command.response_representation = Google::Apis::SecuritycenterV1::Finding::Representation
741
+ command.response_class = Google::Apis::SecuritycenterV1::Finding
742
+ command.params['name'] = name unless name.nil?
743
+ command.query['fields'] = fields unless fields.nil?
744
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
745
+ execute_or_queue_command(command, &block)
746
+ end
747
+
489
748
  # Updates the state of a finding.
490
749
  # @param [String] name
491
750
  # Required. The relative resource name of the finding. See: https://cloud.google.
@@ -531,7 +790,8 @@ module Google
531
790
  # @param [String] start_time
532
791
  # The time at which the updated SecurityMarks take effect. If not set uses
533
792
  # current server time. Updates will be applied to the SecurityMarks that are
534
- # active immediately preceding this time.
793
+ # active immediately preceding this time. Must be smaller or equal to the server
794
+ # time.
535
795
  # @param [String] update_mask
536
796
  # The FieldMask to use when updating the security marks resource. The field mask
537
797
  # must not contain duplicate fields. If empty or set to "marks", all marks will
@@ -567,6 +827,46 @@ module Google
567
827
  execute_or_queue_command(command, &block)
568
828
  end
569
829
 
830
+ # Updates external system. This is for a given finding.
831
+ # @param [String] name
832
+ # External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/
833
+ # 5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/
834
+ # 123456/externalSystems/jira projects/1234/sources/5678/findings/123456/
835
+ # externalSystems/jira
836
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem] google_cloud_securitycenter_v1_external_system_object
837
+ # @param [String] update_mask
838
+ # The FieldMask to use when updating the external system resource. If empty all
839
+ # mutable fields will be updated.
840
+ # @param [String] fields
841
+ # Selector specifying which fields to include in a partial response.
842
+ # @param [String] quota_user
843
+ # Available to use for quota purposes for server-side applications. Can be any
844
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
845
+ # @param [Google::Apis::RequestOptions] options
846
+ # Request-specific options
847
+ #
848
+ # @yield [result, err] Result & error if block supplied
849
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem] parsed result object
850
+ # @yieldparam err [StandardError] error object if request failed
851
+ #
852
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem]
853
+ #
854
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
855
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
856
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
857
+ def patch_folder_source_finding_external_system(name, google_cloud_securitycenter_v1_external_system_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
858
+ command = make_simple_command(:patch, 'v1/{+name}', options)
859
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem::Representation
860
+ command.request_object = google_cloud_securitycenter_v1_external_system_object
861
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem::Representation
862
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem
863
+ command.params['name'] = name unless name.nil?
864
+ command.query['updateMask'] = update_mask unless update_mask.nil?
865
+ command.query['fields'] = fields unless fields.nil?
866
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
867
+ execute_or_queue_command(command, &block)
868
+ end
869
+
570
870
  # Gets the settings for an organization.
571
871
  # @param [String] name
572
872
  # Required. Name of the organization to get organization settings for. Its
@@ -834,7 +1134,8 @@ module Google
834
1134
  # @param [String] start_time
835
1135
  # The time at which the updated SecurityMarks take effect. If not set uses
836
1136
  # current server time. Updates will be applied to the SecurityMarks that are
837
- # active immediately preceding this time.
1137
+ # active immediately preceding this time. Must be smaller or equal to the server
1138
+ # time.
838
1139
  # @param [String] update_mask
839
1140
  # The FieldMask to use when updating the security marks resource. The field mask
840
1141
  # must not contain duplicate fields. If empty or set to "marks", all marks will
@@ -870,15 +1171,14 @@ module Google
870
1171
  execute_or_queue_command(command, &block)
871
1172
  end
872
1173
 
873
- # Creates a notification config.
1174
+ # Kicks off an LRO to bulk mute findings for a parent based on a filter. The
1175
+ # parent can be either an organization, folder or project. The findings matched
1176
+ # by the filter will be muted after the LRO is done.
874
1177
  # @param [String] parent
875
- # Required. Resource name of the new notification config's parent. Its format is
876
- # "organizations/[organization_id]".
877
- # @param [Google::Apis::SecuritycenterV1::NotificationConfig] notification_config_object
878
- # @param [String] config_id
879
- # Required. Unique identifier provided by the client within the parent scope. It
880
- # must be between 1 and 128 characters, and contains alphanumeric characters,
881
- # underscores or hyphens only.
1178
+ # Required. The parent, at which bulk action needs to be applied. Its format is "
1179
+ # organizations/[organization_id]", "folders/[folder_id]", "projects/[project_id]
1180
+ # ".
1181
+ # @param [Google::Apis::SecuritycenterV1::BulkMuteFindingsRequest] bulk_mute_findings_request_object
882
1182
  # @param [String] fields
883
1183
  # Selector specifying which fields to include in a partial response.
884
1184
  # @param [String] quota_user
@@ -888,31 +1188,36 @@ module Google
888
1188
  # Request-specific options
889
1189
  #
890
1190
  # @yield [result, err] Result & error if block supplied
891
- # @yieldparam result [Google::Apis::SecuritycenterV1::NotificationConfig] parsed result object
1191
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Operation] parsed result object
892
1192
  # @yieldparam err [StandardError] error object if request failed
893
1193
  #
894
- # @return [Google::Apis::SecuritycenterV1::NotificationConfig]
1194
+ # @return [Google::Apis::SecuritycenterV1::Operation]
895
1195
  #
896
1196
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
897
1197
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
898
1198
  # @raise [Google::Apis::AuthorizationError] Authorization is required
899
- def create_organization_notification_config(parent, notification_config_object = nil, config_id: nil, fields: nil, quota_user: nil, options: nil, &block)
900
- command = make_simple_command(:post, 'v1/{+parent}/notificationConfigs', options)
901
- command.request_representation = Google::Apis::SecuritycenterV1::NotificationConfig::Representation
902
- command.request_object = notification_config_object
903
- command.response_representation = Google::Apis::SecuritycenterV1::NotificationConfig::Representation
904
- command.response_class = Google::Apis::SecuritycenterV1::NotificationConfig
1199
+ def bulk_organization_finding_mute(parent, bulk_mute_findings_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1200
+ command = make_simple_command(:post, 'v1/{+parent}/findings:bulkMute', options)
1201
+ command.request_representation = Google::Apis::SecuritycenterV1::BulkMuteFindingsRequest::Representation
1202
+ command.request_object = bulk_mute_findings_request_object
1203
+ command.response_representation = Google::Apis::SecuritycenterV1::Operation::Representation
1204
+ command.response_class = Google::Apis::SecuritycenterV1::Operation
905
1205
  command.params['parent'] = parent unless parent.nil?
906
- command.query['configId'] = config_id unless config_id.nil?
907
1206
  command.query['fields'] = fields unless fields.nil?
908
1207
  command.query['quotaUser'] = quota_user unless quota_user.nil?
909
1208
  execute_or_queue_command(command, &block)
910
1209
  end
911
1210
 
912
- # Deletes a notification config.
913
- # @param [String] name
914
- # Required. Name of the notification config to delete. Its format is "
915
- # organizations/[organization_id]/notificationConfigs/[config_id]".
1211
+ # Creates a mute config.
1212
+ # @param [String] parent
1213
+ # Required. Resource name of the new mute configs's parent. Its format is "
1214
+ # organizations/[organization_id]", "folders/[folder_id]", or "projects/[
1215
+ # project_id]".
1216
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] google_cloud_securitycenter_v1_mute_config_object
1217
+ # @param [String] mute_config_id
1218
+ # Required. Unique identifier provided by the client within the parent scope. It
1219
+ # must consist of lower case letters, numbers, and hyphen, with the first
1220
+ # character a letter, the last a letter or a number, and a 63 character maximum.
916
1221
  # @param [String] fields
917
1222
  # Selector specifying which fields to include in a partial response.
918
1223
  # @param [String] quota_user
@@ -922,28 +1227,32 @@ module Google
922
1227
  # Request-specific options
923
1228
  #
924
1229
  # @yield [result, err] Result & error if block supplied
925
- # @yieldparam result [Google::Apis::SecuritycenterV1::Empty] parsed result object
1230
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
926
1231
  # @yieldparam err [StandardError] error object if request failed
927
1232
  #
928
- # @return [Google::Apis::SecuritycenterV1::Empty]
1233
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
929
1234
  #
930
1235
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
931
1236
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
932
1237
  # @raise [Google::Apis::AuthorizationError] Authorization is required
933
- def delete_organization_notification_config(name, fields: nil, quota_user: nil, options: nil, &block)
934
- command = make_simple_command(:delete, 'v1/{+name}', options)
935
- command.response_representation = Google::Apis::SecuritycenterV1::Empty::Representation
936
- command.response_class = Google::Apis::SecuritycenterV1::Empty
937
- command.params['name'] = name unless name.nil?
1238
+ def create_organization_mute_config(parent, google_cloud_securitycenter_v1_mute_config_object = nil, mute_config_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1239
+ command = make_simple_command(:post, 'v1/{+parent}/muteConfigs', options)
1240
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
1241
+ command.request_object = google_cloud_securitycenter_v1_mute_config_object
1242
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
1243
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
1244
+ command.params['parent'] = parent unless parent.nil?
1245
+ command.query['muteConfigId'] = mute_config_id unless mute_config_id.nil?
938
1246
  command.query['fields'] = fields unless fields.nil?
939
1247
  command.query['quotaUser'] = quota_user unless quota_user.nil?
940
1248
  execute_or_queue_command(command, &block)
941
1249
  end
942
1250
 
943
- # Gets a notification config.
1251
+ # Deletes an existing mute config.
944
1252
  # @param [String] name
945
- # Required. Name of the notification config to get. Its format is "organizations/
946
- # [organization_id]/notificationConfigs/[config_id]".
1253
+ # Required. Name of the mute config to delete. Its format is organizations/`
1254
+ # organization`/muteConfigs/`config_id`, folders/`folder`/muteConfigs/`config_id`
1255
+ # , or projects/`project`/muteConfigs/`config_id`
947
1256
  # @param [String] fields
948
1257
  # Selector specifying which fields to include in a partial response.
949
1258
  # @param [String] quota_user
@@ -953,25 +1262,238 @@ module Google
953
1262
  # Request-specific options
954
1263
  #
955
1264
  # @yield [result, err] Result & error if block supplied
956
- # @yieldparam result [Google::Apis::SecuritycenterV1::NotificationConfig] parsed result object
1265
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Empty] parsed result object
957
1266
  # @yieldparam err [StandardError] error object if request failed
958
1267
  #
959
- # @return [Google::Apis::SecuritycenterV1::NotificationConfig]
1268
+ # @return [Google::Apis::SecuritycenterV1::Empty]
960
1269
  #
961
1270
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
962
1271
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
963
1272
  # @raise [Google::Apis::AuthorizationError] Authorization is required
964
- def get_organization_notification_config(name, fields: nil, quota_user: nil, options: nil, &block)
965
- command = make_simple_command(:get, 'v1/{+name}', options)
966
- command.response_representation = Google::Apis::SecuritycenterV1::NotificationConfig::Representation
967
- command.response_class = Google::Apis::SecuritycenterV1::NotificationConfig
1273
+ def delete_organization_mute_config(name, fields: nil, quota_user: nil, options: nil, &block)
1274
+ command = make_simple_command(:delete, 'v1/{+name}', options)
1275
+ command.response_representation = Google::Apis::SecuritycenterV1::Empty::Representation
1276
+ command.response_class = Google::Apis::SecuritycenterV1::Empty
968
1277
  command.params['name'] = name unless name.nil?
969
1278
  command.query['fields'] = fields unless fields.nil?
970
1279
  command.query['quotaUser'] = quota_user unless quota_user.nil?
971
1280
  execute_or_queue_command(command, &block)
972
1281
  end
973
1282
 
974
- # Lists notification configs.
1283
+ # Gets a mute config.
1284
+ # @param [String] name
1285
+ # Required. Name of the mute config to retrieve. Its format is organizations/`
1286
+ # organization`/muteConfigs/`config_id`, folders/`folder`/muteConfigs/`config_id`
1287
+ # , or projects/`project`/muteConfigs/`config_id`
1288
+ # @param [String] fields
1289
+ # Selector specifying which fields to include in a partial response.
1290
+ # @param [String] quota_user
1291
+ # Available to use for quota purposes for server-side applications. Can be any
1292
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1293
+ # @param [Google::Apis::RequestOptions] options
1294
+ # Request-specific options
1295
+ #
1296
+ # @yield [result, err] Result & error if block supplied
1297
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
1298
+ # @yieldparam err [StandardError] error object if request failed
1299
+ #
1300
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
1301
+ #
1302
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1303
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1304
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1305
+ def get_organization_mute_config(name, fields: nil, quota_user: nil, options: nil, &block)
1306
+ command = make_simple_command(:get, 'v1/{+name}', options)
1307
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
1308
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
1309
+ command.params['name'] = name unless name.nil?
1310
+ command.query['fields'] = fields unless fields.nil?
1311
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1312
+ execute_or_queue_command(command, &block)
1313
+ end
1314
+
1315
+ # Lists mute configs.
1316
+ # @param [String] parent
1317
+ # Required. The parent, which owns the collection of mute configs. Its format is
1318
+ # "organizations/[organization_id]", "folders/[folder_id]", "projects/[
1319
+ # project_id]".
1320
+ # @param [Fixnum] page_size
1321
+ # The maximum number of configs to return. The service may return fewer than
1322
+ # this value. If unspecified, at most 10 configs will be returned. The maximum
1323
+ # value is 1000; values above 1000 will be coerced to 1000.
1324
+ # @param [String] page_token
1325
+ # A page token, received from a previous `ListMuteConfigs` call. Provide this to
1326
+ # retrieve the subsequent page. When paginating, all other parameters provided
1327
+ # to `ListMuteConfigs` must match the call that provided the page token.
1328
+ # @param [String] fields
1329
+ # Selector specifying which fields to include in a partial response.
1330
+ # @param [String] quota_user
1331
+ # Available to use for quota purposes for server-side applications. Can be any
1332
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1333
+ # @param [Google::Apis::RequestOptions] options
1334
+ # Request-specific options
1335
+ #
1336
+ # @yield [result, err] Result & error if block supplied
1337
+ # @yieldparam result [Google::Apis::SecuritycenterV1::ListMuteConfigsResponse] parsed result object
1338
+ # @yieldparam err [StandardError] error object if request failed
1339
+ #
1340
+ # @return [Google::Apis::SecuritycenterV1::ListMuteConfigsResponse]
1341
+ #
1342
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1343
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1344
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1345
+ def list_organization_mute_configs(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
1346
+ command = make_simple_command(:get, 'v1/{+parent}/muteConfigs', options)
1347
+ command.response_representation = Google::Apis::SecuritycenterV1::ListMuteConfigsResponse::Representation
1348
+ command.response_class = Google::Apis::SecuritycenterV1::ListMuteConfigsResponse
1349
+ command.params['parent'] = parent unless parent.nil?
1350
+ command.query['pageSize'] = page_size unless page_size.nil?
1351
+ command.query['pageToken'] = page_token unless page_token.nil?
1352
+ command.query['fields'] = fields unless fields.nil?
1353
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1354
+ execute_or_queue_command(command, &block)
1355
+ end
1356
+
1357
+ # Updates a mute config.
1358
+ # @param [String] name
1359
+ # This field will be ignored if provided on config creation. Format "
1360
+ # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
1361
+ # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`"
1362
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] google_cloud_securitycenter_v1_mute_config_object
1363
+ # @param [String] update_mask
1364
+ # The list of fields to be updated. If empty all mutable fields will be updated.
1365
+ # @param [String] fields
1366
+ # Selector specifying which fields to include in a partial response.
1367
+ # @param [String] quota_user
1368
+ # Available to use for quota purposes for server-side applications. Can be any
1369
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1370
+ # @param [Google::Apis::RequestOptions] options
1371
+ # Request-specific options
1372
+ #
1373
+ # @yield [result, err] Result & error if block supplied
1374
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
1375
+ # @yieldparam err [StandardError] error object if request failed
1376
+ #
1377
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
1378
+ #
1379
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1380
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1381
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1382
+ def patch_organization_mute_config(name, google_cloud_securitycenter_v1_mute_config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
1383
+ command = make_simple_command(:patch, 'v1/{+name}', options)
1384
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
1385
+ command.request_object = google_cloud_securitycenter_v1_mute_config_object
1386
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
1387
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
1388
+ command.params['name'] = name unless name.nil?
1389
+ command.query['updateMask'] = update_mask unless update_mask.nil?
1390
+ command.query['fields'] = fields unless fields.nil?
1391
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1392
+ execute_or_queue_command(command, &block)
1393
+ end
1394
+
1395
+ # Creates a notification config.
1396
+ # @param [String] parent
1397
+ # Required. Resource name of the new notification config's parent. Its format is
1398
+ # "organizations/[organization_id]".
1399
+ # @param [Google::Apis::SecuritycenterV1::NotificationConfig] notification_config_object
1400
+ # @param [String] config_id
1401
+ # Required. Unique identifier provided by the client within the parent scope. It
1402
+ # must be between 1 and 128 characters, and contains alphanumeric characters,
1403
+ # underscores or hyphens only.
1404
+ # @param [String] fields
1405
+ # Selector specifying which fields to include in a partial response.
1406
+ # @param [String] quota_user
1407
+ # Available to use for quota purposes for server-side applications. Can be any
1408
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1409
+ # @param [Google::Apis::RequestOptions] options
1410
+ # Request-specific options
1411
+ #
1412
+ # @yield [result, err] Result & error if block supplied
1413
+ # @yieldparam result [Google::Apis::SecuritycenterV1::NotificationConfig] parsed result object
1414
+ # @yieldparam err [StandardError] error object if request failed
1415
+ #
1416
+ # @return [Google::Apis::SecuritycenterV1::NotificationConfig]
1417
+ #
1418
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1419
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1420
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1421
+ def create_organization_notification_config(parent, notification_config_object = nil, config_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1422
+ command = make_simple_command(:post, 'v1/{+parent}/notificationConfigs', options)
1423
+ command.request_representation = Google::Apis::SecuritycenterV1::NotificationConfig::Representation
1424
+ command.request_object = notification_config_object
1425
+ command.response_representation = Google::Apis::SecuritycenterV1::NotificationConfig::Representation
1426
+ command.response_class = Google::Apis::SecuritycenterV1::NotificationConfig
1427
+ command.params['parent'] = parent unless parent.nil?
1428
+ command.query['configId'] = config_id unless config_id.nil?
1429
+ command.query['fields'] = fields unless fields.nil?
1430
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1431
+ execute_or_queue_command(command, &block)
1432
+ end
1433
+
1434
+ # Deletes a notification config.
1435
+ # @param [String] name
1436
+ # Required. Name of the notification config to delete. Its format is "
1437
+ # organizations/[organization_id]/notificationConfigs/[config_id]".
1438
+ # @param [String] fields
1439
+ # Selector specifying which fields to include in a partial response.
1440
+ # @param [String] quota_user
1441
+ # Available to use for quota purposes for server-side applications. Can be any
1442
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1443
+ # @param [Google::Apis::RequestOptions] options
1444
+ # Request-specific options
1445
+ #
1446
+ # @yield [result, err] Result & error if block supplied
1447
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Empty] parsed result object
1448
+ # @yieldparam err [StandardError] error object if request failed
1449
+ #
1450
+ # @return [Google::Apis::SecuritycenterV1::Empty]
1451
+ #
1452
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1453
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1454
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1455
+ def delete_organization_notification_config(name, fields: nil, quota_user: nil, options: nil, &block)
1456
+ command = make_simple_command(:delete, 'v1/{+name}', options)
1457
+ command.response_representation = Google::Apis::SecuritycenterV1::Empty::Representation
1458
+ command.response_class = Google::Apis::SecuritycenterV1::Empty
1459
+ command.params['name'] = name unless name.nil?
1460
+ command.query['fields'] = fields unless fields.nil?
1461
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1462
+ execute_or_queue_command(command, &block)
1463
+ end
1464
+
1465
+ # Gets a notification config.
1466
+ # @param [String] name
1467
+ # Required. Name of the notification config to get. Its format is "organizations/
1468
+ # [organization_id]/notificationConfigs/[config_id]".
1469
+ # @param [String] fields
1470
+ # Selector specifying which fields to include in a partial response.
1471
+ # @param [String] quota_user
1472
+ # Available to use for quota purposes for server-side applications. Can be any
1473
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1474
+ # @param [Google::Apis::RequestOptions] options
1475
+ # Request-specific options
1476
+ #
1477
+ # @yield [result, err] Result & error if block supplied
1478
+ # @yieldparam result [Google::Apis::SecuritycenterV1::NotificationConfig] parsed result object
1479
+ # @yieldparam err [StandardError] error object if request failed
1480
+ #
1481
+ # @return [Google::Apis::SecuritycenterV1::NotificationConfig]
1482
+ #
1483
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1484
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1485
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1486
+ def get_organization_notification_config(name, fields: nil, quota_user: nil, options: nil, &block)
1487
+ command = make_simple_command(:get, 'v1/{+name}', options)
1488
+ command.response_representation = Google::Apis::SecuritycenterV1::NotificationConfig::Representation
1489
+ command.response_class = Google::Apis::SecuritycenterV1::NotificationConfig
1490
+ command.params['name'] = name unless name.nil?
1491
+ command.query['fields'] = fields unless fields.nil?
1492
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1493
+ execute_or_queue_command(command, &block)
1494
+ end
1495
+
1496
+ # Lists notification configs.
975
1497
  # @param [String] parent
976
1498
  # Required. Name of the organization to list notification configs. Its format is
977
1499
  # "organizations/[organization_id]".
@@ -1683,6 +2205,43 @@ module Google
1683
2205
  execute_or_queue_command(command, &block)
1684
2206
  end
1685
2207
 
2208
+ # Updates the mute state of a finding.
2209
+ # @param [String] name
2210
+ # Required. The relative resource name of the finding. See: https://cloud.google.
2211
+ # com/apis/design/resource_names#relative_resource_name Example: "organizations/`
2212
+ # organization_id`/sources/`source_id`/finding/`finding_id`", "folders/`
2213
+ # folder_id`/sources/`source_id`/finding/`finding_id`", "projects/`project_id`/
2214
+ # sources/`source_id`/finding/`finding_id`".
2215
+ # @param [Google::Apis::SecuritycenterV1::SetMuteRequest] set_mute_request_object
2216
+ # @param [String] fields
2217
+ # Selector specifying which fields to include in a partial response.
2218
+ # @param [String] quota_user
2219
+ # Available to use for quota purposes for server-side applications. Can be any
2220
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2221
+ # @param [Google::Apis::RequestOptions] options
2222
+ # Request-specific options
2223
+ #
2224
+ # @yield [result, err] Result & error if block supplied
2225
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Finding] parsed result object
2226
+ # @yieldparam err [StandardError] error object if request failed
2227
+ #
2228
+ # @return [Google::Apis::SecuritycenterV1::Finding]
2229
+ #
2230
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2231
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2232
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2233
+ def set_organization_source_finding_mute(name, set_mute_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
2234
+ command = make_simple_command(:post, 'v1/{+name}:setMute', options)
2235
+ command.request_representation = Google::Apis::SecuritycenterV1::SetMuteRequest::Representation
2236
+ command.request_object = set_mute_request_object
2237
+ command.response_representation = Google::Apis::SecuritycenterV1::Finding::Representation
2238
+ command.response_class = Google::Apis::SecuritycenterV1::Finding
2239
+ command.params['name'] = name unless name.nil?
2240
+ command.query['fields'] = fields unless fields.nil?
2241
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2242
+ execute_or_queue_command(command, &block)
2243
+ end
2244
+
1686
2245
  # Updates the state of a finding.
1687
2246
  # @param [String] name
1688
2247
  # Required. The relative resource name of the finding. See: https://cloud.google.
@@ -1728,7 +2287,8 @@ module Google
1728
2287
  # @param [String] start_time
1729
2288
  # The time at which the updated SecurityMarks take effect. If not set uses
1730
2289
  # current server time. Updates will be applied to the SecurityMarks that are
1731
- # active immediately preceding this time.
2290
+ # active immediately preceding this time. Must be smaller or equal to the server
2291
+ # time.
1732
2292
  # @param [String] update_mask
1733
2293
  # The FieldMask to use when updating the security marks resource. The field mask
1734
2294
  # must not contain duplicate fields. If empty or set to "marks", all marks will
@@ -1764,6 +2324,46 @@ module Google
1764
2324
  execute_or_queue_command(command, &block)
1765
2325
  end
1766
2326
 
2327
+ # Updates external system. This is for a given finding.
2328
+ # @param [String] name
2329
+ # External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/
2330
+ # 5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/
2331
+ # 123456/externalSystems/jira projects/1234/sources/5678/findings/123456/
2332
+ # externalSystems/jira
2333
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem] google_cloud_securitycenter_v1_external_system_object
2334
+ # @param [String] update_mask
2335
+ # The FieldMask to use when updating the external system resource. If empty all
2336
+ # mutable fields will be updated.
2337
+ # @param [String] fields
2338
+ # Selector specifying which fields to include in a partial response.
2339
+ # @param [String] quota_user
2340
+ # Available to use for quota purposes for server-side applications. Can be any
2341
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2342
+ # @param [Google::Apis::RequestOptions] options
2343
+ # Request-specific options
2344
+ #
2345
+ # @yield [result, err] Result & error if block supplied
2346
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem] parsed result object
2347
+ # @yieldparam err [StandardError] error object if request failed
2348
+ #
2349
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem]
2350
+ #
2351
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2352
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2353
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2354
+ def patch_organization_source_finding_external_system(name, google_cloud_securitycenter_v1_external_system_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
2355
+ command = make_simple_command(:patch, 'v1/{+name}', options)
2356
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem::Representation
2357
+ command.request_object = google_cloud_securitycenter_v1_external_system_object
2358
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem::Representation
2359
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem
2360
+ command.params['name'] = name unless name.nil?
2361
+ command.query['updateMask'] = update_mask unless update_mask.nil?
2362
+ command.query['fields'] = fields unless fields.nil?
2363
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2364
+ execute_or_queue_command(command, &block)
2365
+ end
2366
+
1767
2367
  # Filters an organization's assets and groups them by their specified properties.
1768
2368
  # @param [String] parent
1769
2369
  # Required. Name of the organization to groupBy. Its format is "organizations/[
@@ -1925,7 +2525,8 @@ module Google
1925
2525
  # @param [String] start_time
1926
2526
  # The time at which the updated SecurityMarks take effect. If not set uses
1927
2527
  # current server time. Updates will be applied to the SecurityMarks that are
1928
- # active immediately preceding this time.
2528
+ # active immediately preceding this time. Must be smaller or equal to the server
2529
+ # time.
1929
2530
  # @param [String] update_mask
1930
2531
  # The FieldMask to use when updating the security marks resource. The field mask
1931
2532
  # must not contain duplicate fields. If empty or set to "marks", all marks will
@@ -1961,6 +2562,227 @@ module Google
1961
2562
  execute_or_queue_command(command, &block)
1962
2563
  end
1963
2564
 
2565
+ # Kicks off an LRO to bulk mute findings for a parent based on a filter. The
2566
+ # parent can be either an organization, folder or project. The findings matched
2567
+ # by the filter will be muted after the LRO is done.
2568
+ # @param [String] parent
2569
+ # Required. The parent, at which bulk action needs to be applied. Its format is "
2570
+ # organizations/[organization_id]", "folders/[folder_id]", "projects/[project_id]
2571
+ # ".
2572
+ # @param [Google::Apis::SecuritycenterV1::BulkMuteFindingsRequest] bulk_mute_findings_request_object
2573
+ # @param [String] fields
2574
+ # Selector specifying which fields to include in a partial response.
2575
+ # @param [String] quota_user
2576
+ # Available to use for quota purposes for server-side applications. Can be any
2577
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2578
+ # @param [Google::Apis::RequestOptions] options
2579
+ # Request-specific options
2580
+ #
2581
+ # @yield [result, err] Result & error if block supplied
2582
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Operation] parsed result object
2583
+ # @yieldparam err [StandardError] error object if request failed
2584
+ #
2585
+ # @return [Google::Apis::SecuritycenterV1::Operation]
2586
+ #
2587
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2588
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2589
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2590
+ def bulk_project_finding_mute(parent, bulk_mute_findings_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
2591
+ command = make_simple_command(:post, 'v1/{+parent}/findings:bulkMute', options)
2592
+ command.request_representation = Google::Apis::SecuritycenterV1::BulkMuteFindingsRequest::Representation
2593
+ command.request_object = bulk_mute_findings_request_object
2594
+ command.response_representation = Google::Apis::SecuritycenterV1::Operation::Representation
2595
+ command.response_class = Google::Apis::SecuritycenterV1::Operation
2596
+ command.params['parent'] = parent unless parent.nil?
2597
+ command.query['fields'] = fields unless fields.nil?
2598
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2599
+ execute_or_queue_command(command, &block)
2600
+ end
2601
+
2602
+ # Creates a mute config.
2603
+ # @param [String] parent
2604
+ # Required. Resource name of the new mute configs's parent. Its format is "
2605
+ # organizations/[organization_id]", "folders/[folder_id]", or "projects/[
2606
+ # project_id]".
2607
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] google_cloud_securitycenter_v1_mute_config_object
2608
+ # @param [String] mute_config_id
2609
+ # Required. Unique identifier provided by the client within the parent scope. It
2610
+ # must consist of lower case letters, numbers, and hyphen, with the first
2611
+ # character a letter, the last a letter or a number, and a 63 character maximum.
2612
+ # @param [String] fields
2613
+ # Selector specifying which fields to include in a partial response.
2614
+ # @param [String] quota_user
2615
+ # Available to use for quota purposes for server-side applications. Can be any
2616
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2617
+ # @param [Google::Apis::RequestOptions] options
2618
+ # Request-specific options
2619
+ #
2620
+ # @yield [result, err] Result & error if block supplied
2621
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
2622
+ # @yieldparam err [StandardError] error object if request failed
2623
+ #
2624
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
2625
+ #
2626
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2627
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2628
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2629
+ def create_project_mute_config(parent, google_cloud_securitycenter_v1_mute_config_object = nil, mute_config_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2630
+ command = make_simple_command(:post, 'v1/{+parent}/muteConfigs', options)
2631
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
2632
+ command.request_object = google_cloud_securitycenter_v1_mute_config_object
2633
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
2634
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
2635
+ command.params['parent'] = parent unless parent.nil?
2636
+ command.query['muteConfigId'] = mute_config_id unless mute_config_id.nil?
2637
+ command.query['fields'] = fields unless fields.nil?
2638
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2639
+ execute_or_queue_command(command, &block)
2640
+ end
2641
+
2642
+ # Deletes an existing mute config.
2643
+ # @param [String] name
2644
+ # Required. Name of the mute config to delete. Its format is organizations/`
2645
+ # organization`/muteConfigs/`config_id`, folders/`folder`/muteConfigs/`config_id`
2646
+ # , or projects/`project`/muteConfigs/`config_id`
2647
+ # @param [String] fields
2648
+ # Selector specifying which fields to include in a partial response.
2649
+ # @param [String] quota_user
2650
+ # Available to use for quota purposes for server-side applications. Can be any
2651
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2652
+ # @param [Google::Apis::RequestOptions] options
2653
+ # Request-specific options
2654
+ #
2655
+ # @yield [result, err] Result & error if block supplied
2656
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Empty] parsed result object
2657
+ # @yieldparam err [StandardError] error object if request failed
2658
+ #
2659
+ # @return [Google::Apis::SecuritycenterV1::Empty]
2660
+ #
2661
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2662
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2663
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2664
+ def delete_project_mute_config(name, fields: nil, quota_user: nil, options: nil, &block)
2665
+ command = make_simple_command(:delete, 'v1/{+name}', options)
2666
+ command.response_representation = Google::Apis::SecuritycenterV1::Empty::Representation
2667
+ command.response_class = Google::Apis::SecuritycenterV1::Empty
2668
+ command.params['name'] = name unless name.nil?
2669
+ command.query['fields'] = fields unless fields.nil?
2670
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2671
+ execute_or_queue_command(command, &block)
2672
+ end
2673
+
2674
+ # Gets a mute config.
2675
+ # @param [String] name
2676
+ # Required. Name of the mute config to retrieve. Its format is organizations/`
2677
+ # organization`/muteConfigs/`config_id`, folders/`folder`/muteConfigs/`config_id`
2678
+ # , or projects/`project`/muteConfigs/`config_id`
2679
+ # @param [String] fields
2680
+ # Selector specifying which fields to include in a partial response.
2681
+ # @param [String] quota_user
2682
+ # Available to use for quota purposes for server-side applications. Can be any
2683
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2684
+ # @param [Google::Apis::RequestOptions] options
2685
+ # Request-specific options
2686
+ #
2687
+ # @yield [result, err] Result & error if block supplied
2688
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
2689
+ # @yieldparam err [StandardError] error object if request failed
2690
+ #
2691
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
2692
+ #
2693
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2694
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2695
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2696
+ def get_project_mute_config(name, fields: nil, quota_user: nil, options: nil, &block)
2697
+ command = make_simple_command(:get, 'v1/{+name}', options)
2698
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
2699
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
2700
+ command.params['name'] = name unless name.nil?
2701
+ command.query['fields'] = fields unless fields.nil?
2702
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2703
+ execute_or_queue_command(command, &block)
2704
+ end
2705
+
2706
+ # Lists mute configs.
2707
+ # @param [String] parent
2708
+ # Required. The parent, which owns the collection of mute configs. Its format is
2709
+ # "organizations/[organization_id]", "folders/[folder_id]", "projects/[
2710
+ # project_id]".
2711
+ # @param [Fixnum] page_size
2712
+ # The maximum number of configs to return. The service may return fewer than
2713
+ # this value. If unspecified, at most 10 configs will be returned. The maximum
2714
+ # value is 1000; values above 1000 will be coerced to 1000.
2715
+ # @param [String] page_token
2716
+ # A page token, received from a previous `ListMuteConfigs` call. Provide this to
2717
+ # retrieve the subsequent page. When paginating, all other parameters provided
2718
+ # to `ListMuteConfigs` must match the call that provided the page token.
2719
+ # @param [String] fields
2720
+ # Selector specifying which fields to include in a partial response.
2721
+ # @param [String] quota_user
2722
+ # Available to use for quota purposes for server-side applications. Can be any
2723
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2724
+ # @param [Google::Apis::RequestOptions] options
2725
+ # Request-specific options
2726
+ #
2727
+ # @yield [result, err] Result & error if block supplied
2728
+ # @yieldparam result [Google::Apis::SecuritycenterV1::ListMuteConfigsResponse] parsed result object
2729
+ # @yieldparam err [StandardError] error object if request failed
2730
+ #
2731
+ # @return [Google::Apis::SecuritycenterV1::ListMuteConfigsResponse]
2732
+ #
2733
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2734
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2735
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2736
+ def list_project_mute_configs(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
2737
+ command = make_simple_command(:get, 'v1/{+parent}/muteConfigs', options)
2738
+ command.response_representation = Google::Apis::SecuritycenterV1::ListMuteConfigsResponse::Representation
2739
+ command.response_class = Google::Apis::SecuritycenterV1::ListMuteConfigsResponse
2740
+ command.params['parent'] = parent unless parent.nil?
2741
+ command.query['pageSize'] = page_size unless page_size.nil?
2742
+ command.query['pageToken'] = page_token unless page_token.nil?
2743
+ command.query['fields'] = fields unless fields.nil?
2744
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2745
+ execute_or_queue_command(command, &block)
2746
+ end
2747
+
2748
+ # Updates a mute config.
2749
+ # @param [String] name
2750
+ # This field will be ignored if provided on config creation. Format "
2751
+ # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
2752
+ # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`"
2753
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] google_cloud_securitycenter_v1_mute_config_object
2754
+ # @param [String] update_mask
2755
+ # The list of fields to be updated. If empty all mutable fields will be updated.
2756
+ # @param [String] fields
2757
+ # Selector specifying which fields to include in a partial response.
2758
+ # @param [String] quota_user
2759
+ # Available to use for quota purposes for server-side applications. Can be any
2760
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2761
+ # @param [Google::Apis::RequestOptions] options
2762
+ # Request-specific options
2763
+ #
2764
+ # @yield [result, err] Result & error if block supplied
2765
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig] parsed result object
2766
+ # @yieldparam err [StandardError] error object if request failed
2767
+ #
2768
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig]
2769
+ #
2770
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2771
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2772
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2773
+ def patch_project_mute_config(name, google_cloud_securitycenter_v1_mute_config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
2774
+ command = make_simple_command(:patch, 'v1/{+name}', options)
2775
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
2776
+ command.request_object = google_cloud_securitycenter_v1_mute_config_object
2777
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig::Representation
2778
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1MuteConfig
2779
+ command.params['name'] = name unless name.nil?
2780
+ command.query['updateMask'] = update_mask unless update_mask.nil?
2781
+ command.query['fields'] = fields unless fields.nil?
2782
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2783
+ execute_or_queue_command(command, &block)
2784
+ end
2785
+
1964
2786
  # Lists all sources belonging to an organization.
1965
2787
  # @param [String] parent
1966
2788
  # Required. Resource name of the parent of sources to list. Its format should be
@@ -2200,6 +3022,43 @@ module Google
2200
3022
  execute_or_queue_command(command, &block)
2201
3023
  end
2202
3024
 
3025
+ # Updates the mute state of a finding.
3026
+ # @param [String] name
3027
+ # Required. The relative resource name of the finding. See: https://cloud.google.
3028
+ # com/apis/design/resource_names#relative_resource_name Example: "organizations/`
3029
+ # organization_id`/sources/`source_id`/finding/`finding_id`", "folders/`
3030
+ # folder_id`/sources/`source_id`/finding/`finding_id`", "projects/`project_id`/
3031
+ # sources/`source_id`/finding/`finding_id`".
3032
+ # @param [Google::Apis::SecuritycenterV1::SetMuteRequest] set_mute_request_object
3033
+ # @param [String] fields
3034
+ # Selector specifying which fields to include in a partial response.
3035
+ # @param [String] quota_user
3036
+ # Available to use for quota purposes for server-side applications. Can be any
3037
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
3038
+ # @param [Google::Apis::RequestOptions] options
3039
+ # Request-specific options
3040
+ #
3041
+ # @yield [result, err] Result & error if block supplied
3042
+ # @yieldparam result [Google::Apis::SecuritycenterV1::Finding] parsed result object
3043
+ # @yieldparam err [StandardError] error object if request failed
3044
+ #
3045
+ # @return [Google::Apis::SecuritycenterV1::Finding]
3046
+ #
3047
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
3048
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
3049
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
3050
+ def set_project_source_finding_mute(name, set_mute_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
3051
+ command = make_simple_command(:post, 'v1/{+name}:setMute', options)
3052
+ command.request_representation = Google::Apis::SecuritycenterV1::SetMuteRequest::Representation
3053
+ command.request_object = set_mute_request_object
3054
+ command.response_representation = Google::Apis::SecuritycenterV1::Finding::Representation
3055
+ command.response_class = Google::Apis::SecuritycenterV1::Finding
3056
+ command.params['name'] = name unless name.nil?
3057
+ command.query['fields'] = fields unless fields.nil?
3058
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
3059
+ execute_or_queue_command(command, &block)
3060
+ end
3061
+
2203
3062
  # Updates the state of a finding.
2204
3063
  # @param [String] name
2205
3064
  # Required. The relative resource name of the finding. See: https://cloud.google.
@@ -2245,7 +3104,8 @@ module Google
2245
3104
  # @param [String] start_time
2246
3105
  # The time at which the updated SecurityMarks take effect. If not set uses
2247
3106
  # current server time. Updates will be applied to the SecurityMarks that are
2248
- # active immediately preceding this time.
3107
+ # active immediately preceding this time. Must be smaller or equal to the server
3108
+ # time.
2249
3109
  # @param [String] update_mask
2250
3110
  # The FieldMask to use when updating the security marks resource. The field mask
2251
3111
  # must not contain duplicate fields. If empty or set to "marks", all marks will
@@ -2280,6 +3140,46 @@ module Google
2280
3140
  command.query['quotaUser'] = quota_user unless quota_user.nil?
2281
3141
  execute_or_queue_command(command, &block)
2282
3142
  end
3143
+
3144
+ # Updates external system. This is for a given finding.
3145
+ # @param [String] name
3146
+ # External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/
3147
+ # 5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/
3148
+ # 123456/externalSystems/jira projects/1234/sources/5678/findings/123456/
3149
+ # externalSystems/jira
3150
+ # @param [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem] google_cloud_securitycenter_v1_external_system_object
3151
+ # @param [String] update_mask
3152
+ # The FieldMask to use when updating the external system resource. If empty all
3153
+ # mutable fields will be updated.
3154
+ # @param [String] fields
3155
+ # Selector specifying which fields to include in a partial response.
3156
+ # @param [String] quota_user
3157
+ # Available to use for quota purposes for server-side applications. Can be any
3158
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
3159
+ # @param [Google::Apis::RequestOptions] options
3160
+ # Request-specific options
3161
+ #
3162
+ # @yield [result, err] Result & error if block supplied
3163
+ # @yieldparam result [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem] parsed result object
3164
+ # @yieldparam err [StandardError] error object if request failed
3165
+ #
3166
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem]
3167
+ #
3168
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
3169
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
3170
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
3171
+ def patch_project_source_finding_external_system(name, google_cloud_securitycenter_v1_external_system_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
3172
+ command = make_simple_command(:patch, 'v1/{+name}', options)
3173
+ command.request_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem::Representation
3174
+ command.request_object = google_cloud_securitycenter_v1_external_system_object
3175
+ command.response_representation = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem::Representation
3176
+ command.response_class = Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1ExternalSystem
3177
+ command.params['name'] = name unless name.nil?
3178
+ command.query['updateMask'] = update_mask unless update_mask.nil?
3179
+ command.query['fields'] = fields unless fields.nil?
3180
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
3181
+ execute_or_queue_command(command, &block)
3182
+ end
2283
3183
 
2284
3184
  protected
2285
3185