aws-sdk-guardduty 1.133.0 → 1.134.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41daf82129584712a773fc6943032cba32b4d4e3c9e9b9c67d3462a442e5b01b
4
- data.tar.gz: efd660bf5a66d97ecaf5ffde04aa3ebf302987a97c1c00fb07606a586fc878c9
3
+ metadata.gz: 0b2658d4978877533ab0c8a7ee6dc19659d224b7c5b3c5d31d2fd42b501c6d44
4
+ data.tar.gz: 117429fb1e99e1d34c05eca2bd802dbef11cb3663137a3216916fd4469cecc72
5
5
  SHA512:
6
- metadata.gz: 6084704b0a8b3962752af1d607ac94fae4689bf68c5d4f5997c809ce2acf7d51363cd8a1819c93b992a10baa727d26fab50cddb546cb213b2875798324e37a54
7
- data.tar.gz: 11fb445e4bfabd649a01d572aefdeee476ff3bd0605e50c6407eea840f78778837caa0f137cc1166927a612b0c642ee759f39905c3715600d827111630090da4
6
+ metadata.gz: 40646ec1ac5380d7ddf9301661bb21ebe814eeea8480f3532cd2d4af3893c07176c80d96f885b97d472382991ac37ff55567914fcc180e5067789ab19e6f91d3
7
+ data.tar.gz: f48f9c7dff958c546bb709b44d007fb890b5247da5b0fd92098de03a1298c54106b4fd07ed52d4cc3bbf55a06d48c387bb890926392ab8be5935f9c8a7f08988
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.134.0 (2025-11-19)
5
+ ------------------
6
+
7
+ * Feature - Add support for scanning and viewing scan results for backup resource types
8
+
4
9
  1.133.0 (2025-11-17)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.133.0
1
+ 1.134.0
@@ -2079,6 +2079,7 @@ module Aws::GuardDuty
2079
2079
  # resp.scans[0].scan_end_time #=> Time
2080
2080
  # resp.scans[0].trigger_details.guard_duty_finding_id #=> String
2081
2081
  # resp.scans[0].trigger_details.description #=> String
2082
+ # resp.scans[0].trigger_details.trigger_type #=> String, one of "BACKUP", "GUARDDUTY"
2082
2083
  # resp.scans[0].resource_details.instance_arn #=> String
2083
2084
  # resp.scans[0].scan_result_details.scan_result #=> String, one of "CLEAN", "INFECTED"
2084
2085
  # resp.scans[0].account_id #=> String
@@ -2929,6 +2930,10 @@ module Aws::GuardDuty
2929
2930
  # resp.findings[0].resource.lambda_details.tags #=> Array
2930
2931
  # resp.findings[0].resource.lambda_details.tags[0].key #=> String
2931
2932
  # resp.findings[0].resource.lambda_details.tags[0].value #=> String
2933
+ # resp.findings[0].resource.ebs_snapshot_details.snapshot_arn #=> String
2934
+ # resp.findings[0].resource.ec2_image_details.image_arn #=> String
2935
+ # resp.findings[0].resource.recovery_point_details.recovery_point_arn #=> String
2936
+ # resp.findings[0].resource.recovery_point_details.backup_vault_name #=> String
2932
2937
  # resp.findings[0].schema_version #=> String
2933
2938
  # resp.findings[0].service.action.action_type #=> String
2934
2939
  # resp.findings[0].service.action.aws_api_call_action.api #=> String
@@ -3325,6 +3330,20 @@ module Aws::GuardDuty
3325
3330
  # resp.findings[0].service.malware_scan_details.threats[0].item_paths #=> Array
3326
3331
  # resp.findings[0].service.malware_scan_details.threats[0].item_paths[0].nested_item_path #=> String
3327
3332
  # resp.findings[0].service.malware_scan_details.threats[0].item_paths[0].hash #=> String
3333
+ # resp.findings[0].service.malware_scan_details.threats[0].count #=> Integer
3334
+ # resp.findings[0].service.malware_scan_details.threats[0].hash #=> String
3335
+ # resp.findings[0].service.malware_scan_details.threats[0].item_details #=> Array
3336
+ # resp.findings[0].service.malware_scan_details.threats[0].item_details[0].resource_arn #=> String
3337
+ # resp.findings[0].service.malware_scan_details.threats[0].item_details[0].item_path #=> String
3338
+ # resp.findings[0].service.malware_scan_details.threats[0].item_details[0].hash #=> String
3339
+ # resp.findings[0].service.malware_scan_details.threats[0].item_details[0].additional_info.version_id #=> String
3340
+ # resp.findings[0].service.malware_scan_details.threats[0].item_details[0].additional_info.device_name #=> String
3341
+ # resp.findings[0].service.malware_scan_details.scan_id #=> String
3342
+ # resp.findings[0].service.malware_scan_details.scan_type #=> String, one of "BACKUP_INITIATED", "ON_DEMAND", "GUARDDUTY_INITIATED"
3343
+ # resp.findings[0].service.malware_scan_details.scan_category #=> String, one of "FULL_SCAN", "INCREMENTAL_SCAN"
3344
+ # resp.findings[0].service.malware_scan_details.scan_configuration.trigger_type #=> String, one of "BACKUP", "GUARDDUTY"
3345
+ # resp.findings[0].service.malware_scan_details.scan_configuration.incremental_scan_details.baseline_resource_arn #=> String
3346
+ # resp.findings[0].service.malware_scan_details.unique_threat_count #=> Integer
3328
3347
  # resp.findings[0].severity #=> Float
3329
3348
  # resp.findings[0].title #=> String
3330
3349
  # resp.findings[0].type #=> String
@@ -3576,6 +3595,114 @@ module Aws::GuardDuty
3576
3595
  req.send_request(options)
3577
3596
  end
3578
3597
 
3598
+ # Retrieves the detailed information for a specific malware scan. Each
3599
+ # member account can view the malware scan details for their own
3600
+ # account. An administrator can view malware scan details for all
3601
+ # accounts in the organization.
3602
+ #
3603
+ # There might be regional differences because some data sources might
3604
+ # not be available in all the Amazon Web Services Regions where
3605
+ # GuardDuty is presently supported. For more information, see [Regions
3606
+ # and endpoints][1].
3607
+ #
3608
+ #
3609
+ #
3610
+ # [1]: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_regions.html
3611
+ #
3612
+ # @option params [required, String] :scan_id
3613
+ # A unique identifier that gets generated when you invoke the API
3614
+ # without any error. Each malware scan has a corresponding scan ID.
3615
+ # Using this scan ID, you can monitor the status of your malware scan.
3616
+ #
3617
+ # @return [Types::GetMalwareScanResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3618
+ #
3619
+ # * {Types::GetMalwareScanResponse#scan_id #scan_id} => String
3620
+ # * {Types::GetMalwareScanResponse#detector_id #detector_id} => String
3621
+ # * {Types::GetMalwareScanResponse#admin_detector_id #admin_detector_id} => String
3622
+ # * {Types::GetMalwareScanResponse#resource_arn #resource_arn} => String
3623
+ # * {Types::GetMalwareScanResponse#resource_type #resource_type} => String
3624
+ # * {Types::GetMalwareScanResponse#scanned_resources_count #scanned_resources_count} => Integer
3625
+ # * {Types::GetMalwareScanResponse#skipped_resources_count #skipped_resources_count} => Integer
3626
+ # * {Types::GetMalwareScanResponse#failed_resources_count #failed_resources_count} => Integer
3627
+ # * {Types::GetMalwareScanResponse#scanned_resources #scanned_resources} => Array<Types::ScannedResource>
3628
+ # * {Types::GetMalwareScanResponse#scan_configuration #scan_configuration} => Types::ScanConfiguration
3629
+ # * {Types::GetMalwareScanResponse#scan_category #scan_category} => String
3630
+ # * {Types::GetMalwareScanResponse#scan_status #scan_status} => String
3631
+ # * {Types::GetMalwareScanResponse#scan_status_reason #scan_status_reason} => String
3632
+ # * {Types::GetMalwareScanResponse#scan_type #scan_type} => String
3633
+ # * {Types::GetMalwareScanResponse#scan_started_at #scan_started_at} => Time
3634
+ # * {Types::GetMalwareScanResponse#scan_completed_at #scan_completed_at} => Time
3635
+ # * {Types::GetMalwareScanResponse#scan_result_details #scan_result_details} => Types::GetMalwareScanResultDetails
3636
+ #
3637
+ # @example Request syntax with placeholder values
3638
+ #
3639
+ # resp = client.get_malware_scan({
3640
+ # scan_id: "String", # required
3641
+ # })
3642
+ #
3643
+ # @example Response structure
3644
+ #
3645
+ # resp.scan_id #=> String
3646
+ # resp.detector_id #=> String
3647
+ # resp.admin_detector_id #=> String
3648
+ # resp.resource_arn #=> String
3649
+ # resp.resource_type #=> String, one of "EBS_RECOVERY_POINT", "EBS_SNAPSHOT", "EBS_VOLUME", "EC2_AMI", "EC2_INSTANCE", "EC2_RECOVERY_POINT", "S3_RECOVERY_POINT", "S3_BUCKET"
3650
+ # resp.scanned_resources_count #=> Integer
3651
+ # resp.skipped_resources_count #=> Integer
3652
+ # resp.failed_resources_count #=> Integer
3653
+ # resp.scanned_resources #=> Array
3654
+ # resp.scanned_resources[0].scanned_resource_arn #=> String
3655
+ # resp.scanned_resources[0].scanned_resource_type #=> String, one of "EBS_RECOVERY_POINT", "EBS_SNAPSHOT", "EBS_VOLUME", "EC2_AMI", "EC2_INSTANCE", "EC2_RECOVERY_POINT", "S3_RECOVERY_POINT", "S3_BUCKET"
3656
+ # resp.scanned_resources[0].scanned_resource_status #=> String, one of "RUNNING", "COMPLETED", "COMPLETED_WITH_ISSUES", "FAILED", "SKIPPED"
3657
+ # resp.scanned_resources[0].scan_status_reason #=> String, one of "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "SNAPSHOT_SIZE_LIMIT_EXCEEDED", "RESOURCE_UNAVAILABLE", "INCONSISTENT_SOURCE", "INCREMENTAL_NO_DIFFERENCE", "NO_EBS_VOLUMES_FOUND", "UNSUPPORTED_PRODUCT_CODE_TYPE", "AMI_SNAPSHOT_LIMIT_EXCEEDED", "UNRELATED_RESOURCES", "BASE_RESOURCE_NOT_SCANNED", "BASE_CREATED_AFTER_TARGET", "UNSUPPORTED_FOR_INCREMENTAL", "UNSUPPORTED_AMI", "UNSUPPORTED_SNAPSHOT", "UNSUPPORTED_COMPOSITE_RECOVERY_POINT"
3658
+ # resp.scanned_resources[0].resource_details.ebs_volume.volume_arn #=> String
3659
+ # resp.scanned_resources[0].resource_details.ebs_volume.volume_type #=> String
3660
+ # resp.scanned_resources[0].resource_details.ebs_volume.device_name #=> String
3661
+ # resp.scanned_resources[0].resource_details.ebs_volume.volume_size_in_gb #=> Integer
3662
+ # resp.scanned_resources[0].resource_details.ebs_volume.encryption_type #=> String
3663
+ # resp.scanned_resources[0].resource_details.ebs_volume.snapshot_arn #=> String
3664
+ # resp.scanned_resources[0].resource_details.ebs_volume.kms_key_arn #=> String
3665
+ # resp.scanned_resources[0].resource_details.ebs_snapshot.device_name #=> String
3666
+ # resp.scan_configuration.role #=> String
3667
+ # resp.scan_configuration.trigger_details.guard_duty_finding_id #=> String
3668
+ # resp.scan_configuration.trigger_details.description #=> String
3669
+ # resp.scan_configuration.trigger_details.trigger_type #=> String, one of "BACKUP", "GUARDDUTY"
3670
+ # resp.scan_configuration.incremental_scan_details.baseline_resource_arn #=> String
3671
+ # resp.scan_configuration.recovery_point.backup_vault_name #=> String
3672
+ # resp.scan_category #=> String, one of "FULL_SCAN", "INCREMENTAL_SCAN"
3673
+ # resp.scan_status #=> String, one of "RUNNING", "COMPLETED", "COMPLETED_WITH_ISSUES", "FAILED", "SKIPPED"
3674
+ # resp.scan_status_reason #=> String, one of "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "SNAPSHOT_SIZE_LIMIT_EXCEEDED", "RESOURCE_UNAVAILABLE", "INCONSISTENT_SOURCE", "INCREMENTAL_NO_DIFFERENCE", "NO_EBS_VOLUMES_FOUND", "UNSUPPORTED_PRODUCT_CODE_TYPE", "AMI_SNAPSHOT_LIMIT_EXCEEDED", "UNRELATED_RESOURCES", "BASE_RESOURCE_NOT_SCANNED", "BASE_CREATED_AFTER_TARGET", "UNSUPPORTED_FOR_INCREMENTAL", "UNSUPPORTED_AMI", "UNSUPPORTED_SNAPSHOT", "UNSUPPORTED_COMPOSITE_RECOVERY_POINT"
3675
+ # resp.scan_type #=> String, one of "BACKUP_INITIATED", "ON_DEMAND", "GUARDDUTY_INITIATED"
3676
+ # resp.scan_started_at #=> Time
3677
+ # resp.scan_completed_at #=> Time
3678
+ # resp.scan_result_details.scan_result_status #=> String, one of "NO_THREATS_FOUND", "THREATS_FOUND"
3679
+ # resp.scan_result_details.skipped_file_count #=> Integer
3680
+ # resp.scan_result_details.failed_file_count #=> Integer
3681
+ # resp.scan_result_details.threat_found_file_count #=> Integer
3682
+ # resp.scan_result_details.total_file_count #=> Integer
3683
+ # resp.scan_result_details.total_bytes #=> Integer
3684
+ # resp.scan_result_details.unique_threat_count #=> Integer
3685
+ # resp.scan_result_details.threats #=> Array
3686
+ # resp.scan_result_details.threats[0].name #=> String
3687
+ # resp.scan_result_details.threats[0].source #=> String, one of "AMAZON", "BITDEFENDER"
3688
+ # resp.scan_result_details.threats[0].count #=> Integer
3689
+ # resp.scan_result_details.threats[0].hash #=> String
3690
+ # resp.scan_result_details.threats[0].item_details #=> Array
3691
+ # resp.scan_result_details.threats[0].item_details[0].resource_arn #=> String
3692
+ # resp.scan_result_details.threats[0].item_details[0].item_path #=> String
3693
+ # resp.scan_result_details.threats[0].item_details[0].hash #=> String
3694
+ # resp.scan_result_details.threats[0].item_details[0].additional_info.version_id #=> String
3695
+ # resp.scan_result_details.threats[0].item_details[0].additional_info.device_name #=> String
3696
+ #
3697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMalwareScan AWS API Documentation
3698
+ #
3699
+ # @overload get_malware_scan(params = {})
3700
+ # @param [Hash] params ({})
3701
+ def get_malware_scan(params = {}, options = {})
3702
+ req = build_request(:get_malware_scan, params)
3703
+ req.send_request(options)
3704
+ end
3705
+
3579
3706
  # Returns the details of the malware scan settings.
3580
3707
  #
3581
3708
  # There might be regional differences because some data sources might
@@ -4781,6 +4908,80 @@ module Aws::GuardDuty
4781
4908
  req.send_request(options)
4782
4909
  end
4783
4910
 
4911
+ # Returns a list of malware scans. Each member account can view the
4912
+ # malware scans for their own accounts. An administrator can view the
4913
+ # malware scans for all of its members' accounts.
4914
+ #
4915
+ # @option params [Integer] :max_results
4916
+ # You can use this parameter to indicate the maximum number of items
4917
+ # that you want in the response. The default value is 50. The maximum
4918
+ # value is 50.
4919
+ #
4920
+ # @option params [String] :next_token
4921
+ # You can use this parameter when paginating results. Set the value of
4922
+ # this parameter to null on your first call to the list action. For
4923
+ # subsequent calls to the action, fill nextToken in the request with the
4924
+ # value of NextToken from the previous response to continue listing
4925
+ # results.
4926
+ #
4927
+ # @option params [Types::ListMalwareScansFilterCriteria] :filter_criteria
4928
+ # Represents the criteria used to filter the malware scan entries.
4929
+ #
4930
+ # @option params [Types::SortCriteria] :sort_criteria
4931
+ # Represents the criteria used for sorting malware scan entries.
4932
+ #
4933
+ # @return [Types::ListMalwareScansResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4934
+ #
4935
+ # * {Types::ListMalwareScansResponse#scans #scans} => Array<Types::MalwareScan>
4936
+ # * {Types::ListMalwareScansResponse#next_token #next_token} => String
4937
+ #
4938
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4939
+ #
4940
+ # @example Request syntax with placeholder values
4941
+ #
4942
+ # resp = client.list_malware_scans({
4943
+ # max_results: 1,
4944
+ # next_token: "String",
4945
+ # filter_criteria: {
4946
+ # list_malware_scans_filter_criterion: [
4947
+ # {
4948
+ # list_malware_scans_criterion_key: "RESOURCE_ARN", # accepts RESOURCE_ARN, SCAN_ID, ACCOUNT_ID, GUARDDUTY_FINDING_ID, RESOURCE_TYPE, SCAN_START_TIME, SCAN_STATUS, SCAN_TYPE
4949
+ # filter_condition: {
4950
+ # equals_value: "NonEmptyString",
4951
+ # greater_than: 1,
4952
+ # less_than: 1,
4953
+ # },
4954
+ # },
4955
+ # ],
4956
+ # },
4957
+ # sort_criteria: {
4958
+ # attribute_name: "String",
4959
+ # order_by: "ASC", # accepts ASC, DESC
4960
+ # },
4961
+ # })
4962
+ #
4963
+ # @example Response structure
4964
+ #
4965
+ # resp.scans #=> Array
4966
+ # resp.scans[0].resource_arn #=> String
4967
+ # resp.scans[0].resource_type #=> String, one of "EBS_RECOVERY_POINT", "EBS_SNAPSHOT", "EBS_VOLUME", "EC2_AMI", "EC2_INSTANCE", "EC2_RECOVERY_POINT", "S3_RECOVERY_POINT", "S3_BUCKET"
4968
+ # resp.scans[0].scan_id #=> String
4969
+ # resp.scans[0].scan_status #=> String, one of "RUNNING", "COMPLETED", "COMPLETED_WITH_ISSUES", "FAILED", "SKIPPED"
4970
+ # resp.scans[0].scan_result_status #=> String, one of "NO_THREATS_FOUND", "THREATS_FOUND"
4971
+ # resp.scans[0].scan_type #=> String, one of "BACKUP_INITIATED", "ON_DEMAND", "GUARDDUTY_INITIATED"
4972
+ # resp.scans[0].scan_started_at #=> Time
4973
+ # resp.scans[0].scan_completed_at #=> Time
4974
+ # resp.next_token #=> String
4975
+ #
4976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMalwareScans AWS API Documentation
4977
+ #
4978
+ # @overload list_malware_scans(params = {})
4979
+ # @param [Hash] params ({})
4980
+ def list_malware_scans(params = {}, options = {})
4981
+ req = build_request(:list_malware_scans, params)
4982
+ req.send_request(options)
4983
+ end
4984
+
4784
4985
  # Lists details about all member accounts for the current GuardDuty
4785
4986
  # administrator account.
4786
4987
  #
@@ -5197,21 +5398,38 @@ module Aws::GuardDuty
5197
5398
  end
5198
5399
 
5199
5400
  # Initiates the malware scan. Invoking this API will automatically
5200
- # create the [Service-linked role][1] in the corresponding account.
5401
+ # create the [Service-linked role][1] in the corresponding account if
5402
+ # the resourceArn belongs to an EC2 instance.
5201
5403
  #
5202
5404
  # When the malware scan starts, you can use the associated scan ID to
5203
5405
  # track the status of the scan. For more information, see
5204
- # [DescribeMalwareScans][2].
5406
+ # [ListMalwareScans][2] and [GetMalwareScan][3].
5407
+ #
5408
+ # When you use this API, the Amazon Web Services service terms for
5409
+ # GuardDuty Malware Protection apply. For more information, see [Amazon
5410
+ # Web Services service terms for GuardDuty Malware Protection][4].
5205
5411
  #
5206
5412
  #
5207
5413
  #
5208
5414
  # [1]: https://docs.aws.amazon.com/guardduty/latest/ug/slr-permissions-malware-protection.html
5209
- # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DescribeMalwareScans.html
5415
+ # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListMalwareScans.html
5416
+ # [3]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_GetMalwareScan.html
5417
+ # [4]: http://aws.amazon.com/service-terms/#87._Amazon_GuardDuty
5210
5418
  #
5211
5419
  # @option params [required, String] :resource_arn
5212
5420
  # Amazon Resource Name (ARN) of the resource for which you invoked the
5213
5421
  # API.
5214
5422
  #
5423
+ # @option params [String] :client_token
5424
+ # The idempotency token for the create request.
5425
+ #
5426
+ # **A suitable default value is auto-generated.** You should normally
5427
+ # not need to pass this option.**
5428
+ #
5429
+ # @option params [Types::StartMalwareScanConfiguration] :scan_configuration
5430
+ # Contains information about the configuration to be used for the
5431
+ # malware scan.
5432
+ #
5215
5433
  # @return [Types::StartMalwareScanResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5216
5434
  #
5217
5435
  # * {Types::StartMalwareScanResponse#scan_id #scan_id} => String
@@ -5220,6 +5438,16 @@ module Aws::GuardDuty
5220
5438
  #
5221
5439
  # resp = client.start_malware_scan({
5222
5440
  # resource_arn: "ResourceArn", # required
5441
+ # client_token: "ClientToken",
5442
+ # scan_configuration: {
5443
+ # role: "NonEmptyString", # required
5444
+ # incremental_scan_details: {
5445
+ # baseline_resource_arn: "NonEmptyString", # required
5446
+ # },
5447
+ # recovery_point: {
5448
+ # backup_vault_name: "String", # required
5449
+ # },
5450
+ # },
5223
5451
  # })
5224
5452
  #
5225
5453
  # @example Response structure
@@ -6255,7 +6483,7 @@ module Aws::GuardDuty
6255
6483
  tracer: tracer
6256
6484
  )
6257
6485
  context[:gem_name] = 'aws-sdk-guardduty'
6258
- context[:gem_version] = '1.133.0'
6486
+ context[:gem_version] = '1.134.0'
6259
6487
  Seahorse::Client::Request.new(handlers, context)
6260
6488
  end
6261
6489