aws-sdk-backup 1.102.0 → 1.103.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: 0d14e71f10bf07913f1bef99000a64989c9df6c190863b936f714a6bc3ba42d1
4
- data.tar.gz: 81ceca4bd9f4e186536864b1a7eaea7932397bff1d2252558e52405b976d4726
3
+ metadata.gz: 79eb7634b531c65f7b5e5ea14d324f1f9f1d25bd6920df534a29113f870dd50f
4
+ data.tar.gz: 50520f823c1c934eeb835eeaf7f4dc03d3e89bdb1707186d8a08d7d3230cfac4
5
5
  SHA512:
6
- metadata.gz: 2dbc6163d8a34fe3a96af1baa2e8b700dd7aba91b09cb883d424c5cadc502eda719a70ec856c5ab8060e3ab1168dcb82f9ce8f994b4fdd8d70a197e62f2799f8
7
- data.tar.gz: 877879476db7a1389e90eae9aac3b923ae12c167b8511f2954e6848bb66ff2c1b67a6d281bb8bf79d5ca411c74972766dff965b690019aa9bedced3ecd3444c3
6
+ metadata.gz: 6fa2173a56d00191580e642ae16cc5abc473b0c014b665a0321af317db56eb4e03fd59c68c8b4d0ee6eceb629bc4006e87c0338d3ddeea9900eb8403ae7a6f92
7
+ data.tar.gz: 6273da0c23fdb06eeca7fe8be3613958b8ea5884e46a4e5ec2f61d4cbf6d49f40233dd242c500e43aead55b8e3f98f4fb7093a22dd1ae317dbe47370d17d94ec
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.103.0 (2025-11-19)
5
+ ------------------
6
+
7
+ * Feature - Amazon GuardDuty Malware Protection now supports AWS Backup, extending malware detection capabilities to EC2, EBS, and S3 backups.
8
+
4
9
  1.102.0 (2025-11-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.102.0
1
+ 1.103.0
@@ -613,6 +613,12 @@ module Aws::Backup
613
613
  # resource_types: ["ResourceType"],
614
614
  # },
615
615
  # ],
616
+ # scan_actions: [
617
+ # {
618
+ # malware_scanner: "GUARDDUTY", # accepts GUARDDUTY
619
+ # scan_mode: "FULL_SCAN", # accepts FULL_SCAN, INCREMENTAL_SCAN
620
+ # },
621
+ # ],
616
622
  # },
617
623
  # ],
618
624
  # advanced_backup_settings: [
@@ -623,6 +629,13 @@ module Aws::Backup
623
629
  # },
624
630
  # },
625
631
  # ],
632
+ # scan_settings: [
633
+ # {
634
+ # malware_scanner: "GUARDDUTY", # accepts GUARDDUTY
635
+ # resource_types: ["ResourceType"],
636
+ # scanner_role_arn: "IAMRoleArn",
637
+ # },
638
+ # ],
626
639
  # },
627
640
  # backup_plan_tags: {
628
641
  # "TagKey" => "TagValue",
@@ -1076,7 +1089,8 @@ module Aws::Backup
1076
1089
  # a report template. The report templates are:
1077
1090
  #
1078
1091
  # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
1079
- # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
1092
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT |
1093
+ # SCAN_JOB_REPORT `
1080
1094
  #
1081
1095
  # If the report template is `RESOURCE_COMPLIANCE_REPORT` or
1082
1096
  # `CONTROL_COMPLIANCE_REPORT`, this API resource also describes the
@@ -2193,6 +2207,7 @@ module Aws::Backup
2193
2207
  # * {Types::DescribeRecoveryPointOutput#index_status #index_status} => String
2194
2208
  # * {Types::DescribeRecoveryPointOutput#index_status_message #index_status_message} => String
2195
2209
  # * {Types::DescribeRecoveryPointOutput#encryption_key_type #encryption_key_type} => String
2210
+ # * {Types::DescribeRecoveryPointOutput#scan_results #scan_results} => Array<Types::ScanResult>
2196
2211
  #
2197
2212
  # @example Request syntax with placeholder values
2198
2213
  #
@@ -2243,6 +2258,12 @@ module Aws::Backup
2243
2258
  # resp.index_status #=> String, one of "PENDING", "ACTIVE", "FAILED", "DELETING"
2244
2259
  # resp.index_status_message #=> String
2245
2260
  # resp.encryption_key_type #=> String, one of "AWS_OWNED_KMS_KEY", "CUSTOMER_MANAGED_KMS_KEY"
2261
+ # resp.scan_results #=> Array
2262
+ # resp.scan_results[0].malware_scanner #=> String, one of "GUARDDUTY"
2263
+ # resp.scan_results[0].scan_job_state #=> String, one of "COMPLETED", "COMPLETED_WITH_ISSUES", "FAILED", "CANCELED"
2264
+ # resp.scan_results[0].last_scan_timestamp #=> Time
2265
+ # resp.scan_results[0].findings #=> Array
2266
+ # resp.scan_results[0].findings[0] #=> String, one of "MALWARE"
2246
2267
  #
2247
2268
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint AWS API Documentation
2248
2269
  #
@@ -2442,6 +2463,75 @@ module Aws::Backup
2442
2463
  req.send_request(options)
2443
2464
  end
2444
2465
 
2466
+ # Returns scan job details for the specified ScanJobID.
2467
+ #
2468
+ # @option params [required, String] :scan_job_id
2469
+ # Uniquely identifies a request to Backup to scan a resource.
2470
+ #
2471
+ # @return [Types::DescribeScanJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2472
+ #
2473
+ # * {Types::DescribeScanJobOutput#account_id #account_id} => String
2474
+ # * {Types::DescribeScanJobOutput#backup_vault_arn #backup_vault_arn} => String
2475
+ # * {Types::DescribeScanJobOutput#backup_vault_name #backup_vault_name} => String
2476
+ # * {Types::DescribeScanJobOutput#completion_date #completion_date} => Time
2477
+ # * {Types::DescribeScanJobOutput#created_by #created_by} => Types::ScanJobCreator
2478
+ # * {Types::DescribeScanJobOutput#creation_date #creation_date} => Time
2479
+ # * {Types::DescribeScanJobOutput#iam_role_arn #iam_role_arn} => String
2480
+ # * {Types::DescribeScanJobOutput#malware_scanner #malware_scanner} => String
2481
+ # * {Types::DescribeScanJobOutput#recovery_point_arn #recovery_point_arn} => String
2482
+ # * {Types::DescribeScanJobOutput#resource_arn #resource_arn} => String
2483
+ # * {Types::DescribeScanJobOutput#resource_name #resource_name} => String
2484
+ # * {Types::DescribeScanJobOutput#resource_type #resource_type} => String
2485
+ # * {Types::DescribeScanJobOutput#scan_base_recovery_point_arn #scan_base_recovery_point_arn} => String
2486
+ # * {Types::DescribeScanJobOutput#scan_id #scan_id} => String
2487
+ # * {Types::DescribeScanJobOutput#scan_job_id #scan_job_id} => String
2488
+ # * {Types::DescribeScanJobOutput#scan_mode #scan_mode} => String
2489
+ # * {Types::DescribeScanJobOutput#scan_result #scan_result} => Types::ScanResultInfo
2490
+ # * {Types::DescribeScanJobOutput#scanner_role_arn #scanner_role_arn} => String
2491
+ # * {Types::DescribeScanJobOutput#state #state} => String
2492
+ # * {Types::DescribeScanJobOutput#status_message #status_message} => String
2493
+ #
2494
+ # @example Request syntax with placeholder values
2495
+ #
2496
+ # resp = client.describe_scan_job({
2497
+ # scan_job_id: "String", # required
2498
+ # })
2499
+ #
2500
+ # @example Response structure
2501
+ #
2502
+ # resp.account_id #=> String
2503
+ # resp.backup_vault_arn #=> String
2504
+ # resp.backup_vault_name #=> String
2505
+ # resp.completion_date #=> Time
2506
+ # resp.created_by.backup_plan_arn #=> String
2507
+ # resp.created_by.backup_plan_id #=> String
2508
+ # resp.created_by.backup_plan_version #=> String
2509
+ # resp.created_by.backup_rule_id #=> String
2510
+ # resp.creation_date #=> Time
2511
+ # resp.iam_role_arn #=> String
2512
+ # resp.malware_scanner #=> String, one of "GUARDDUTY"
2513
+ # resp.recovery_point_arn #=> String
2514
+ # resp.resource_arn #=> String
2515
+ # resp.resource_name #=> String
2516
+ # resp.resource_type #=> String, one of "EBS", "EC2", "S3"
2517
+ # resp.scan_base_recovery_point_arn #=> String
2518
+ # resp.scan_id #=> String
2519
+ # resp.scan_job_id #=> String
2520
+ # resp.scan_mode #=> String, one of "FULL_SCAN", "INCREMENTAL_SCAN"
2521
+ # resp.scan_result.scan_result_status #=> String, one of "NO_THREATS_FOUND", "THREATS_FOUND"
2522
+ # resp.scanner_role_arn #=> String
2523
+ # resp.state #=> String, one of "CANCELED", "COMPLETED", "COMPLETED_WITH_ISSUES", "CREATED", "FAILED", "RUNNING"
2524
+ # resp.status_message #=> String
2525
+ #
2526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeScanJob AWS API Documentation
2527
+ #
2528
+ # @overload describe_scan_job(params = {})
2529
+ # @param [Hash] params ({})
2530
+ def describe_scan_job(params = {}, options = {})
2531
+ req = build_request(:describe_scan_job, params)
2532
+ req.send_request(options)
2533
+ end
2534
+
2445
2535
  # Removes the association between an MPA approval team and a backup
2446
2536
  # vault, disabling the MPA approval workflow for restore operations.
2447
2537
  #
@@ -2631,10 +2721,18 @@ module Aws::Backup
2631
2721
  # resp.backup_plan.rules[0].index_actions #=> Array
2632
2722
  # resp.backup_plan.rules[0].index_actions[0].resource_types #=> Array
2633
2723
  # resp.backup_plan.rules[0].index_actions[0].resource_types[0] #=> String
2724
+ # resp.backup_plan.rules[0].scan_actions #=> Array
2725
+ # resp.backup_plan.rules[0].scan_actions[0].malware_scanner #=> String, one of "GUARDDUTY"
2726
+ # resp.backup_plan.rules[0].scan_actions[0].scan_mode #=> String, one of "FULL_SCAN", "INCREMENTAL_SCAN"
2634
2727
  # resp.backup_plan.advanced_backup_settings #=> Array
2635
2728
  # resp.backup_plan.advanced_backup_settings[0].resource_type #=> String
2636
2729
  # resp.backup_plan.advanced_backup_settings[0].backup_options #=> Hash
2637
2730
  # resp.backup_plan.advanced_backup_settings[0].backup_options["BackupOptionKey"] #=> String
2731
+ # resp.backup_plan.scan_settings #=> Array
2732
+ # resp.backup_plan.scan_settings[0].malware_scanner #=> String, one of "GUARDDUTY"
2733
+ # resp.backup_plan.scan_settings[0].resource_types #=> Array
2734
+ # resp.backup_plan.scan_settings[0].resource_types[0] #=> String
2735
+ # resp.backup_plan.scan_settings[0].scanner_role_arn #=> String
2638
2736
  # resp.backup_plan_id #=> String
2639
2737
  # resp.backup_plan_arn #=> String
2640
2738
  # resp.version_id #=> String
@@ -2703,10 +2801,18 @@ module Aws::Backup
2703
2801
  # resp.backup_plan.rules[0].index_actions #=> Array
2704
2802
  # resp.backup_plan.rules[0].index_actions[0].resource_types #=> Array
2705
2803
  # resp.backup_plan.rules[0].index_actions[0].resource_types[0] #=> String
2804
+ # resp.backup_plan.rules[0].scan_actions #=> Array
2805
+ # resp.backup_plan.rules[0].scan_actions[0].malware_scanner #=> String, one of "GUARDDUTY"
2806
+ # resp.backup_plan.rules[0].scan_actions[0].scan_mode #=> String, one of "FULL_SCAN", "INCREMENTAL_SCAN"
2706
2807
  # resp.backup_plan.advanced_backup_settings #=> Array
2707
2808
  # resp.backup_plan.advanced_backup_settings[0].resource_type #=> String
2708
2809
  # resp.backup_plan.advanced_backup_settings[0].backup_options #=> Hash
2709
2810
  # resp.backup_plan.advanced_backup_settings[0].backup_options["BackupOptionKey"] #=> String
2811
+ # resp.backup_plan.scan_settings #=> Array
2812
+ # resp.backup_plan.scan_settings[0].malware_scanner #=> String, one of "GUARDDUTY"
2813
+ # resp.backup_plan.scan_settings[0].resource_types #=> Array
2814
+ # resp.backup_plan.scan_settings[0].resource_types[0] #=> String
2815
+ # resp.backup_plan.scan_settings[0].scanner_role_arn #=> String
2710
2816
  #
2711
2817
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromJSON AWS API Documentation
2712
2818
  #
@@ -2760,10 +2866,18 @@ module Aws::Backup
2760
2866
  # resp.backup_plan_document.rules[0].index_actions #=> Array
2761
2867
  # resp.backup_plan_document.rules[0].index_actions[0].resource_types #=> Array
2762
2868
  # resp.backup_plan_document.rules[0].index_actions[0].resource_types[0] #=> String
2869
+ # resp.backup_plan_document.rules[0].scan_actions #=> Array
2870
+ # resp.backup_plan_document.rules[0].scan_actions[0].malware_scanner #=> String, one of "GUARDDUTY"
2871
+ # resp.backup_plan_document.rules[0].scan_actions[0].scan_mode #=> String, one of "FULL_SCAN", "INCREMENTAL_SCAN"
2763
2872
  # resp.backup_plan_document.advanced_backup_settings #=> Array
2764
2873
  # resp.backup_plan_document.advanced_backup_settings[0].resource_type #=> String
2765
2874
  # resp.backup_plan_document.advanced_backup_settings[0].backup_options #=> Hash
2766
2875
  # resp.backup_plan_document.advanced_backup_settings[0].backup_options["BackupOptionKey"] #=> String
2876
+ # resp.backup_plan_document.scan_settings #=> Array
2877
+ # resp.backup_plan_document.scan_settings[0].malware_scanner #=> String, one of "GUARDDUTY"
2878
+ # resp.backup_plan_document.scan_settings[0].resource_types #=> Array
2879
+ # resp.backup_plan_document.scan_settings[0].resource_types[0] #=> String
2880
+ # resp.backup_plan_document.scan_settings[0].scanner_role_arn #=> String
2767
2881
  #
2768
2882
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromTemplate AWS API Documentation
2769
2883
  #
@@ -4630,6 +4744,10 @@ module Aws::Backup
4630
4744
  # resp.recovery_points[0].index_status #=> String, one of "PENDING", "ACTIVE", "FAILED", "DELETING"
4631
4745
  # resp.recovery_points[0].index_status_message #=> String
4632
4746
  # resp.recovery_points[0].encryption_key_type #=> String, one of "AWS_OWNED_KMS_KEY", "CUSTOMER_MANAGED_KMS_KEY"
4747
+ # resp.recovery_points[0].aggregated_scan_result.failed_scan #=> Boolean
4748
+ # resp.recovery_points[0].aggregated_scan_result.findings #=> Array
4749
+ # resp.recovery_points[0].aggregated_scan_result.findings[0] #=> String, one of "MALWARE"
4750
+ # resp.recovery_points[0].aggregated_scan_result.last_computed #=> Time
4633
4751
  #
4634
4752
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault AWS API Documentation
4635
4753
  #
@@ -4758,6 +4876,10 @@ module Aws::Backup
4758
4876
  # resp.recovery_points[0].index_status #=> String, one of "PENDING", "ACTIVE", "FAILED", "DELETING"
4759
4877
  # resp.recovery_points[0].index_status_message #=> String
4760
4878
  # resp.recovery_points[0].encryption_key_type #=> String, one of "AWS_OWNED_KMS_KEY", "CUSTOMER_MANAGED_KMS_KEY"
4879
+ # resp.recovery_points[0].aggregated_scan_result.failed_scan #=> Boolean
4880
+ # resp.recovery_points[0].aggregated_scan_result.findings #=> Array
4881
+ # resp.recovery_points[0].aggregated_scan_result.findings[0] #=> String, one of "MALWARE"
4882
+ # resp.recovery_points[0].aggregated_scan_result.last_computed #=> Time
4761
4883
  #
4762
4884
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource AWS API Documentation
4763
4885
  #
@@ -4789,7 +4911,11 @@ module Aws::Backup
4789
4911
  # Returns only report jobs that are in the specified status. The
4790
4912
  # statuses are:
4791
4913
  #
4792
- # `CREATED | RUNNING | COMPLETED | FAILED`
4914
+ # `CREATED | RUNNING | COMPLETED | FAILED | COMPLETED_WITH_ISSUES`
4915
+ #
4916
+ # Please note that only scanning jobs finish with state completed with
4917
+ # issues. For backup jobs this is a console interpretation of a job that
4918
+ # finishes in completed state and has a status message.
4793
4919
  #
4794
4920
  # @option params [Integer] :max_results
4795
4921
  # The number of desired results from 1 to 1000. Optional. If
@@ -5384,6 +5510,242 @@ module Aws::Backup
5384
5510
  req.send_request(options)
5385
5511
  end
5386
5512
 
5513
+ # This is a request for a summary of scan jobs created or running within
5514
+ # the most recent 30 days.
5515
+ #
5516
+ # @option params [String] :account_id
5517
+ # Returns the job count for the specified account.
5518
+ #
5519
+ # If the request is sent from a member account or an account not part of
5520
+ # Amazon Web Services Organizations, jobs within requestor's account
5521
+ # will be returned.
5522
+ #
5523
+ # Root, admin, and delegated administrator accounts can use the value
5524
+ # `ANY` to return job counts from every account in the organization.
5525
+ #
5526
+ # `AGGREGATE_ALL` aggregates job counts from all accounts within the
5527
+ # authenticated organization, then returns the sum.
5528
+ #
5529
+ # @option params [String] :resource_type
5530
+ # Returns the job count for the specified resource type. Use request
5531
+ # `GetSupportedResourceTypes` to obtain strings for supported resource
5532
+ # types.
5533
+ #
5534
+ # The the value `ANY` returns count of all resource types.
5535
+ #
5536
+ # `AGGREGATE_ALL` aggregates job counts for all resource types and
5537
+ # returns the sum.
5538
+ #
5539
+ # @option params [String] :malware_scanner
5540
+ # Returns only the scan jobs for the specified malware scanner.
5541
+ # Currently the only MalwareScanner is `GUARDDUTY`. But the field also
5542
+ # supports `ANY`, and `AGGREGATE_ALL`.
5543
+ #
5544
+ # @option params [String] :scan_result_status
5545
+ # Returns only the scan jobs for the specified scan results.
5546
+ #
5547
+ # @option params [String] :state
5548
+ # Returns only the scan jobs for the specified scanning job state.
5549
+ #
5550
+ # @option params [String] :aggregation_period
5551
+ # The period for the returned results.
5552
+ #
5553
+ # * `ONE_DAY`The daily job count for the prior 1 day.
5554
+ #
5555
+ # * `SEVEN_DAYS`The daily job count for the prior 7 days.
5556
+ #
5557
+ # * `FOURTEEN_DAYS`The daily job count for the prior 14 days.
5558
+ #
5559
+ # @option params [Integer] :max_results
5560
+ # The maximum number of items to be returned.
5561
+ #
5562
+ # The value is an integer. Range of accepted values is from 1 to 500.
5563
+ #
5564
+ # @option params [String] :next_token
5565
+ # The next item following a partial list of returned items. For example,
5566
+ # if a request is made to return `MaxResults` number of items,
5567
+ # `NextToken` allows you to return more items in your list starting at
5568
+ # the location pointed to by the next token.
5569
+ #
5570
+ # @return [Types::ListScanJobSummariesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5571
+ #
5572
+ # * {Types::ListScanJobSummariesOutput#scan_job_summaries #scan_job_summaries} => Array<Types::ScanJobSummary>
5573
+ # * {Types::ListScanJobSummariesOutput#aggregation_period #aggregation_period} => String
5574
+ # * {Types::ListScanJobSummariesOutput#next_token #next_token} => String
5575
+ #
5576
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5577
+ #
5578
+ # @example Request syntax with placeholder values
5579
+ #
5580
+ # resp = client.list_scan_job_summaries({
5581
+ # account_id: "AccountId",
5582
+ # resource_type: "ResourceType",
5583
+ # malware_scanner: "GUARDDUTY", # accepts GUARDDUTY
5584
+ # scan_result_status: "NO_THREATS_FOUND", # accepts NO_THREATS_FOUND, THREATS_FOUND
5585
+ # state: "CREATED", # accepts CREATED, COMPLETED, COMPLETED_WITH_ISSUES, RUNNING, FAILED, CANCELED, AGGREGATE_ALL, ANY
5586
+ # aggregation_period: "ONE_DAY", # accepts ONE_DAY, SEVEN_DAYS, FOURTEEN_DAYS
5587
+ # max_results: 1,
5588
+ # next_token: "string",
5589
+ # })
5590
+ #
5591
+ # @example Response structure
5592
+ #
5593
+ # resp.scan_job_summaries #=> Array
5594
+ # resp.scan_job_summaries[0].region #=> String
5595
+ # resp.scan_job_summaries[0].account_id #=> String
5596
+ # resp.scan_job_summaries[0].state #=> String, one of "CREATED", "COMPLETED", "COMPLETED_WITH_ISSUES", "RUNNING", "FAILED", "CANCELED", "AGGREGATE_ALL", "ANY"
5597
+ # resp.scan_job_summaries[0].resource_type #=> String
5598
+ # resp.scan_job_summaries[0].count #=> Integer
5599
+ # resp.scan_job_summaries[0].start_time #=> Time
5600
+ # resp.scan_job_summaries[0].end_time #=> Time
5601
+ # resp.scan_job_summaries[0].malware_scanner #=> String, one of "GUARDDUTY"
5602
+ # resp.scan_job_summaries[0].scan_result_status #=> String, one of "NO_THREATS_FOUND", "THREATS_FOUND"
5603
+ # resp.aggregation_period #=> String
5604
+ # resp.next_token #=> String
5605
+ #
5606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListScanJobSummaries AWS API Documentation
5607
+ #
5608
+ # @overload list_scan_job_summaries(params = {})
5609
+ # @param [Hash] params ({})
5610
+ def list_scan_job_summaries(params = {}, options = {})
5611
+ req = build_request(:list_scan_job_summaries, params)
5612
+ req.send_request(options)
5613
+ end
5614
+
5615
+ # Returns a list of existing scan jobs for an authenticated account for
5616
+ # the last 30 days.
5617
+ #
5618
+ # @option params [String] :by_account_id
5619
+ # The account ID to list the jobs from. Returns only backup jobs
5620
+ # associated with the specified account ID.
5621
+ #
5622
+ # If used from an Amazon Web Services Organizations management account,
5623
+ # passing `*` returns all jobs across the organization.
5624
+ #
5625
+ # Pattern: `^[0-9]{12}$`
5626
+ #
5627
+ # @option params [String] :by_backup_vault_name
5628
+ # Returns only scan jobs that will be stored in the specified backup
5629
+ # vault. Backup vaults are identified by names that are unique to the
5630
+ # account used to create them and the Amazon Web Services Region where
5631
+ # they are created.
5632
+ #
5633
+ # Pattern: `^[a-zA-Z0-9\-\_\.]{2,50}$`
5634
+ #
5635
+ # @option params [Time,DateTime,Date,Integer,String] :by_complete_after
5636
+ # Returns only scan jobs completed after a date expressed in Unix format
5637
+ # and Coordinated Universal Time (UTC).
5638
+ #
5639
+ # @option params [Time,DateTime,Date,Integer,String] :by_complete_before
5640
+ # Returns only backup jobs completed before a date expressed in Unix
5641
+ # format and Coordinated Universal Time (UTC).
5642
+ #
5643
+ # @option params [String] :by_malware_scanner
5644
+ # Returns only the scan jobs for the specified malware scanner.
5645
+ # Currently only supports `GUARDDUTY`.
5646
+ #
5647
+ # @option params [String] :by_recovery_point_arn
5648
+ # Returns only the scan jobs that are ran against the specified recovery
5649
+ # point.
5650
+ #
5651
+ # @option params [String] :by_resource_arn
5652
+ # Returns only scan jobs that match the specified resource Amazon
5653
+ # Resource Name (ARN).
5654
+ #
5655
+ # @option params [String] :by_resource_type
5656
+ # Returns restore testing selections by the specified restore testing
5657
+ # plan name.
5658
+ #
5659
+ # * `EBS`for Amazon Elastic Block Store
5660
+ #
5661
+ # * `EC2`for Amazon Elastic Compute Cloud
5662
+ #
5663
+ # * `S3`for Amazon Simple Storage Service (Amazon S3)
5664
+ #
5665
+ # Pattern: `^[a-zA-Z0-9\-\_\.]{1,50}$`
5666
+ #
5667
+ # @option params [String] :by_scan_result_status
5668
+ # Returns only the scan jobs for the specified scan results:
5669
+ #
5670
+ # * `THREATS_FOUND`
5671
+ #
5672
+ # * `NO_THREATS_FOUND`
5673
+ #
5674
+ # @option params [String] :by_state
5675
+ # Returns only the scan jobs for the specified scanning job state.
5676
+ #
5677
+ # @option params [Integer] :max_results
5678
+ # The maximum number of items to be returned.
5679
+ #
5680
+ # Valid Range: Minimum value of 1. Maximum value of 1000.
5681
+ #
5682
+ # @option params [String] :next_token
5683
+ # The next item following a partial list of returned items. For example,
5684
+ # if a request is made to return `MaxResults` number of items,
5685
+ # `NextToken` allows you to return more items in your list starting at
5686
+ # the location pointed to by the next token.
5687
+ #
5688
+ # @return [Types::ListScanJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5689
+ #
5690
+ # * {Types::ListScanJobsOutput#next_token #next_token} => String
5691
+ # * {Types::ListScanJobsOutput#scan_jobs #scan_jobs} => Array<Types::ScanJob>
5692
+ #
5693
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5694
+ #
5695
+ # @example Request syntax with placeholder values
5696
+ #
5697
+ # resp = client.list_scan_jobs({
5698
+ # by_account_id: "String",
5699
+ # by_backup_vault_name: "String",
5700
+ # by_complete_after: Time.now,
5701
+ # by_complete_before: Time.now,
5702
+ # by_malware_scanner: "GUARDDUTY", # accepts GUARDDUTY
5703
+ # by_recovery_point_arn: "String",
5704
+ # by_resource_arn: "String",
5705
+ # by_resource_type: "EBS", # accepts EBS, EC2, S3
5706
+ # by_scan_result_status: "NO_THREATS_FOUND", # accepts NO_THREATS_FOUND, THREATS_FOUND
5707
+ # by_state: "CANCELED", # accepts CANCELED, COMPLETED, COMPLETED_WITH_ISSUES, CREATED, FAILED, RUNNING
5708
+ # max_results: 1,
5709
+ # next_token: "String",
5710
+ # })
5711
+ #
5712
+ # @example Response structure
5713
+ #
5714
+ # resp.next_token #=> String
5715
+ # resp.scan_jobs #=> Array
5716
+ # resp.scan_jobs[0].account_id #=> String
5717
+ # resp.scan_jobs[0].backup_vault_arn #=> String
5718
+ # resp.scan_jobs[0].backup_vault_name #=> String
5719
+ # resp.scan_jobs[0].completion_date #=> Time
5720
+ # resp.scan_jobs[0].created_by.backup_plan_arn #=> String
5721
+ # resp.scan_jobs[0].created_by.backup_plan_id #=> String
5722
+ # resp.scan_jobs[0].created_by.backup_plan_version #=> String
5723
+ # resp.scan_jobs[0].created_by.backup_rule_id #=> String
5724
+ # resp.scan_jobs[0].creation_date #=> Time
5725
+ # resp.scan_jobs[0].iam_role_arn #=> String
5726
+ # resp.scan_jobs[0].malware_scanner #=> String, one of "GUARDDUTY"
5727
+ # resp.scan_jobs[0].recovery_point_arn #=> String
5728
+ # resp.scan_jobs[0].resource_arn #=> String
5729
+ # resp.scan_jobs[0].resource_name #=> String
5730
+ # resp.scan_jobs[0].resource_type #=> String, one of "EBS", "EC2", "S3"
5731
+ # resp.scan_jobs[0].scan_base_recovery_point_arn #=> String
5732
+ # resp.scan_jobs[0].scan_id #=> String
5733
+ # resp.scan_jobs[0].scan_job_id #=> String
5734
+ # resp.scan_jobs[0].scan_mode #=> String, one of "FULL_SCAN", "INCREMENTAL_SCAN"
5735
+ # resp.scan_jobs[0].scan_result.scan_result_status #=> String, one of "NO_THREATS_FOUND", "THREATS_FOUND"
5736
+ # resp.scan_jobs[0].scanner_role_arn #=> String
5737
+ # resp.scan_jobs[0].state #=> String, one of "CANCELED", "COMPLETED", "COMPLETED_WITH_ISSUES", "CREATED", "FAILED", "RUNNING"
5738
+ # resp.scan_jobs[0].status_message #=> String
5739
+ #
5740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListScanJobs AWS API Documentation
5741
+ #
5742
+ # @overload list_scan_jobs(params = {})
5743
+ # @param [Hash] params ({})
5744
+ def list_scan_jobs(params = {}, options = {})
5745
+ req = build_request(:list_scan_jobs, params)
5746
+ req.send_request(options)
5747
+ end
5748
+
5387
5749
  # Returns the tags assigned to the resource, such as a target recovery
5388
5750
  # point, backup plan, or backup vault.
5389
5751
  #
@@ -6189,6 +6551,84 @@ module Aws::Backup
6189
6551
  req.send_request(options)
6190
6552
  end
6191
6553
 
6554
+ # Starts scanning jobs for specific resources.
6555
+ #
6556
+ # @option params [required, String] :backup_vault_name
6557
+ # The name of a logical container where backups are stored. Backup
6558
+ # vaults are identified by names that are unique to the account used to
6559
+ # create them and the Amazon Web Services Region where they are created.
6560
+ #
6561
+ # Pattern: `^[a-zA-Z0-9\-\_]{2,50}$`
6562
+ #
6563
+ # @option params [required, String] :iam_role_arn
6564
+ # Specifies the IAM role ARN used to create the target recovery point;
6565
+ # for example, `arn:aws:iam::123456789012:role/S3Access`.
6566
+ #
6567
+ # @option params [String] :idempotency_token
6568
+ # A customer-chosen string that you can use to distinguish between
6569
+ # otherwise identical calls to `StartScanJob`. Retrying a successful
6570
+ # request with the same idempotency token results in a success message
6571
+ # with no action taken.
6572
+ #
6573
+ # @option params [required, String] :malware_scanner
6574
+ # Specifies the malware scanner used during the scan job. Currently only
6575
+ # supports `GUARDDUTY`.
6576
+ #
6577
+ # @option params [required, String] :recovery_point_arn
6578
+ # An Amazon Resource Name (ARN) that uniquely identifies a recovery
6579
+ # point. This is your target recovery point for a full scan. If you are
6580
+ # running an incremental scan, this will be your a recovery point which
6581
+ # has been created after your base recovery point selection.
6582
+ #
6583
+ # @option params [String] :scan_base_recovery_point_arn
6584
+ # An ARN that uniquely identifies the base recovery point to be used for
6585
+ # incremental scanning.
6586
+ #
6587
+ # @option params [required, String] :scan_mode
6588
+ # Specifies the scan type use for the scan job.
6589
+ #
6590
+ # Includes:
6591
+ #
6592
+ # * `FULL_SCAN` will scan the entire data lineage within the backup.
6593
+ #
6594
+ # * `INCREMENTAL_SCAN` will scan the data difference between the target
6595
+ # recovery point and base recovery point ARN.
6596
+ #
6597
+ # @option params [required, String] :scanner_role_arn
6598
+ # Specified the IAM scanner role ARN.
6599
+ #
6600
+ # @return [Types::StartScanJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6601
+ #
6602
+ # * {Types::StartScanJobOutput#creation_date #creation_date} => Time
6603
+ # * {Types::StartScanJobOutput#scan_job_id #scan_job_id} => String
6604
+ #
6605
+ # @example Request syntax with placeholder values
6606
+ #
6607
+ # resp = client.start_scan_job({
6608
+ # backup_vault_name: "String", # required
6609
+ # iam_role_arn: "String", # required
6610
+ # idempotency_token: "String",
6611
+ # malware_scanner: "GUARDDUTY", # required, accepts GUARDDUTY
6612
+ # recovery_point_arn: "String", # required
6613
+ # scan_base_recovery_point_arn: "String",
6614
+ # scan_mode: "FULL_SCAN", # required, accepts FULL_SCAN, INCREMENTAL_SCAN
6615
+ # scanner_role_arn: "String", # required
6616
+ # })
6617
+ #
6618
+ # @example Response structure
6619
+ #
6620
+ # resp.creation_date #=> Time
6621
+ # resp.scan_job_id #=> String
6622
+ #
6623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartScanJob AWS API Documentation
6624
+ #
6625
+ # @overload start_scan_job(params = {})
6626
+ # @param [Hash] params ({})
6627
+ def start_scan_job(params = {}, options = {})
6628
+ req = build_request(:start_scan_job, params)
6629
+ req.send_request(options)
6630
+ end
6631
+
6192
6632
  # Attempts to cancel a job to create a one-time backup of a resource.
6193
6633
  #
6194
6634
  # This action is not supported for the following services:
@@ -6316,6 +6756,7 @@ module Aws::Backup
6316
6756
  # * {Types::UpdateBackupPlanOutput#creation_date #creation_date} => Time
6317
6757
  # * {Types::UpdateBackupPlanOutput#version_id #version_id} => String
6318
6758
  # * {Types::UpdateBackupPlanOutput#advanced_backup_settings #advanced_backup_settings} => Array<Types::AdvancedBackupSetting>
6759
+ # * {Types::UpdateBackupPlanOutput#scan_settings #scan_settings} => Array<Types::ScanSetting>
6319
6760
  #
6320
6761
  # @example Request syntax with placeholder values
6321
6762
  #
@@ -6358,6 +6799,12 @@ module Aws::Backup
6358
6799
  # resource_types: ["ResourceType"],
6359
6800
  # },
6360
6801
  # ],
6802
+ # scan_actions: [
6803
+ # {
6804
+ # malware_scanner: "GUARDDUTY", # accepts GUARDDUTY
6805
+ # scan_mode: "FULL_SCAN", # accepts FULL_SCAN, INCREMENTAL_SCAN
6806
+ # },
6807
+ # ],
6361
6808
  # },
6362
6809
  # ],
6363
6810
  # advanced_backup_settings: [
@@ -6368,6 +6815,13 @@ module Aws::Backup
6368
6815
  # },
6369
6816
  # },
6370
6817
  # ],
6818
+ # scan_settings: [
6819
+ # {
6820
+ # malware_scanner: "GUARDDUTY", # accepts GUARDDUTY
6821
+ # resource_types: ["ResourceType"],
6822
+ # scanner_role_arn: "IAMRoleArn",
6823
+ # },
6824
+ # ],
6371
6825
  # },
6372
6826
  # })
6373
6827
  #
@@ -6381,6 +6835,11 @@ module Aws::Backup
6381
6835
  # resp.advanced_backup_settings[0].resource_type #=> String
6382
6836
  # resp.advanced_backup_settings[0].backup_options #=> Hash
6383
6837
  # resp.advanced_backup_settings[0].backup_options["BackupOptionKey"] #=> String
6838
+ # resp.scan_settings #=> Array
6839
+ # resp.scan_settings[0].malware_scanner #=> String, one of "GUARDDUTY"
6840
+ # resp.scan_settings[0].resource_types #=> Array
6841
+ # resp.scan_settings[0].resource_types[0] #=> String
6842
+ # resp.scan_settings[0].scanner_role_arn #=> String
6384
6843
  #
6385
6844
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateBackupPlan AWS API Documentation
6386
6845
  #
@@ -6991,7 +7450,7 @@ module Aws::Backup
6991
7450
  tracer: tracer
6992
7451
  )
6993
7452
  context[:gem_name] = 'aws-sdk-backup'
6994
- context[:gem_version] = '1.102.0'
7453
+ context[:gem_version] = '1.103.0'
6995
7454
  Seahorse::Client::Request.new(handlers, context)
6996
7455
  end
6997
7456