aws-sdk-guardduty 1.58.0 → 1.59.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 869d806801afa2b4a5b1949bdd1b98811394238075eb5cd043307213363c7ff8
4
- data.tar.gz: f8299da7691c031486b83fab3756f0a68ab368063298bf7c51c0c1855f2616d9
3
+ metadata.gz: 14858a583fa7b814db83884128fdc343437d8e63aeb571f460bee977d8a874e2
4
+ data.tar.gz: 5249beafe46d31cd9251c589248137958f5fbf2851fe433900570e7542bbbc88
5
5
  SHA512:
6
- metadata.gz: 5df5248b5ae3aeba4793aee592e9989d0713252d024e682a16836e0abd57a31b85115ec8eb4efc700e7cbe7fc71a67e26acd93a8e4cc2552a8fbdca5157b5093
7
- data.tar.gz: 790c45ba079457076e7e16367adc07b9d12bfa8c264b449e3cfaf91e16f82f745f65d30961126913d2a65f831fb52f086f2b49081c4a2dd3d845766e15e14e29
6
+ metadata.gz: 3aa05b0122bfc802c1428b911004a0bbb9600e997488389153ac0e163b55e885decba26acad14ed104d86d8ddfd9cd3b30577d9269121e0def97ed146874d75c
7
+ data.tar.gz: ebbae9e1e0e553ad0dcfddd379805a2bf89a76777574af33ffef4f6f66f9d1a4d1af84e8505d16865d8838c4b7655da3215cb0004c6bb51c9725a57fe1e3bf82
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.59.0 (2022-07-26)
5
+ ------------------
6
+
7
+ * Feature - Amazon GuardDuty introduces a new Malware Protection feature that triggers malware scan on selected EC2 instance resources, after the service detects a potentially malicious activity.
8
+
4
9
  1.58.0 (2022-06-15)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.58.0
1
+ 1.59.0
@@ -493,6 +493,11 @@ module Aws::GuardDuty
493
493
  # enable: false, # required
494
494
  # },
495
495
  # },
496
+ # malware_protection: {
497
+ # scan_ec2_instance_with_findings: {
498
+ # ebs_volumes: false,
499
+ # },
500
+ # },
496
501
  # },
497
502
  # tags: {
498
503
  # "TagKey" => "TagValue",
@@ -1222,6 +1227,97 @@ module Aws::GuardDuty
1222
1227
  req.send_request(options)
1223
1228
  end
1224
1229
 
1230
+ # Returns a list of malware scans.
1231
+ #
1232
+ # @option params [required, String] :detector_id
1233
+ # The unique ID of the detector that the request is associated with.
1234
+ #
1235
+ # @option params [String] :next_token
1236
+ # You can use this parameter when paginating results. Set the value of
1237
+ # this parameter to null on your first call to the list action. For
1238
+ # subsequent calls to the action, fill nextToken in the request with the
1239
+ # value of NextToken from the previous response to continue listing
1240
+ # data.
1241
+ #
1242
+ # @option params [Integer] :max_results
1243
+ # You can use this parameter to indicate the maximum number of items
1244
+ # that you want in the response. The default value is 50. The maximum
1245
+ # value is 50.
1246
+ #
1247
+ # @option params [Types::FilterCriteria] :filter_criteria
1248
+ # Represents the criteria to be used in the filter for describing scan
1249
+ # entries.
1250
+ #
1251
+ # @option params [Types::SortCriteria] :sort_criteria
1252
+ # Represents the criteria used for sorting scan entries.
1253
+ #
1254
+ # @return [Types::DescribeMalwareScansResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1255
+ #
1256
+ # * {Types::DescribeMalwareScansResponse#scans #scans} => Array<Types::Scan>
1257
+ # * {Types::DescribeMalwareScansResponse#next_token #next_token} => String
1258
+ #
1259
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1260
+ #
1261
+ # @example Request syntax with placeholder values
1262
+ #
1263
+ # resp = client.describe_malware_scans({
1264
+ # detector_id: "DetectorId", # required
1265
+ # next_token: "String",
1266
+ # max_results: 1,
1267
+ # filter_criteria: {
1268
+ # filter_criterion: [
1269
+ # {
1270
+ # criterion_key: "EC2_INSTANCE_ARN", # accepts EC2_INSTANCE_ARN, SCAN_ID, ACCOUNT_ID, GUARDDUTY_FINDING_ID, SCAN_START_TIME, SCAN_STATUS
1271
+ # filter_condition: {
1272
+ # equals_value: "NonEmptyString",
1273
+ # greater_than: 1,
1274
+ # less_than: 1,
1275
+ # },
1276
+ # },
1277
+ # ],
1278
+ # },
1279
+ # sort_criteria: {
1280
+ # attribute_name: "String",
1281
+ # order_by: "ASC", # accepts ASC, DESC
1282
+ # },
1283
+ # })
1284
+ #
1285
+ # @example Response structure
1286
+ #
1287
+ # resp.scans #=> Array
1288
+ # resp.scans[0].detector_id #=> String
1289
+ # resp.scans[0].admin_detector_id #=> String
1290
+ # resp.scans[0].scan_id #=> String
1291
+ # resp.scans[0].scan_status #=> String, one of "RUNNING", "COMPLETED", "FAILED"
1292
+ # resp.scans[0].failure_reason #=> String
1293
+ # resp.scans[0].scan_start_time #=> Time
1294
+ # resp.scans[0].scan_end_time #=> Time
1295
+ # resp.scans[0].trigger_details.guard_duty_finding_id #=> String
1296
+ # resp.scans[0].trigger_details.description #=> String
1297
+ # resp.scans[0].resource_details.instance_arn #=> String
1298
+ # resp.scans[0].scan_result_details.scan_result #=> String, one of "CLEAN", "INFECTED"
1299
+ # resp.scans[0].account_id #=> String
1300
+ # resp.scans[0].total_bytes #=> Integer
1301
+ # resp.scans[0].file_count #=> Integer
1302
+ # resp.scans[0].attached_volumes #=> Array
1303
+ # resp.scans[0].attached_volumes[0].volume_arn #=> String
1304
+ # resp.scans[0].attached_volumes[0].volume_type #=> String
1305
+ # resp.scans[0].attached_volumes[0].device_name #=> String
1306
+ # resp.scans[0].attached_volumes[0].volume_size_in_gb #=> Integer
1307
+ # resp.scans[0].attached_volumes[0].encryption_type #=> String
1308
+ # resp.scans[0].attached_volumes[0].snapshot_arn #=> String
1309
+ # resp.scans[0].attached_volumes[0].kms_key_arn #=> String
1310
+ # resp.next_token #=> String
1311
+ #
1312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeMalwareScans AWS API Documentation
1313
+ #
1314
+ # @overload describe_malware_scans(params = {})
1315
+ # @param [Hash] params ({})
1316
+ def describe_malware_scans(params = {}, options = {})
1317
+ req = build_request(:describe_malware_scans, params)
1318
+ req.send_request(options)
1319
+ end
1320
+
1225
1321
  # Returns information about the account selected as the delegated
1226
1322
  # administrator for GuardDuty.
1227
1323
  #
@@ -1247,6 +1343,7 @@ module Aws::GuardDuty
1247
1343
  # resp.member_account_limit_reached #=> Boolean
1248
1344
  # resp.data_sources.s3_logs.auto_enable #=> Boolean
1249
1345
  # resp.data_sources.kubernetes.audit_logs.auto_enable #=> Boolean
1346
+ # resp.data_sources.malware_protection.scan_ec2_instance_with_findings.ebs_volumes.auto_enable #=> Boolean
1250
1347
  #
1251
1348
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration AWS API Documentation
1252
1349
  #
@@ -1496,6 +1593,8 @@ module Aws::GuardDuty
1496
1593
  # resp.data_sources.flow_logs.status #=> String, one of "ENABLED", "DISABLED"
1497
1594
  # resp.data_sources.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
1498
1595
  # resp.data_sources.kubernetes.audit_logs.status #=> String, one of "ENABLED", "DISABLED"
1596
+ # resp.data_sources.malware_protection.scan_ec2_instance_with_findings.ebs_volumes.status #=> String, one of "ENABLED", "DISABLED"
1597
+ # resp.data_sources.malware_protection.service_role #=> String
1499
1598
  # resp.tags #=> Hash
1500
1599
  # resp.tags["TagKey"] #=> String
1501
1600
  #
@@ -1697,6 +1796,63 @@ module Aws::GuardDuty
1697
1796
  # resp.findings[0].resource.kubernetes_details.kubernetes_workload_details.volumes[0].name #=> String
1698
1797
  # resp.findings[0].resource.kubernetes_details.kubernetes_workload_details.volumes[0].host_path.path #=> String
1699
1798
  # resp.findings[0].resource.resource_type #=> String
1799
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details #=> Array
1800
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details[0].volume_arn #=> String
1801
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details[0].volume_type #=> String
1802
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details[0].device_name #=> String
1803
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details[0].volume_size_in_gb #=> Integer
1804
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details[0].encryption_type #=> String
1805
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details[0].snapshot_arn #=> String
1806
+ # resp.findings[0].resource.ebs_volume_details.scanned_volume_details[0].kms_key_arn #=> String
1807
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details #=> Array
1808
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details[0].volume_arn #=> String
1809
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details[0].volume_type #=> String
1810
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details[0].device_name #=> String
1811
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details[0].volume_size_in_gb #=> Integer
1812
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details[0].encryption_type #=> String
1813
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details[0].snapshot_arn #=> String
1814
+ # resp.findings[0].resource.ebs_volume_details.skipped_volume_details[0].kms_key_arn #=> String
1815
+ # resp.findings[0].resource.ecs_cluster_details.name #=> String
1816
+ # resp.findings[0].resource.ecs_cluster_details.arn #=> String
1817
+ # resp.findings[0].resource.ecs_cluster_details.status #=> String
1818
+ # resp.findings[0].resource.ecs_cluster_details.active_services_count #=> Integer
1819
+ # resp.findings[0].resource.ecs_cluster_details.registered_container_instances_count #=> Integer
1820
+ # resp.findings[0].resource.ecs_cluster_details.running_tasks_count #=> Integer
1821
+ # resp.findings[0].resource.ecs_cluster_details.tags #=> Array
1822
+ # resp.findings[0].resource.ecs_cluster_details.tags[0].key #=> String
1823
+ # resp.findings[0].resource.ecs_cluster_details.tags[0].value #=> String
1824
+ # resp.findings[0].resource.ecs_cluster_details.task_details.arn #=> String
1825
+ # resp.findings[0].resource.ecs_cluster_details.task_details.definition_arn #=> String
1826
+ # resp.findings[0].resource.ecs_cluster_details.task_details.version #=> String
1827
+ # resp.findings[0].resource.ecs_cluster_details.task_details.task_created_at #=> Time
1828
+ # resp.findings[0].resource.ecs_cluster_details.task_details.started_at #=> Time
1829
+ # resp.findings[0].resource.ecs_cluster_details.task_details.started_by #=> String
1830
+ # resp.findings[0].resource.ecs_cluster_details.task_details.tags #=> Array
1831
+ # resp.findings[0].resource.ecs_cluster_details.task_details.tags[0].key #=> String
1832
+ # resp.findings[0].resource.ecs_cluster_details.task_details.tags[0].value #=> String
1833
+ # resp.findings[0].resource.ecs_cluster_details.task_details.volumes #=> Array
1834
+ # resp.findings[0].resource.ecs_cluster_details.task_details.volumes[0].name #=> String
1835
+ # resp.findings[0].resource.ecs_cluster_details.task_details.volumes[0].host_path.path #=> String
1836
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers #=> Array
1837
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].container_runtime #=> String
1838
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].id #=> String
1839
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].name #=> String
1840
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].image #=> String
1841
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].image_prefix #=> String
1842
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].volume_mounts #=> Array
1843
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].volume_mounts[0].name #=> String
1844
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].volume_mounts[0].mount_path #=> String
1845
+ # resp.findings[0].resource.ecs_cluster_details.task_details.containers[0].security_context.privileged #=> Boolean
1846
+ # resp.findings[0].resource.ecs_cluster_details.task_details.group #=> String
1847
+ # resp.findings[0].resource.container_details.container_runtime #=> String
1848
+ # resp.findings[0].resource.container_details.id #=> String
1849
+ # resp.findings[0].resource.container_details.name #=> String
1850
+ # resp.findings[0].resource.container_details.image #=> String
1851
+ # resp.findings[0].resource.container_details.image_prefix #=> String
1852
+ # resp.findings[0].resource.container_details.volume_mounts #=> Array
1853
+ # resp.findings[0].resource.container_details.volume_mounts[0].name #=> String
1854
+ # resp.findings[0].resource.container_details.volume_mounts[0].mount_path #=> String
1855
+ # resp.findings[0].resource.container_details.security_context.privileged #=> Boolean
1700
1856
  # resp.findings[0].schema_version #=> String
1701
1857
  # resp.findings[0].service.action.action_type #=> String
1702
1858
  # resp.findings[0].service.action.aws_api_call_action.api #=> String
@@ -1786,6 +1942,32 @@ module Aws::GuardDuty
1786
1942
  # resp.findings[0].service.user_feedback #=> String
1787
1943
  # resp.findings[0].service.additional_info.value #=> String
1788
1944
  # resp.findings[0].service.additional_info.type #=> String
1945
+ # resp.findings[0].service.feature_name #=> String
1946
+ # resp.findings[0].service.ebs_volume_scan_details.scan_id #=> String
1947
+ # resp.findings[0].service.ebs_volume_scan_details.scan_started_at #=> Time
1948
+ # resp.findings[0].service.ebs_volume_scan_details.scan_completed_at #=> Time
1949
+ # resp.findings[0].service.ebs_volume_scan_details.trigger_finding_id #=> String
1950
+ # resp.findings[0].service.ebs_volume_scan_details.sources #=> Array
1951
+ # resp.findings[0].service.ebs_volume_scan_details.sources[0] #=> String
1952
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.scanned_item_count.total_gb #=> Integer
1953
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.scanned_item_count.files #=> Integer
1954
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.scanned_item_count.volumes #=> Integer
1955
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threats_detected_item_count.files #=> Integer
1956
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.highest_severity_threat_details.severity #=> String
1957
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.highest_severity_threat_details.threat_name #=> String
1958
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.highest_severity_threat_details.count #=> Integer
1959
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.item_count #=> Integer
1960
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.unique_threat_name_count #=> Integer
1961
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.shortened #=> Boolean
1962
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names #=> Array
1963
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].name #=> String
1964
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].severity #=> String
1965
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].item_count #=> Integer
1966
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].file_paths #=> Array
1967
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].file_paths[0].file_path #=> String
1968
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].file_paths[0].volume_arn #=> String
1969
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].file_paths[0].hash #=> String
1970
+ # resp.findings[0].service.ebs_volume_scan_details.scan_detections.threat_detected_by_name.threat_names[0].file_paths[0].file_name #=> String
1789
1971
  # resp.findings[0].severity #=> Float
1790
1972
  # resp.findings[0].title #=> String
1791
1973
  # resp.findings[0].type #=> String
@@ -1918,6 +2100,44 @@ module Aws::GuardDuty
1918
2100
  req.send_request(options)
1919
2101
  end
1920
2102
 
2103
+ # Returns the details of the malware scan settings.
2104
+ #
2105
+ # @option params [required, String] :detector_id
2106
+ # The unique ID of the detector that the scan setting is associated
2107
+ # with.
2108
+ #
2109
+ # @return [Types::GetMalwareScanSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2110
+ #
2111
+ # * {Types::GetMalwareScanSettingsResponse#scan_resource_criteria #scan_resource_criteria} => Types::ScanResourceCriteria
2112
+ # * {Types::GetMalwareScanSettingsResponse#ebs_snapshot_preservation #ebs_snapshot_preservation} => String
2113
+ #
2114
+ # @example Request syntax with placeholder values
2115
+ #
2116
+ # resp = client.get_malware_scan_settings({
2117
+ # detector_id: "DetectorId", # required
2118
+ # })
2119
+ #
2120
+ # @example Response structure
2121
+ #
2122
+ # resp.scan_resource_criteria.include #=> Hash
2123
+ # resp.scan_resource_criteria.include["ScanCriterionKey"].map_equals #=> Array
2124
+ # resp.scan_resource_criteria.include["ScanCriterionKey"].map_equals[0].key #=> String
2125
+ # resp.scan_resource_criteria.include["ScanCriterionKey"].map_equals[0].value #=> String
2126
+ # resp.scan_resource_criteria.exclude #=> Hash
2127
+ # resp.scan_resource_criteria.exclude["ScanCriterionKey"].map_equals #=> Array
2128
+ # resp.scan_resource_criteria.exclude["ScanCriterionKey"].map_equals[0].key #=> String
2129
+ # resp.scan_resource_criteria.exclude["ScanCriterionKey"].map_equals[0].value #=> String
2130
+ # resp.ebs_snapshot_preservation #=> String, one of "NO_RETENTION", "RETENTION_WITH_FINDING"
2131
+ #
2132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMalwareScanSettings AWS API Documentation
2133
+ #
2134
+ # @overload get_malware_scan_settings(params = {})
2135
+ # @param [Hash] params ({})
2136
+ def get_malware_scan_settings(params = {}, options = {})
2137
+ req = build_request(:get_malware_scan_settings, params)
2138
+ req.send_request(options)
2139
+ end
2140
+
1921
2141
  # Provides the details for the GuardDuty administrator account
1922
2142
  # associated with the current GuardDuty member account.
1923
2143
  #
@@ -1980,6 +2200,8 @@ module Aws::GuardDuty
1980
2200
  # resp.member_data_source_configurations[0].data_sources.flow_logs.status #=> String, one of "ENABLED", "DISABLED"
1981
2201
  # resp.member_data_source_configurations[0].data_sources.s3_logs.status #=> String, one of "ENABLED", "DISABLED"
1982
2202
  # resp.member_data_source_configurations[0].data_sources.kubernetes.audit_logs.status #=> String, one of "ENABLED", "DISABLED"
2203
+ # resp.member_data_source_configurations[0].data_sources.malware_protection.scan_ec2_instance_with_findings.ebs_volumes.status #=> String, one of "ENABLED", "DISABLED"
2204
+ # resp.member_data_source_configurations[0].data_sources.malware_protection.service_role #=> String
1983
2205
  # resp.unprocessed_accounts #=> Array
1984
2206
  # resp.unprocessed_accounts[0].account_id #=> String
1985
2207
  # resp.unprocessed_accounts[0].result #=> String
@@ -2070,6 +2292,7 @@ module Aws::GuardDuty
2070
2292
  # resp.accounts[0].data_sources.flow_logs.free_trial_days_remaining #=> Integer
2071
2293
  # resp.accounts[0].data_sources.s3_logs.free_trial_days_remaining #=> Integer
2072
2294
  # resp.accounts[0].data_sources.kubernetes.audit_logs.free_trial_days_remaining #=> Integer
2295
+ # resp.accounts[0].data_sources.malware_protection.scan_ec2_instance_with_findings.free_trial_days_remaining #=> Integer
2073
2296
  # resp.unprocessed_accounts #=> Array
2074
2297
  # resp.unprocessed_accounts[0].account_id #=> String
2075
2298
  # resp.unprocessed_accounts[0].result #=> String
@@ -2175,7 +2398,7 @@ module Aws::GuardDuty
2175
2398
  # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
2176
2399
  # usage_criteria: { # required
2177
2400
  # account_ids: ["AccountId"],
2178
- # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS
2401
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS, EC2_MALWARE_SCAN
2179
2402
  # resources: ["String"],
2180
2403
  # },
2181
2404
  # unit: "String",
@@ -2190,7 +2413,7 @@ module Aws::GuardDuty
2190
2413
  # resp.usage_statistics.sum_by_account[0].total.amount #=> String
2191
2414
  # resp.usage_statistics.sum_by_account[0].total.unit #=> String
2192
2415
  # resp.usage_statistics.sum_by_data_source #=> Array
2193
- # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS", "KUBERNETES_AUDIT_LOGS"
2416
+ # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS", "KUBERNETES_AUDIT_LOGS", "EC2_MALWARE_SCAN"
2194
2417
  # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String
2195
2418
  # resp.usage_statistics.sum_by_data_source[0].total.unit #=> String
2196
2419
  # resp.usage_statistics.sum_by_resource #=> Array
@@ -3052,6 +3275,11 @@ module Aws::GuardDuty
3052
3275
  # enable: false, # required
3053
3276
  # },
3054
3277
  # },
3278
+ # malware_protection: {
3279
+ # scan_ec2_instance_with_findings: {
3280
+ # ebs_volumes: false,
3281
+ # },
3282
+ # },
3055
3283
  # },
3056
3284
  # })
3057
3285
  #
@@ -3209,6 +3437,59 @@ module Aws::GuardDuty
3209
3437
  req.send_request(options)
3210
3438
  end
3211
3439
 
3440
+ # Updates the malware scan settings.
3441
+ #
3442
+ # @option params [required, String] :detector_id
3443
+ # The unique ID of the detector that specifies the GuardDuty service
3444
+ # where you want to update scan settings.
3445
+ #
3446
+ # @option params [Types::ScanResourceCriteria] :scan_resource_criteria
3447
+ # Represents the criteria to be used in the filter for selecting
3448
+ # resources to scan.
3449
+ #
3450
+ # @option params [String] :ebs_snapshot_preservation
3451
+ # An enum value representing possible snapshot preservations.
3452
+ #
3453
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3454
+ #
3455
+ # @example Request syntax with placeholder values
3456
+ #
3457
+ # resp = client.update_malware_scan_settings({
3458
+ # detector_id: "DetectorId", # required
3459
+ # scan_resource_criteria: {
3460
+ # include: {
3461
+ # "EC2_INSTANCE_TAG" => {
3462
+ # map_equals: [ # required
3463
+ # {
3464
+ # key: "TagKey", # required
3465
+ # value: "TagValue",
3466
+ # },
3467
+ # ],
3468
+ # },
3469
+ # },
3470
+ # exclude: {
3471
+ # "EC2_INSTANCE_TAG" => {
3472
+ # map_equals: [ # required
3473
+ # {
3474
+ # key: "TagKey", # required
3475
+ # value: "TagValue",
3476
+ # },
3477
+ # ],
3478
+ # },
3479
+ # },
3480
+ # },
3481
+ # ebs_snapshot_preservation: "NO_RETENTION", # accepts NO_RETENTION, RETENTION_WITH_FINDING
3482
+ # })
3483
+ #
3484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMalwareScanSettings AWS API Documentation
3485
+ #
3486
+ # @overload update_malware_scan_settings(params = {})
3487
+ # @param [Hash] params ({})
3488
+ def update_malware_scan_settings(params = {}, options = {})
3489
+ req = build_request(:update_malware_scan_settings, params)
3490
+ req.send_request(options)
3491
+ end
3492
+
3212
3493
  # Contains information on member accounts to be updated.
3213
3494
  #
3214
3495
  # @option params [required, String] :detector_id
@@ -3238,6 +3519,11 @@ module Aws::GuardDuty
3238
3519
  # enable: false, # required
3239
3520
  # },
3240
3521
  # },
3522
+ # malware_protection: {
3523
+ # scan_ec2_instance_with_findings: {
3524
+ # ebs_volumes: false,
3525
+ # },
3526
+ # },
3241
3527
  # },
3242
3528
  # })
3243
3529
  #
@@ -3284,6 +3570,13 @@ module Aws::GuardDuty
3284
3570
  # auto_enable: false, # required
3285
3571
  # },
3286
3572
  # },
3573
+ # malware_protection: {
3574
+ # scan_ec2_instance_with_findings: {
3575
+ # ebs_volumes: {
3576
+ # auto_enable: false,
3577
+ # },
3578
+ # },
3579
+ # },
3287
3580
  # },
3288
3581
  # })
3289
3582
  #
@@ -3387,7 +3680,7 @@ module Aws::GuardDuty
3387
3680
  params: params,
3388
3681
  config: config)
3389
3682
  context[:gem_name] = 'aws-sdk-guardduty'
3390
- context[:gem_version] = '1.58.0'
3683
+ context[:gem_version] = '1.59.0'
3391
3684
  Seahorse::Client::Request.new(handlers, context)
3392
3685
  end
3393
3686