aws-sdk-guardduty 1.58.0 → 1.59.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: 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