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.
@@ -697,6 +697,11 @@ module Aws::GuardDuty
697
697
  # enable: false, # required
698
698
  # },
699
699
  # },
700
+ # malware_protection: {
701
+ # scan_ec2_instance_with_findings: {
702
+ # ebs_volumes: false,
703
+ # },
704
+ # },
700
705
  # },
701
706
  # tags: {
702
707
  # "TagKey" => "TagValue",
@@ -1291,6 +1296,11 @@ module Aws::GuardDuty
1291
1296
  # enable: false, # required
1292
1297
  # },
1293
1298
  # },
1299
+ # malware_protection: {
1300
+ # scan_ec2_instance_with_findings: {
1301
+ # ebs_volumes: false,
1302
+ # },
1303
+ # },
1294
1304
  # }
1295
1305
  #
1296
1306
  # @!attribute [rw] s3_logs
@@ -1301,11 +1311,16 @@ module Aws::GuardDuty
1301
1311
  # Describes whether any Kubernetes logs are enabled as data sources.
1302
1312
  # @return [Types::KubernetesConfiguration]
1303
1313
  #
1314
+ # @!attribute [rw] malware_protection
1315
+ # Describes whether Malware Protection is enabled as a data source.
1316
+ # @return [Types::MalwareProtectionConfiguration]
1317
+ #
1304
1318
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DataSourceConfigurations AWS API Documentation
1305
1319
  #
1306
1320
  class DataSourceConfigurations < Struct.new(
1307
1321
  :s3_logs,
1308
- :kubernetes)
1322
+ :kubernetes,
1323
+ :malware_protection)
1309
1324
  SENSITIVE = []
1310
1325
  include Aws::Structure
1311
1326
  end
@@ -1337,6 +1352,10 @@ module Aws::GuardDuty
1337
1352
  # data sources.
1338
1353
  # @return [Types::KubernetesConfigurationResult]
1339
1354
  #
1355
+ # @!attribute [rw] malware_protection
1356
+ # Describes the configuration of Malware Protection data sources.
1357
+ # @return [Types::MalwareProtectionConfigurationResult]
1358
+ #
1340
1359
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DataSourceConfigurationsResult AWS API Documentation
1341
1360
  #
1342
1361
  class DataSourceConfigurationsResult < Struct.new(
@@ -1344,7 +1363,8 @@ module Aws::GuardDuty
1344
1363
  :dns_logs,
1345
1364
  :flow_logs,
1346
1365
  :s3_logs,
1347
- :kubernetes)
1366
+ :kubernetes,
1367
+ :malware_protection)
1348
1368
  SENSITIVE = []
1349
1369
  include Aws::Structure
1350
1370
  end
@@ -1390,6 +1410,10 @@ module Aws::GuardDuty
1390
1410
  # Describes whether any Kubernetes logs are enabled as data sources.
1391
1411
  # @return [Types::KubernetesDataSourceFreeTrial]
1392
1412
  #
1413
+ # @!attribute [rw] malware_protection
1414
+ # Describes whether Malware Protection is enabled as a data source.
1415
+ # @return [Types::MalwareProtectionDataSourceFreeTrial]
1416
+ #
1393
1417
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DataSourcesFreeTrial AWS API Documentation
1394
1418
  #
1395
1419
  class DataSourcesFreeTrial < Struct.new(
@@ -1397,7 +1421,8 @@ module Aws::GuardDuty
1397
1421
  :dns_logs,
1398
1422
  :flow_logs,
1399
1423
  :s3_logs,
1400
- :kubernetes)
1424
+ :kubernetes,
1425
+ :malware_protection)
1401
1426
  SENSITIVE = []
1402
1427
  include Aws::Structure
1403
1428
  end
@@ -1675,6 +1700,88 @@ module Aws::GuardDuty
1675
1700
  #
1676
1701
  class DeleteThreatIntelSetResponse < Aws::EmptyStructure; end
1677
1702
 
1703
+ # @note When making an API call, you may pass DescribeMalwareScansRequest
1704
+ # data as a hash:
1705
+ #
1706
+ # {
1707
+ # detector_id: "DetectorId", # required
1708
+ # next_token: "String",
1709
+ # max_results: 1,
1710
+ # filter_criteria: {
1711
+ # filter_criterion: [
1712
+ # {
1713
+ # criterion_key: "EC2_INSTANCE_ARN", # accepts EC2_INSTANCE_ARN, SCAN_ID, ACCOUNT_ID, GUARDDUTY_FINDING_ID, SCAN_START_TIME, SCAN_STATUS
1714
+ # filter_condition: {
1715
+ # equals_value: "NonEmptyString",
1716
+ # greater_than: 1,
1717
+ # less_than: 1,
1718
+ # },
1719
+ # },
1720
+ # ],
1721
+ # },
1722
+ # sort_criteria: {
1723
+ # attribute_name: "String",
1724
+ # order_by: "ASC", # accepts ASC, DESC
1725
+ # },
1726
+ # }
1727
+ #
1728
+ # @!attribute [rw] detector_id
1729
+ # The unique ID of the detector that the request is associated with.
1730
+ # @return [String]
1731
+ #
1732
+ # @!attribute [rw] next_token
1733
+ # You can use this parameter when paginating results. Set the value of
1734
+ # this parameter to null on your first call to the list action. For
1735
+ # subsequent calls to the action, fill nextToken in the request with
1736
+ # the value of NextToken from the previous response to continue
1737
+ # listing data.
1738
+ # @return [String]
1739
+ #
1740
+ # @!attribute [rw] max_results
1741
+ # You can use this parameter to indicate the maximum number of items
1742
+ # that you want in the response. The default value is 50. The maximum
1743
+ # value is 50.
1744
+ # @return [Integer]
1745
+ #
1746
+ # @!attribute [rw] filter_criteria
1747
+ # Represents the criteria to be used in the filter for describing scan
1748
+ # entries.
1749
+ # @return [Types::FilterCriteria]
1750
+ #
1751
+ # @!attribute [rw] sort_criteria
1752
+ # Represents the criteria used for sorting scan entries.
1753
+ # @return [Types::SortCriteria]
1754
+ #
1755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeMalwareScansRequest AWS API Documentation
1756
+ #
1757
+ class DescribeMalwareScansRequest < Struct.new(
1758
+ :detector_id,
1759
+ :next_token,
1760
+ :max_results,
1761
+ :filter_criteria,
1762
+ :sort_criteria)
1763
+ SENSITIVE = []
1764
+ include Aws::Structure
1765
+ end
1766
+
1767
+ # @!attribute [rw] scans
1768
+ # Contains information about malware scans.
1769
+ # @return [Array<Types::Scan>]
1770
+ #
1771
+ # @!attribute [rw] next_token
1772
+ # The pagination parameter to be used on the next list operation to
1773
+ # retrieve more items.
1774
+ # @return [String]
1775
+ #
1776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeMalwareScansResponse AWS API Documentation
1777
+ #
1778
+ class DescribeMalwareScansResponse < Struct.new(
1779
+ :scans,
1780
+ :next_token)
1781
+ SENSITIVE = []
1782
+ include Aws::Structure
1783
+ end
1784
+
1678
1785
  # @note When making an API call, you may pass DescribeOrganizationConfigurationRequest
1679
1786
  # data as a hash:
1680
1787
  #
@@ -1990,6 +2097,187 @@ module Aws::GuardDuty
1990
2097
  include Aws::Structure
1991
2098
  end
1992
2099
 
2100
+ # Contains list of scanned and skipped EBS volumes with details.
2101
+ #
2102
+ # @!attribute [rw] scanned_volume_details
2103
+ # List of EBS volumes that were scanned.
2104
+ # @return [Array<Types::VolumeDetail>]
2105
+ #
2106
+ # @!attribute [rw] skipped_volume_details
2107
+ # List of EBS volumes that were skipped from the malware scan.
2108
+ # @return [Array<Types::VolumeDetail>]
2109
+ #
2110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EbsVolumeDetails AWS API Documentation
2111
+ #
2112
+ class EbsVolumeDetails < Struct.new(
2113
+ :scanned_volume_details,
2114
+ :skipped_volume_details)
2115
+ SENSITIVE = []
2116
+ include Aws::Structure
2117
+ end
2118
+
2119
+ # Contains details from the malware scan that created a finding.
2120
+ #
2121
+ # @!attribute [rw] scan_id
2122
+ # Unique Id of the malware scan that generated the finding.
2123
+ # @return [String]
2124
+ #
2125
+ # @!attribute [rw] scan_started_at
2126
+ # Returns the start date and time of the malware scan.
2127
+ # @return [Time]
2128
+ #
2129
+ # @!attribute [rw] scan_completed_at
2130
+ # Returns the completion date and time of the malware scan.
2131
+ # @return [Time]
2132
+ #
2133
+ # @!attribute [rw] trigger_finding_id
2134
+ # GuardDuty finding ID that triggered a malware scan.
2135
+ # @return [String]
2136
+ #
2137
+ # @!attribute [rw] sources
2138
+ # Contains list of threat intelligence sources used to detect threats.
2139
+ # @return [Array<String>]
2140
+ #
2141
+ # @!attribute [rw] scan_detections
2142
+ # Contains a complete view providing malware scan result details.
2143
+ # @return [Types::ScanDetections]
2144
+ #
2145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EbsVolumeScanDetails AWS API Documentation
2146
+ #
2147
+ class EbsVolumeScanDetails < Struct.new(
2148
+ :scan_id,
2149
+ :scan_started_at,
2150
+ :scan_completed_at,
2151
+ :trigger_finding_id,
2152
+ :sources,
2153
+ :scan_detections)
2154
+ SENSITIVE = []
2155
+ include Aws::Structure
2156
+ end
2157
+
2158
+ # Describes the configuration of scanning EBS volumes as a data source.
2159
+ #
2160
+ # @!attribute [rw] status
2161
+ # Describes whether scanning EBS volumes is enabled as a data source.
2162
+ # @return [String]
2163
+ #
2164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EbsVolumesResult AWS API Documentation
2165
+ #
2166
+ class EbsVolumesResult < Struct.new(
2167
+ :status)
2168
+ SENSITIVE = []
2169
+ include Aws::Structure
2170
+ end
2171
+
2172
+ # Contains information about the details of the ECS Cluster.
2173
+ #
2174
+ # @!attribute [rw] name
2175
+ # The name of the ECS Cluster.
2176
+ # @return [String]
2177
+ #
2178
+ # @!attribute [rw] arn
2179
+ # The Amazon Resource Name (ARN) that identifies the cluster.
2180
+ # @return [String]
2181
+ #
2182
+ # @!attribute [rw] status
2183
+ # The status of the ECS cluster.
2184
+ # @return [String]
2185
+ #
2186
+ # @!attribute [rw] active_services_count
2187
+ # The number of services that are running on the cluster in an ACTIVE
2188
+ # state.
2189
+ # @return [Integer]
2190
+ #
2191
+ # @!attribute [rw] registered_container_instances_count
2192
+ # The number of container instances registered into the cluster.
2193
+ # @return [Integer]
2194
+ #
2195
+ # @!attribute [rw] running_tasks_count
2196
+ # The number of tasks in the cluster that are in the RUNNING state.
2197
+ # @return [Integer]
2198
+ #
2199
+ # @!attribute [rw] tags
2200
+ # The tags of the ECS Cluster.
2201
+ # @return [Array<Types::Tag>]
2202
+ #
2203
+ # @!attribute [rw] task_details
2204
+ # Contains information about the details of the ECS Task.
2205
+ # @return [Types::EcsTaskDetails]
2206
+ #
2207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EcsClusterDetails AWS API Documentation
2208
+ #
2209
+ class EcsClusterDetails < Struct.new(
2210
+ :name,
2211
+ :arn,
2212
+ :status,
2213
+ :active_services_count,
2214
+ :registered_container_instances_count,
2215
+ :running_tasks_count,
2216
+ :tags,
2217
+ :task_details)
2218
+ SENSITIVE = []
2219
+ include Aws::Structure
2220
+ end
2221
+
2222
+ # Contains information about the task in an ECS cluster.
2223
+ #
2224
+ # @!attribute [rw] arn
2225
+ # The Amazon Resource Name (ARN) of the task.
2226
+ # @return [String]
2227
+ #
2228
+ # @!attribute [rw] definition_arn
2229
+ # The ARN of the task definition that creates the task.
2230
+ # @return [String]
2231
+ #
2232
+ # @!attribute [rw] version
2233
+ # The version counter for the task.
2234
+ # @return [String]
2235
+ #
2236
+ # @!attribute [rw] task_created_at
2237
+ # The Unix timestamp for the time when the task was created.
2238
+ # @return [Time]
2239
+ #
2240
+ # @!attribute [rw] started_at
2241
+ # The Unix timestamp for the time when the task started.
2242
+ # @return [Time]
2243
+ #
2244
+ # @!attribute [rw] started_by
2245
+ # Contains the tag specified when a task is started.
2246
+ # @return [String]
2247
+ #
2248
+ # @!attribute [rw] tags
2249
+ # The tags of the ECS Task.
2250
+ # @return [Array<Types::Tag>]
2251
+ #
2252
+ # @!attribute [rw] volumes
2253
+ # The list of data volume definitions for the task.
2254
+ # @return [Array<Types::Volume>]
2255
+ #
2256
+ # @!attribute [rw] containers
2257
+ # The containers that's associated with the task.
2258
+ # @return [Array<Types::Container>]
2259
+ #
2260
+ # @!attribute [rw] group
2261
+ # The name of the task group that's associated with the task.
2262
+ # @return [String]
2263
+ #
2264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EcsTaskDetails AWS API Documentation
2265
+ #
2266
+ class EcsTaskDetails < Struct.new(
2267
+ :arn,
2268
+ :definition_arn,
2269
+ :version,
2270
+ :task_created_at,
2271
+ :started_at,
2272
+ :started_by,
2273
+ :tags,
2274
+ :volumes,
2275
+ :containers,
2276
+ :group)
2277
+ SENSITIVE = []
2278
+ include Aws::Structure
2279
+ end
2280
+
1993
2281
  # Details about the EKS cluster involved in a Kubernetes finding.
1994
2282
  #
1995
2283
  # @!attribute [rw] name
@@ -2067,6 +2355,107 @@ module Aws::GuardDuty
2067
2355
  include Aws::Structure
2068
2356
  end
2069
2357
 
2358
+ # Contains information about the condition.
2359
+ #
2360
+ # @note When making an API call, you may pass FilterCondition
2361
+ # data as a hash:
2362
+ #
2363
+ # {
2364
+ # equals_value: "NonEmptyString",
2365
+ # greater_than: 1,
2366
+ # less_than: 1,
2367
+ # }
2368
+ #
2369
+ # @!attribute [rw] equals_value
2370
+ # Represents an *equal* **** condition to be applied to a single field
2371
+ # when querying for scan entries.
2372
+ # @return [String]
2373
+ #
2374
+ # @!attribute [rw] greater_than
2375
+ # Represents a *greater than* condition to be applied to a single
2376
+ # field when querying for scan entries.
2377
+ # @return [Integer]
2378
+ #
2379
+ # @!attribute [rw] less_than
2380
+ # Represents a *less than* condition to be applied to a single field
2381
+ # when querying for scan entries.
2382
+ # @return [Integer]
2383
+ #
2384
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/FilterCondition AWS API Documentation
2385
+ #
2386
+ class FilterCondition < Struct.new(
2387
+ :equals_value,
2388
+ :greater_than,
2389
+ :less_than)
2390
+ SENSITIVE = []
2391
+ include Aws::Structure
2392
+ end
2393
+
2394
+ # Represents the criteria to be used in the filter for describing scan
2395
+ # entries.
2396
+ #
2397
+ # @note When making an API call, you may pass FilterCriteria
2398
+ # data as a hash:
2399
+ #
2400
+ # {
2401
+ # filter_criterion: [
2402
+ # {
2403
+ # criterion_key: "EC2_INSTANCE_ARN", # accepts EC2_INSTANCE_ARN, SCAN_ID, ACCOUNT_ID, GUARDDUTY_FINDING_ID, SCAN_START_TIME, SCAN_STATUS
2404
+ # filter_condition: {
2405
+ # equals_value: "NonEmptyString",
2406
+ # greater_than: 1,
2407
+ # less_than: 1,
2408
+ # },
2409
+ # },
2410
+ # ],
2411
+ # }
2412
+ #
2413
+ # @!attribute [rw] filter_criterion
2414
+ # Represents a condition that when matched will be added to the
2415
+ # response of the operation.
2416
+ # @return [Array<Types::FilterCriterion>]
2417
+ #
2418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/FilterCriteria AWS API Documentation
2419
+ #
2420
+ class FilterCriteria < Struct.new(
2421
+ :filter_criterion)
2422
+ SENSITIVE = []
2423
+ include Aws::Structure
2424
+ end
2425
+
2426
+ # Represents a condition that when matched will be added to the response
2427
+ # of the operation.
2428
+ #
2429
+ # @note When making an API call, you may pass FilterCriterion
2430
+ # data as a hash:
2431
+ #
2432
+ # {
2433
+ # criterion_key: "EC2_INSTANCE_ARN", # accepts EC2_INSTANCE_ARN, SCAN_ID, ACCOUNT_ID, GUARDDUTY_FINDING_ID, SCAN_START_TIME, SCAN_STATUS
2434
+ # filter_condition: {
2435
+ # equals_value: "NonEmptyString",
2436
+ # greater_than: 1,
2437
+ # less_than: 1,
2438
+ # },
2439
+ # }
2440
+ #
2441
+ # @!attribute [rw] criterion_key
2442
+ # An enum value representing possible scan properties to match with
2443
+ # given scan entries.
2444
+ # @return [String]
2445
+ #
2446
+ # @!attribute [rw] filter_condition
2447
+ # Contains information about the condition.
2448
+ # @return [Types::FilterCondition]
2449
+ #
2450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/FilterCriterion AWS API Documentation
2451
+ #
2452
+ class FilterCriterion < Struct.new(
2453
+ :criterion_key,
2454
+ :filter_condition)
2455
+ SENSITIVE = []
2456
+ include Aws::Structure
2457
+ end
2458
+
2070
2459
  # Contains information about the finding, which is generated when
2071
2460
  # abnormal or suspicious activity is detected.
2072
2461
  #
@@ -2580,6 +2969,44 @@ module Aws::GuardDuty
2580
2969
  include Aws::Structure
2581
2970
  end
2582
2971
 
2972
+ # @note When making an API call, you may pass GetMalwareScanSettingsRequest
2973
+ # data as a hash:
2974
+ #
2975
+ # {
2976
+ # detector_id: "DetectorId", # required
2977
+ # }
2978
+ #
2979
+ # @!attribute [rw] detector_id
2980
+ # The unique ID of the detector that the scan setting is associated
2981
+ # with.
2982
+ # @return [String]
2983
+ #
2984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMalwareScanSettingsRequest AWS API Documentation
2985
+ #
2986
+ class GetMalwareScanSettingsRequest < Struct.new(
2987
+ :detector_id)
2988
+ SENSITIVE = []
2989
+ include Aws::Structure
2990
+ end
2991
+
2992
+ # @!attribute [rw] scan_resource_criteria
2993
+ # Represents the criteria to be used in the filter for scanning
2994
+ # resources.
2995
+ # @return [Types::ScanResourceCriteria]
2996
+ #
2997
+ # @!attribute [rw] ebs_snapshot_preservation
2998
+ # An enum value representing possible snapshot preservations.
2999
+ # @return [String]
3000
+ #
3001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMalwareScanSettingsResponse AWS API Documentation
3002
+ #
3003
+ class GetMalwareScanSettingsResponse < Struct.new(
3004
+ :scan_resource_criteria,
3005
+ :ebs_snapshot_preservation)
3006
+ SENSITIVE = []
3007
+ include Aws::Structure
3008
+ end
3009
+
2583
3010
  # @note When making an API call, you may pass GetMasterAccountRequest
2584
3011
  # data as a hash:
2585
3012
  #
@@ -2812,7 +3239,7 @@ module Aws::GuardDuty
2812
3239
  # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
2813
3240
  # usage_criteria: { # required
2814
3241
  # account_ids: ["AccountId"],
2815
- # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS
3242
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS, EC2_MALWARE_SCAN
2816
3243
  # resources: ["String"],
2817
3244
  # },
2818
3245
  # unit: "String",
@@ -2882,21 +3309,48 @@ module Aws::GuardDuty
2882
3309
  include Aws::Structure
2883
3310
  end
2884
3311
 
2885
- # Represents a pre-existing file or directory on the host machine that
2886
- # the volume maps to.
3312
+ # Contains details of the highest severity threat detected during scan
3313
+ # and number of infected files.
2887
3314
  #
2888
- # @!attribute [rw] path
2889
- # Path of the file or directory on the host that the volume maps to.
3315
+ # @!attribute [rw] severity
3316
+ # Severity level of the highest severity threat detected.
2890
3317
  # @return [String]
2891
3318
  #
2892
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/HostPath AWS API Documentation
3319
+ # @!attribute [rw] threat_name
3320
+ # Threat name of the highest severity threat detected as part of the
3321
+ # malware scan.
3322
+ # @return [String]
2893
3323
  #
2894
- class HostPath < Struct.new(
2895
- :path)
2896
- SENSITIVE = []
2897
- include Aws::Structure
2898
- end
2899
-
3324
+ # @!attribute [rw] count
3325
+ # Total number of infected files with the highest severity threat
3326
+ # detected.
3327
+ # @return [Integer]
3328
+ #
3329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/HighestSeverityThreatDetails AWS API Documentation
3330
+ #
3331
+ class HighestSeverityThreatDetails < Struct.new(
3332
+ :severity,
3333
+ :threat_name,
3334
+ :count)
3335
+ SENSITIVE = []
3336
+ include Aws::Structure
3337
+ end
3338
+
3339
+ # Represents a pre-existing file or directory on the host machine that
3340
+ # the volume maps to.
3341
+ #
3342
+ # @!attribute [rw] path
3343
+ # Path of the file or directory on the host that the volume maps to.
3344
+ # @return [String]
3345
+ #
3346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/HostPath AWS API Documentation
3347
+ #
3348
+ class HostPath < Struct.new(
3349
+ :path)
3350
+ SENSITIVE = []
3351
+ include Aws::Structure
3352
+ end
3353
+
2900
3354
  # Contains information about the EC2 instance profile.
2901
3355
  #
2902
3356
  # @!attribute [rw] arn
@@ -4011,6 +4465,67 @@ module Aws::GuardDuty
4011
4465
  include Aws::Structure
4012
4466
  end
4013
4467
 
4468
+ # Describes whether Malware Protection will be enabled as a data source.
4469
+ #
4470
+ # @note When making an API call, you may pass MalwareProtectionConfiguration
4471
+ # data as a hash:
4472
+ #
4473
+ # {
4474
+ # scan_ec2_instance_with_findings: {
4475
+ # ebs_volumes: false,
4476
+ # },
4477
+ # }
4478
+ #
4479
+ # @!attribute [rw] scan_ec2_instance_with_findings
4480
+ # Describes the configuration of Malware Protection for EC2 instances
4481
+ # with findings.
4482
+ # @return [Types::ScanEc2InstanceWithFindings]
4483
+ #
4484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/MalwareProtectionConfiguration AWS API Documentation
4485
+ #
4486
+ class MalwareProtectionConfiguration < Struct.new(
4487
+ :scan_ec2_instance_with_findings)
4488
+ SENSITIVE = []
4489
+ include Aws::Structure
4490
+ end
4491
+
4492
+ # An object that contains information on the status of all Malware
4493
+ # Protection data sources.
4494
+ #
4495
+ # @!attribute [rw] scan_ec2_instance_with_findings
4496
+ # Describes the configuration of Malware Protection for EC2 instances
4497
+ # with findings.
4498
+ # @return [Types::ScanEc2InstanceWithFindingsResult]
4499
+ #
4500
+ # @!attribute [rw] service_role
4501
+ # The GuardDuty Malware Protection service role.
4502
+ # @return [String]
4503
+ #
4504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/MalwareProtectionConfigurationResult AWS API Documentation
4505
+ #
4506
+ class MalwareProtectionConfigurationResult < Struct.new(
4507
+ :scan_ec2_instance_with_findings,
4508
+ :service_role)
4509
+ SENSITIVE = []
4510
+ include Aws::Structure
4511
+ end
4512
+
4513
+ # Provides details about Malware Protection when it is enabled as a data
4514
+ # source.
4515
+ #
4516
+ # @!attribute [rw] scan_ec2_instance_with_findings
4517
+ # Describes whether Malware Protection for EC2 instances with findings
4518
+ # is enabled as a data source.
4519
+ # @return [Types::DataSourceFreeTrial]
4520
+ #
4521
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/MalwareProtectionDataSourceFreeTrial AWS API Documentation
4522
+ #
4523
+ class MalwareProtectionDataSourceFreeTrial < Struct.new(
4524
+ :scan_ec2_instance_with_findings)
4525
+ SENSITIVE = []
4526
+ include Aws::Structure
4527
+ end
4528
+
4014
4529
  # Contains information about the administrator account and invitation.
4015
4530
  #
4016
4531
  # @!attribute [rw] account_id
@@ -4265,6 +4780,13 @@ module Aws::GuardDuty
4265
4780
  # auto_enable: false, # required
4266
4781
  # },
4267
4782
  # },
4783
+ # malware_protection: {
4784
+ # scan_ec2_instance_with_findings: {
4785
+ # ebs_volumes: {
4786
+ # auto_enable: false,
4787
+ # },
4788
+ # },
4789
+ # },
4268
4790
  # }
4269
4791
  #
4270
4792
  # @!attribute [rw] s3_logs
@@ -4277,11 +4799,17 @@ module Aws::GuardDuty
4277
4799
  # members of the organization.
4278
4800
  # @return [Types::OrganizationKubernetesConfiguration]
4279
4801
  #
4802
+ # @!attribute [rw] malware_protection
4803
+ # Describes the configuration of Malware Protection for new members of
4804
+ # the organization.
4805
+ # @return [Types::OrganizationMalwareProtectionConfiguration]
4806
+ #
4280
4807
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationDataSourceConfigurations AWS API Documentation
4281
4808
  #
4282
4809
  class OrganizationDataSourceConfigurations < Struct.new(
4283
4810
  :s3_logs,
4284
- :kubernetes)
4811
+ :kubernetes,
4812
+ :malware_protection)
4285
4813
  SENSITIVE = []
4286
4814
  include Aws::Structure
4287
4815
  end
@@ -4297,11 +4825,55 @@ module Aws::GuardDuty
4297
4825
  # Describes the configuration of Kubernetes data sources.
4298
4826
  # @return [Types::OrganizationKubernetesConfigurationResult]
4299
4827
  #
4828
+ # @!attribute [rw] malware_protection
4829
+ # Describes the configuration of Malware Protection data source for an
4830
+ # organization.
4831
+ # @return [Types::OrganizationMalwareProtectionConfigurationResult]
4832
+ #
4300
4833
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationDataSourceConfigurationsResult AWS API Documentation
4301
4834
  #
4302
4835
  class OrganizationDataSourceConfigurationsResult < Struct.new(
4303
4836
  :s3_logs,
4304
- :kubernetes)
4837
+ :kubernetes,
4838
+ :malware_protection)
4839
+ SENSITIVE = []
4840
+ include Aws::Structure
4841
+ end
4842
+
4843
+ # Organization-wide EBS volumes scan configuration.
4844
+ #
4845
+ # @note When making an API call, you may pass OrganizationEbsVolumes
4846
+ # data as a hash:
4847
+ #
4848
+ # {
4849
+ # auto_enable: false,
4850
+ # }
4851
+ #
4852
+ # @!attribute [rw] auto_enable
4853
+ # Whether scanning EBS volumes should be auto-enabled for new members
4854
+ # joining the organization.
4855
+ # @return [Boolean]
4856
+ #
4857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationEbsVolumes AWS API Documentation
4858
+ #
4859
+ class OrganizationEbsVolumes < Struct.new(
4860
+ :auto_enable)
4861
+ SENSITIVE = []
4862
+ include Aws::Structure
4863
+ end
4864
+
4865
+ # An object that contains information on the status of whether EBS
4866
+ # volumes scanning will be enabled as a data source for an organization.
4867
+ #
4868
+ # @!attribute [rw] auto_enable
4869
+ # An object that contains the status of whether scanning EBS volumes
4870
+ # should be auto-enabled for new members joining the organization.
4871
+ # @return [Boolean]
4872
+ #
4873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationEbsVolumesResult AWS API Documentation
4874
+ #
4875
+ class OrganizationEbsVolumesResult < Struct.new(
4876
+ :auto_enable)
4305
4877
  SENSITIVE = []
4306
4878
  include Aws::Structure
4307
4879
  end
@@ -4385,6 +4957,48 @@ module Aws::GuardDuty
4385
4957
  include Aws::Structure
4386
4958
  end
4387
4959
 
4960
+ # Organization-wide Malware Protection configurations.
4961
+ #
4962
+ # @note When making an API call, you may pass OrganizationMalwareProtectionConfiguration
4963
+ # data as a hash:
4964
+ #
4965
+ # {
4966
+ # scan_ec2_instance_with_findings: {
4967
+ # ebs_volumes: {
4968
+ # auto_enable: false,
4969
+ # },
4970
+ # },
4971
+ # }
4972
+ #
4973
+ # @!attribute [rw] scan_ec2_instance_with_findings
4974
+ # Whether Malware Protection for EC2 instances with findings should be
4975
+ # auto-enabled for new members joining the organization.
4976
+ # @return [Types::OrganizationScanEc2InstanceWithFindings]
4977
+ #
4978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationMalwareProtectionConfiguration AWS API Documentation
4979
+ #
4980
+ class OrganizationMalwareProtectionConfiguration < Struct.new(
4981
+ :scan_ec2_instance_with_findings)
4982
+ SENSITIVE = []
4983
+ include Aws::Structure
4984
+ end
4985
+
4986
+ # An object that contains information on the status of all Malware
4987
+ # Protection data source for an organization.
4988
+ #
4989
+ # @!attribute [rw] scan_ec2_instance_with_findings
4990
+ # Describes the configuration for scanning EC2 instances with findings
4991
+ # for an organization.
4992
+ # @return [Types::OrganizationScanEc2InstanceWithFindingsResult]
4993
+ #
4994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationMalwareProtectionConfigurationResult AWS API Documentation
4995
+ #
4996
+ class OrganizationMalwareProtectionConfigurationResult < Struct.new(
4997
+ :scan_ec2_instance_with_findings)
4998
+ SENSITIVE = []
4999
+ include Aws::Structure
5000
+ end
5001
+
4388
5002
  # Describes whether S3 data event logs will be automatically enabled for
4389
5003
  # new members of the organization.
4390
5004
  #
@@ -4424,6 +5038,46 @@ module Aws::GuardDuty
4424
5038
  include Aws::Structure
4425
5039
  end
4426
5040
 
5041
+ # Organization-wide EC2 instances with findings scan configuration.
5042
+ #
5043
+ # @note When making an API call, you may pass OrganizationScanEc2InstanceWithFindings
5044
+ # data as a hash:
5045
+ #
5046
+ # {
5047
+ # ebs_volumes: {
5048
+ # auto_enable: false,
5049
+ # },
5050
+ # }
5051
+ #
5052
+ # @!attribute [rw] ebs_volumes
5053
+ # Whether scanning EBS volumes should be auto-enabled for new members
5054
+ # joining the organization.
5055
+ # @return [Types::OrganizationEbsVolumes]
5056
+ #
5057
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationScanEc2InstanceWithFindings AWS API Documentation
5058
+ #
5059
+ class OrganizationScanEc2InstanceWithFindings < Struct.new(
5060
+ :ebs_volumes)
5061
+ SENSITIVE = []
5062
+ include Aws::Structure
5063
+ end
5064
+
5065
+ # An object that contains information on the status of scanning EC2
5066
+ # instances with findings for an organization.
5067
+ #
5068
+ # @!attribute [rw] ebs_volumes
5069
+ # Describes the configuration for scanning EBS volumes for an
5070
+ # organization.
5071
+ # @return [Types::OrganizationEbsVolumesResult]
5072
+ #
5073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationScanEc2InstanceWithFindingsResult AWS API Documentation
5074
+ #
5075
+ class OrganizationScanEc2InstanceWithFindingsResult < Struct.new(
5076
+ :ebs_volumes)
5077
+ SENSITIVE = []
5078
+ include Aws::Structure
5079
+ end
5080
+
4427
5081
  # Contains information on the owner of the bucket.
4428
5082
  #
4429
5083
  # @!attribute [rw] id
@@ -4677,6 +5331,18 @@ module Aws::GuardDuty
4677
5331
  # The type of Amazon Web Services resource.
4678
5332
  # @return [String]
4679
5333
  #
5334
+ # @!attribute [rw] ebs_volume_details
5335
+ # Contains list of scanned and skipped EBS volumes with details.
5336
+ # @return [Types::EbsVolumeDetails]
5337
+ #
5338
+ # @!attribute [rw] ecs_cluster_details
5339
+ # Contains information about the details of the ECS Cluster.
5340
+ # @return [Types::EcsClusterDetails]
5341
+ #
5342
+ # @!attribute [rw] container_details
5343
+ # Details of a container.
5344
+ # @return [Types::Container]
5345
+ #
4680
5346
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Resource AWS API Documentation
4681
5347
  #
4682
5348
  class Resource < Struct.new(
@@ -4685,7 +5351,24 @@ module Aws::GuardDuty
4685
5351
  :instance_details,
4686
5352
  :eks_cluster_details,
4687
5353
  :kubernetes_details,
4688
- :resource_type)
5354
+ :resource_type,
5355
+ :ebs_volume_details,
5356
+ :ecs_cluster_details,
5357
+ :container_details)
5358
+ SENSITIVE = []
5359
+ include Aws::Structure
5360
+ end
5361
+
5362
+ # Represents the resources that were scanned in the scan entry.
5363
+ #
5364
+ # @!attribute [rw] instance_arn
5365
+ # InstanceArn that was scanned in the scan entry.
5366
+ # @return [String]
5367
+ #
5368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ResourceDetails AWS API Documentation
5369
+ #
5370
+ class ResourceDetails < Struct.new(
5371
+ :instance_arn)
4689
5372
  SENSITIVE = []
4690
5373
  include Aws::Structure
4691
5374
  end
@@ -4775,6 +5458,358 @@ module Aws::GuardDuty
4775
5458
  include Aws::Structure
4776
5459
  end
4777
5460
 
5461
+ # Contains information about a malware scan.
5462
+ #
5463
+ # @!attribute [rw] detector_id
5464
+ # The unique ID of the detector that the request is associated with.
5465
+ # @return [String]
5466
+ #
5467
+ # @!attribute [rw] admin_detector_id
5468
+ # The unique detector ID of the administrator account that the request
5469
+ # is associated with. Note that this value will be the same as the one
5470
+ # used for `DetectorId` if the account is an administrator.
5471
+ # @return [String]
5472
+ #
5473
+ # @!attribute [rw] scan_id
5474
+ # The unique scan ID associated with a scan entry.
5475
+ # @return [String]
5476
+ #
5477
+ # @!attribute [rw] scan_status
5478
+ # An enum value representing possible scan statuses.
5479
+ # @return [String]
5480
+ #
5481
+ # @!attribute [rw] failure_reason
5482
+ # Represents the reason for FAILED scan status.
5483
+ # @return [String]
5484
+ #
5485
+ # @!attribute [rw] scan_start_time
5486
+ # The timestamp of when the scan was triggered.
5487
+ # @return [Time]
5488
+ #
5489
+ # @!attribute [rw] scan_end_time
5490
+ # The timestamp of when the scan was finished.
5491
+ # @return [Time]
5492
+ #
5493
+ # @!attribute [rw] trigger_details
5494
+ # Represents the reason the scan was triggered.
5495
+ # @return [Types::TriggerDetails]
5496
+ #
5497
+ # @!attribute [rw] resource_details
5498
+ # Represents the resources that were scanned in the scan entry.
5499
+ # @return [Types::ResourceDetails]
5500
+ #
5501
+ # @!attribute [rw] scan_result_details
5502
+ # Represents the result of the scan.
5503
+ # @return [Types::ScanResultDetails]
5504
+ #
5505
+ # @!attribute [rw] account_id
5506
+ # The ID for the account that belongs to the scan.
5507
+ # @return [String]
5508
+ #
5509
+ # @!attribute [rw] total_bytes
5510
+ # Represents total bytes that were scanned.
5511
+ # @return [Integer]
5512
+ #
5513
+ # @!attribute [rw] file_count
5514
+ # Represents the number of files that were scanned.
5515
+ # @return [Integer]
5516
+ #
5517
+ # @!attribute [rw] attached_volumes
5518
+ # List of volumes that were attached to the original instance to be
5519
+ # scanned.
5520
+ # @return [Array<Types::VolumeDetail>]
5521
+ #
5522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Scan AWS API Documentation
5523
+ #
5524
+ class Scan < Struct.new(
5525
+ :detector_id,
5526
+ :admin_detector_id,
5527
+ :scan_id,
5528
+ :scan_status,
5529
+ :failure_reason,
5530
+ :scan_start_time,
5531
+ :scan_end_time,
5532
+ :trigger_details,
5533
+ :resource_details,
5534
+ :scan_result_details,
5535
+ :account_id,
5536
+ :total_bytes,
5537
+ :file_count,
5538
+ :attached_volumes)
5539
+ SENSITIVE = []
5540
+ include Aws::Structure
5541
+ end
5542
+
5543
+ # Contains information about the condition.
5544
+ #
5545
+ # @note When making an API call, you may pass ScanCondition
5546
+ # data as a hash:
5547
+ #
5548
+ # {
5549
+ # map_equals: [ # required
5550
+ # {
5551
+ # key: "TagKey", # required
5552
+ # value: "TagValue",
5553
+ # },
5554
+ # ],
5555
+ # }
5556
+ #
5557
+ # @!attribute [rw] map_equals
5558
+ # Represents an *mapEqual* **** condition to be applied to a single
5559
+ # field when triggering for malware scan.
5560
+ # @return [Array<Types::ScanConditionPair>]
5561
+ #
5562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanCondition AWS API Documentation
5563
+ #
5564
+ class ScanCondition < Struct.new(
5565
+ :map_equals)
5566
+ SENSITIVE = []
5567
+ include Aws::Structure
5568
+ end
5569
+
5570
+ # Represents key, value pair to be matched against given resource
5571
+ # property.
5572
+ #
5573
+ # @note When making an API call, you may pass ScanConditionPair
5574
+ # data as a hash:
5575
+ #
5576
+ # {
5577
+ # key: "TagKey", # required
5578
+ # value: "TagValue",
5579
+ # }
5580
+ #
5581
+ # @!attribute [rw] key
5582
+ # Represents *key* **** in the map condition.
5583
+ # @return [String]
5584
+ #
5585
+ # @!attribute [rw] value
5586
+ # Represents optional *value* **** in the map condition. If not
5587
+ # specified, only *key* **** will be matched.
5588
+ # @return [String]
5589
+ #
5590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanConditionPair AWS API Documentation
5591
+ #
5592
+ class ScanConditionPair < Struct.new(
5593
+ :key,
5594
+ :value)
5595
+ SENSITIVE = []
5596
+ include Aws::Structure
5597
+ end
5598
+
5599
+ # Contains a complete view providing malware scan result details.
5600
+ #
5601
+ # @!attribute [rw] scanned_item_count
5602
+ # Total number of scanned files.
5603
+ # @return [Types::ScannedItemCount]
5604
+ #
5605
+ # @!attribute [rw] threats_detected_item_count
5606
+ # Total number of infected files.
5607
+ # @return [Types::ThreatsDetectedItemCount]
5608
+ #
5609
+ # @!attribute [rw] highest_severity_threat_details
5610
+ # Details of the highest severity threat detected during malware scan
5611
+ # and number of infected files.
5612
+ # @return [Types::HighestSeverityThreatDetails]
5613
+ #
5614
+ # @!attribute [rw] threat_detected_by_name
5615
+ # Contains details about identified threats organized by threat name.
5616
+ # @return [Types::ThreatDetectedByName]
5617
+ #
5618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanDetections AWS API Documentation
5619
+ #
5620
+ class ScanDetections < Struct.new(
5621
+ :scanned_item_count,
5622
+ :threats_detected_item_count,
5623
+ :highest_severity_threat_details,
5624
+ :threat_detected_by_name)
5625
+ SENSITIVE = []
5626
+ include Aws::Structure
5627
+ end
5628
+
5629
+ # Describes whether Malware Protection for EC2 instances with findings
5630
+ # will be enabled as a data source.
5631
+ #
5632
+ # @note When making an API call, you may pass ScanEc2InstanceWithFindings
5633
+ # data as a hash:
5634
+ #
5635
+ # {
5636
+ # ebs_volumes: false,
5637
+ # }
5638
+ #
5639
+ # @!attribute [rw] ebs_volumes
5640
+ # Describes the configuration for scanning EBS volumes as data source.
5641
+ # @return [Boolean]
5642
+ #
5643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanEc2InstanceWithFindings AWS API Documentation
5644
+ #
5645
+ class ScanEc2InstanceWithFindings < Struct.new(
5646
+ :ebs_volumes)
5647
+ SENSITIVE = []
5648
+ include Aws::Structure
5649
+ end
5650
+
5651
+ # An object that contains information on the status of whether Malware
5652
+ # Protection for EC2 instances with findings will be enabled as a data
5653
+ # source.
5654
+ #
5655
+ # @!attribute [rw] ebs_volumes
5656
+ # Describes the configuration of scanning EBS volumes as a data
5657
+ # source.
5658
+ # @return [Types::EbsVolumesResult]
5659
+ #
5660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanEc2InstanceWithFindingsResult AWS API Documentation
5661
+ #
5662
+ class ScanEc2InstanceWithFindingsResult < Struct.new(
5663
+ :ebs_volumes)
5664
+ SENSITIVE = []
5665
+ include Aws::Structure
5666
+ end
5667
+
5668
+ # Contains details of infected file including name, file path and hash.
5669
+ #
5670
+ # @!attribute [rw] file_path
5671
+ # The file path of the infected file.
5672
+ # @return [String]
5673
+ #
5674
+ # @!attribute [rw] volume_arn
5675
+ # EBS volume Arn details of the infected file.
5676
+ # @return [String]
5677
+ #
5678
+ # @!attribute [rw] hash
5679
+ # The hash value of the infected file.
5680
+ # @return [String]
5681
+ #
5682
+ # @!attribute [rw] file_name
5683
+ # File name of the infected file.
5684
+ # @return [String]
5685
+ #
5686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanFilePath AWS API Documentation
5687
+ #
5688
+ class ScanFilePath < Struct.new(
5689
+ :file_path,
5690
+ :volume_arn,
5691
+ :hash,
5692
+ :file_name)
5693
+ SENSITIVE = []
5694
+ include Aws::Structure
5695
+ end
5696
+
5697
+ # Contains information about criteria used to filter resources before
5698
+ # triggering malware scan.
5699
+ #
5700
+ # @note When making an API call, you may pass ScanResourceCriteria
5701
+ # data as a hash:
5702
+ #
5703
+ # {
5704
+ # include: {
5705
+ # "EC2_INSTANCE_TAG" => {
5706
+ # map_equals: [ # required
5707
+ # {
5708
+ # key: "TagKey", # required
5709
+ # value: "TagValue",
5710
+ # },
5711
+ # ],
5712
+ # },
5713
+ # },
5714
+ # exclude: {
5715
+ # "EC2_INSTANCE_TAG" => {
5716
+ # map_equals: [ # required
5717
+ # {
5718
+ # key: "TagKey", # required
5719
+ # value: "TagValue",
5720
+ # },
5721
+ # ],
5722
+ # },
5723
+ # },
5724
+ # }
5725
+ #
5726
+ # @!attribute [rw] include
5727
+ # Represents condition that when matched will allow a malware scan for
5728
+ # a certain resource.
5729
+ # @return [Hash<String,Types::ScanCondition>]
5730
+ #
5731
+ # @!attribute [rw] exclude
5732
+ # Represents condition that when matched will prevent a malware scan
5733
+ # for a certain resource.
5734
+ # @return [Hash<String,Types::ScanCondition>]
5735
+ #
5736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanResourceCriteria AWS API Documentation
5737
+ #
5738
+ class ScanResourceCriteria < Struct.new(
5739
+ :include,
5740
+ :exclude)
5741
+ SENSITIVE = []
5742
+ include Aws::Structure
5743
+ end
5744
+
5745
+ # Represents the result of the scan.
5746
+ #
5747
+ # @!attribute [rw] scan_result
5748
+ # An enum value representing possible scan results.
5749
+ # @return [String]
5750
+ #
5751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanResultDetails AWS API Documentation
5752
+ #
5753
+ class ScanResultDetails < Struct.new(
5754
+ :scan_result)
5755
+ SENSITIVE = []
5756
+ include Aws::Structure
5757
+ end
5758
+
5759
+ # Contains files infected with the given threat providing details of
5760
+ # malware name and severity.
5761
+ #
5762
+ # @!attribute [rw] name
5763
+ # The name of the identified threat.
5764
+ # @return [String]
5765
+ #
5766
+ # @!attribute [rw] severity
5767
+ # Severity of threat identified as part of the malware scan.
5768
+ # @return [String]
5769
+ #
5770
+ # @!attribute [rw] item_count
5771
+ # Total number of files infected with given threat.
5772
+ # @return [Integer]
5773
+ #
5774
+ # @!attribute [rw] file_paths
5775
+ # List of infected files in EBS volume with details.
5776
+ # @return [Array<Types::ScanFilePath>]
5777
+ #
5778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanThreatName AWS API Documentation
5779
+ #
5780
+ class ScanThreatName < Struct.new(
5781
+ :name,
5782
+ :severity,
5783
+ :item_count,
5784
+ :file_paths)
5785
+ SENSITIVE = []
5786
+ include Aws::Structure
5787
+ end
5788
+
5789
+ # Total number of scanned files.
5790
+ #
5791
+ # @!attribute [rw] total_gb
5792
+ # Total GB of files scanned for malware.
5793
+ # @return [Integer]
5794
+ #
5795
+ # @!attribute [rw] files
5796
+ # Number of files scanned.
5797
+ # @return [Integer]
5798
+ #
5799
+ # @!attribute [rw] volumes
5800
+ # Total number of scanned volumes.
5801
+ # @return [Integer]
5802
+ #
5803
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScannedItemCount AWS API Documentation
5804
+ #
5805
+ class ScannedItemCount < Struct.new(
5806
+ :total_gb,
5807
+ :files,
5808
+ :volumes)
5809
+ SENSITIVE = []
5810
+ include Aws::Structure
5811
+ end
5812
+
4778
5813
  # Container security context.
4779
5814
  #
4780
5815
  # @!attribute [rw] privileged
@@ -4858,6 +5893,14 @@ module Aws::GuardDuty
4858
5893
  # Contains additional information about the generated finding.
4859
5894
  # @return [Types::ServiceAdditionalInfo]
4860
5895
  #
5896
+ # @!attribute [rw] feature_name
5897
+ # The name of the feature that generated a finding.
5898
+ # @return [String]
5899
+ #
5900
+ # @!attribute [rw] ebs_volume_scan_details
5901
+ # Returns details from the malware scan that created a finding.
5902
+ # @return [Types::EbsVolumeScanDetails]
5903
+ #
4861
5904
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Service AWS API Documentation
4862
5905
  #
4863
5906
  class Service < Struct.new(
@@ -4871,7 +5914,9 @@ module Aws::GuardDuty
4871
5914
  :resource_role,
4872
5915
  :service_name,
4873
5916
  :user_feedback,
4874
- :additional_info)
5917
+ :additional_info,
5918
+ :feature_name,
5919
+ :ebs_volume_scan_details)
4875
5920
  SENSITIVE = []
4876
5921
  include Aws::Structure
4877
5922
  end
@@ -5054,6 +6099,37 @@ module Aws::GuardDuty
5054
6099
  #
5055
6100
  class TagResourceResponse < Aws::EmptyStructure; end
5056
6101
 
6102
+ # Contains details about identified threats organized by threat name.
6103
+ #
6104
+ # @!attribute [rw] item_count
6105
+ # Total number of infected files identified.
6106
+ # @return [Integer]
6107
+ #
6108
+ # @!attribute [rw] unique_threat_name_count
6109
+ # Total number of unique threats by name identified, as part of the
6110
+ # malware scan.
6111
+ # @return [Integer]
6112
+ #
6113
+ # @!attribute [rw] shortened
6114
+ # Flag to determine if the finding contains every single infected
6115
+ # file-path and/or every threat.
6116
+ # @return [Boolean]
6117
+ #
6118
+ # @!attribute [rw] threat_names
6119
+ # List of identified threats with details, organized by threat name.
6120
+ # @return [Array<Types::ScanThreatName>]
6121
+ #
6122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ThreatDetectedByName AWS API Documentation
6123
+ #
6124
+ class ThreatDetectedByName < Struct.new(
6125
+ :item_count,
6126
+ :unique_threat_name_count,
6127
+ :shortened,
6128
+ :threat_names)
6129
+ SENSITIVE = []
6130
+ include Aws::Structure
6131
+ end
6132
+
5057
6133
  # An instance of a threat intelligence detail that constitutes evidence
5058
6134
  # for the finding.
5059
6135
  #
@@ -5075,6 +6151,20 @@ module Aws::GuardDuty
5075
6151
  include Aws::Structure
5076
6152
  end
5077
6153
 
6154
+ # Contains total number of infected files.
6155
+ #
6156
+ # @!attribute [rw] files
6157
+ # Total number of infected files.
6158
+ # @return [Integer]
6159
+ #
6160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ThreatsDetectedItemCount AWS API Documentation
6161
+ #
6162
+ class ThreatsDetectedItemCount < Struct.new(
6163
+ :files)
6164
+ SENSITIVE = []
6165
+ include Aws::Structure
6166
+ end
6167
+
5078
6168
  # Contains the total usage with the corresponding currency unit for that
5079
6169
  # value.
5080
6170
  #
@@ -5095,6 +6185,25 @@ module Aws::GuardDuty
5095
6185
  include Aws::Structure
5096
6186
  end
5097
6187
 
6188
+ # Represents the reason the scan was triggered.
6189
+ #
6190
+ # @!attribute [rw] guard_duty_finding_id
6191
+ # The ID of the GuardDuty finding that triggered the BirdDog scan.
6192
+ # @return [String]
6193
+ #
6194
+ # @!attribute [rw] description
6195
+ # The description of the scan trigger.
6196
+ # @return [String]
6197
+ #
6198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TriggerDetails AWS API Documentation
6199
+ #
6200
+ class TriggerDetails < Struct.new(
6201
+ :guard_duty_finding_id,
6202
+ :description)
6203
+ SENSITIVE = []
6204
+ include Aws::Structure
6205
+ end
6206
+
5098
6207
  # @note When making an API call, you may pass UnarchiveFindingsRequest
5099
6208
  # data as a hash:
5100
6209
  #
@@ -5188,6 +6297,11 @@ module Aws::GuardDuty
5188
6297
  # enable: false, # required
5189
6298
  # },
5190
6299
  # },
6300
+ # malware_protection: {
6301
+ # scan_ec2_instance_with_findings: {
6302
+ # ebs_volumes: false,
6303
+ # },
6304
+ # },
5191
6305
  # },
5192
6306
  # }
5193
6307
  #
@@ -5398,6 +6512,64 @@ module Aws::GuardDuty
5398
6512
  #
5399
6513
  class UpdateIPSetResponse < Aws::EmptyStructure; end
5400
6514
 
6515
+ # @note When making an API call, you may pass UpdateMalwareScanSettingsRequest
6516
+ # data as a hash:
6517
+ #
6518
+ # {
6519
+ # detector_id: "DetectorId", # required
6520
+ # scan_resource_criteria: {
6521
+ # include: {
6522
+ # "EC2_INSTANCE_TAG" => {
6523
+ # map_equals: [ # required
6524
+ # {
6525
+ # key: "TagKey", # required
6526
+ # value: "TagValue",
6527
+ # },
6528
+ # ],
6529
+ # },
6530
+ # },
6531
+ # exclude: {
6532
+ # "EC2_INSTANCE_TAG" => {
6533
+ # map_equals: [ # required
6534
+ # {
6535
+ # key: "TagKey", # required
6536
+ # value: "TagValue",
6537
+ # },
6538
+ # ],
6539
+ # },
6540
+ # },
6541
+ # },
6542
+ # ebs_snapshot_preservation: "NO_RETENTION", # accepts NO_RETENTION, RETENTION_WITH_FINDING
6543
+ # }
6544
+ #
6545
+ # @!attribute [rw] detector_id
6546
+ # The unique ID of the detector that specifies the GuardDuty service
6547
+ # where you want to update scan settings.
6548
+ # @return [String]
6549
+ #
6550
+ # @!attribute [rw] scan_resource_criteria
6551
+ # Represents the criteria to be used in the filter for selecting
6552
+ # resources to scan.
6553
+ # @return [Types::ScanResourceCriteria]
6554
+ #
6555
+ # @!attribute [rw] ebs_snapshot_preservation
6556
+ # An enum value representing possible snapshot preservations.
6557
+ # @return [String]
6558
+ #
6559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMalwareScanSettingsRequest AWS API Documentation
6560
+ #
6561
+ class UpdateMalwareScanSettingsRequest < Struct.new(
6562
+ :detector_id,
6563
+ :scan_resource_criteria,
6564
+ :ebs_snapshot_preservation)
6565
+ SENSITIVE = []
6566
+ include Aws::Structure
6567
+ end
6568
+
6569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMalwareScanSettingsResponse AWS API Documentation
6570
+ #
6571
+ class UpdateMalwareScanSettingsResponse < Aws::EmptyStructure; end
6572
+
5401
6573
  # @note When making an API call, you may pass UpdateMemberDetectorsRequest
5402
6574
  # data as a hash:
5403
6575
  #
@@ -5413,6 +6585,11 @@ module Aws::GuardDuty
5413
6585
  # enable: false, # required
5414
6586
  # },
5415
6587
  # },
6588
+ # malware_protection: {
6589
+ # scan_ec2_instance_with_findings: {
6590
+ # ebs_volumes: false,
6591
+ # },
6592
+ # },
5416
6593
  # },
5417
6594
  # }
5418
6595
  #
@@ -5466,6 +6643,13 @@ module Aws::GuardDuty
5466
6643
  # auto_enable: false, # required
5467
6644
  # },
5468
6645
  # },
6646
+ # malware_protection: {
6647
+ # scan_ec2_instance_with_findings: {
6648
+ # ebs_volumes: {
6649
+ # auto_enable: false,
6650
+ # },
6651
+ # },
6652
+ # },
5469
6653
  # },
5470
6654
  # }
5471
6655
  #
@@ -5614,7 +6798,7 @@ module Aws::GuardDuty
5614
6798
  #
5615
6799
  # {
5616
6800
  # account_ids: ["AccountId"],
5617
- # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS
6801
+ # data_sources: ["FLOW_LOGS"], # required, accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS, EC2_MALWARE_SCAN
5618
6802
  # resources: ["String"],
5619
6803
  # }
5620
6804
  #
@@ -5731,6 +6915,50 @@ module Aws::GuardDuty
5731
6915
  include Aws::Structure
5732
6916
  end
5733
6917
 
6918
+ # Contains EBS volume details.
6919
+ #
6920
+ # @!attribute [rw] volume_arn
6921
+ # EBS volume Arn information.
6922
+ # @return [String]
6923
+ #
6924
+ # @!attribute [rw] volume_type
6925
+ # The EBS volume type.
6926
+ # @return [String]
6927
+ #
6928
+ # @!attribute [rw] device_name
6929
+ # The device name for the EBS volume.
6930
+ # @return [String]
6931
+ #
6932
+ # @!attribute [rw] volume_size_in_gb
6933
+ # EBS volume size in GB.
6934
+ # @return [Integer]
6935
+ #
6936
+ # @!attribute [rw] encryption_type
6937
+ # EBS volume encryption type.
6938
+ # @return [String]
6939
+ #
6940
+ # @!attribute [rw] snapshot_arn
6941
+ # Snapshot Arn of the EBS volume.
6942
+ # @return [String]
6943
+ #
6944
+ # @!attribute [rw] kms_key_arn
6945
+ # KMS key Arn used to encrypt the EBS volume.
6946
+ # @return [String]
6947
+ #
6948
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/VolumeDetail AWS API Documentation
6949
+ #
6950
+ class VolumeDetail < Struct.new(
6951
+ :volume_arn,
6952
+ :volume_type,
6953
+ :device_name,
6954
+ :volume_size_in_gb,
6955
+ :encryption_type,
6956
+ :snapshot_arn,
6957
+ :kms_key_arn)
6958
+ SENSITIVE = []
6959
+ include Aws::Structure
6960
+ end
6961
+
5734
6962
  # Container volume mount.
5735
6963
  #
5736
6964
  # @!attribute [rw] name