aws-sdk-guardduty 1.56.0 → 1.59.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,43 @@
10
10
  module Aws::GuardDuty
11
11
  module Types
12
12
 
13
+ # @note When making an API call, you may pass AcceptAdministratorInvitationRequest
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # detector_id: "DetectorId", # required
18
+ # administrator_id: "String", # required
19
+ # invitation_id: "String", # required
20
+ # }
21
+ #
22
+ # @!attribute [rw] detector_id
23
+ # The unique ID of the detector of the GuardDuty member account.
24
+ # @return [String]
25
+ #
26
+ # @!attribute [rw] administrator_id
27
+ # The account ID of the GuardDuty administrator account whose
28
+ # invitation you're accepting.
29
+ # @return [String]
30
+ #
31
+ # @!attribute [rw] invitation_id
32
+ # The value that is used to validate the administrator account to the
33
+ # member account.
34
+ # @return [String]
35
+ #
36
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptAdministratorInvitationRequest AWS API Documentation
37
+ #
38
+ class AcceptAdministratorInvitationRequest < Struct.new(
39
+ :detector_id,
40
+ :administrator_id,
41
+ :invitation_id)
42
+ SENSITIVE = []
43
+ include Aws::Structure
44
+ end
45
+
46
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptAdministratorInvitationResponse AWS API Documentation
47
+ #
48
+ class AcceptAdministratorInvitationResponse < Aws::EmptyStructure; end
49
+
13
50
  # @note When making an API call, you may pass AcceptInvitationRequest
14
51
  # data as a hash:
15
52
  #
@@ -125,6 +162,26 @@ module Aws::GuardDuty
125
162
  include Aws::Structure
126
163
  end
127
164
 
165
+ # Provides details of the GuardDuty member account that uses a free
166
+ # trial service.
167
+ #
168
+ # @!attribute [rw] account_id
169
+ # The account identifier of the GuardDuty member account.
170
+ # @return [String]
171
+ #
172
+ # @!attribute [rw] data_sources
173
+ # Describes the data source enabled for the GuardDuty member account.
174
+ # @return [Types::DataSourcesFreeTrial]
175
+ #
176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AccountFreeTrialInfo AWS API Documentation
177
+ #
178
+ class AccountFreeTrialInfo < Struct.new(
179
+ :account_id,
180
+ :data_sources)
181
+ SENSITIVE = []
182
+ include Aws::Structure
183
+ end
184
+
128
185
  # Contains information about the account level permissions on the S3
129
186
  # bucket.
130
187
  #
@@ -204,6 +261,37 @@ module Aws::GuardDuty
204
261
  include Aws::Structure
205
262
  end
206
263
 
264
+ # Contains information about the administrator account and invitation.
265
+ #
266
+ # @!attribute [rw] account_id
267
+ # The ID of the account used as the administrator account.
268
+ # @return [String]
269
+ #
270
+ # @!attribute [rw] invitation_id
271
+ # The value that is used to validate the administrator account to the
272
+ # member account.
273
+ # @return [String]
274
+ #
275
+ # @!attribute [rw] relationship_status
276
+ # The status of the relationship between the administrator and member
277
+ # accounts.
278
+ # @return [String]
279
+ #
280
+ # @!attribute [rw] invited_at
281
+ # The timestamp when the invitation was sent.
282
+ # @return [String]
283
+ #
284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Administrator AWS API Documentation
285
+ #
286
+ class Administrator < Struct.new(
287
+ :account_id,
288
+ :invitation_id,
289
+ :relationship_status,
290
+ :invited_at)
291
+ SENSITIVE = []
292
+ include Aws::Structure
293
+ end
294
+
207
295
  # @note When making an API call, you may pass ArchiveFindingsRequest
208
296
  # data as a hash:
209
297
  #
@@ -253,6 +341,7 @@ module Aws::GuardDuty
253
341
  # @return [String]
254
342
  #
255
343
  # @!attribute [rw] user_agent
344
+ # The agent through which the API request was made.
256
345
  # @return [String]
257
346
  #
258
347
  # @!attribute [rw] remote_ip_details
@@ -270,6 +359,12 @@ module Aws::GuardDuty
270
359
  # account.
271
360
  # @return [Types::RemoteAccountDetails]
272
361
  #
362
+ # @!attribute [rw] affected_resources
363
+ # The details of the Amazon Web Services account that made the API
364
+ # call. This field identifies the resources that were affected by this
365
+ # API call.
366
+ # @return [Hash<String,String>]
367
+ #
273
368
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AwsApiCallAction AWS API Documentation
274
369
  #
275
370
  class AwsApiCallAction < Struct.new(
@@ -280,7 +375,8 @@ module Aws::GuardDuty
280
375
  :user_agent,
281
376
  :remote_ip_details,
282
377
  :service_name,
283
- :remote_account_details)
378
+ :remote_account_details,
379
+ :affected_resources)
284
380
  SENSITIVE = []
285
381
  include Aws::Structure
286
382
  end
@@ -601,6 +697,11 @@ module Aws::GuardDuty
601
697
  # enable: false, # required
602
698
  # },
603
699
  # },
700
+ # malware_protection: {
701
+ # scan_ec2_instance_with_findings: {
702
+ # ebs_volumes: false,
703
+ # },
704
+ # },
604
705
  # },
605
706
  # tags: {
606
707
  # "TagKey" => "TagValue",
@@ -774,6 +875,8 @@ module Aws::GuardDuty
774
875
  #
775
876
  # * service.action.awsApiCallAction.errorCode
776
877
  #
878
+ # * service.action.awsApiCallAction.userAgent
879
+ #
777
880
  # * service.action.awsApiCallAction.remoteIpDetails.city.cityName
778
881
  #
779
882
  # * service.action.awsApiCallAction.remoteIpDetails.country.countryName
@@ -1193,6 +1296,11 @@ module Aws::GuardDuty
1193
1296
  # enable: false, # required
1194
1297
  # },
1195
1298
  # },
1299
+ # malware_protection: {
1300
+ # scan_ec2_instance_with_findings: {
1301
+ # ebs_volumes: false,
1302
+ # },
1303
+ # },
1196
1304
  # }
1197
1305
  #
1198
1306
  # @!attribute [rw] s3_logs
@@ -1203,11 +1311,16 @@ module Aws::GuardDuty
1203
1311
  # Describes whether any Kubernetes logs are enabled as data sources.
1204
1312
  # @return [Types::KubernetesConfiguration]
1205
1313
  #
1314
+ # @!attribute [rw] malware_protection
1315
+ # Describes whether Malware Protection is enabled as a data source.
1316
+ # @return [Types::MalwareProtectionConfiguration]
1317
+ #
1206
1318
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DataSourceConfigurations AWS API Documentation
1207
1319
  #
1208
1320
  class DataSourceConfigurations < Struct.new(
1209
1321
  :s3_logs,
1210
- :kubernetes)
1322
+ :kubernetes,
1323
+ :malware_protection)
1211
1324
  SENSITIVE = []
1212
1325
  include Aws::Structure
1213
1326
  end
@@ -1239,6 +1352,10 @@ module Aws::GuardDuty
1239
1352
  # data sources.
1240
1353
  # @return [Types::KubernetesConfigurationResult]
1241
1354
  #
1355
+ # @!attribute [rw] malware_protection
1356
+ # Describes the configuration of Malware Protection data sources.
1357
+ # @return [Types::MalwareProtectionConfigurationResult]
1358
+ #
1242
1359
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DataSourceConfigurationsResult AWS API Documentation
1243
1360
  #
1244
1361
  class DataSourceConfigurationsResult < Struct.new(
@@ -1246,7 +1363,66 @@ module Aws::GuardDuty
1246
1363
  :dns_logs,
1247
1364
  :flow_logs,
1248
1365
  :s3_logs,
1249
- :kubernetes)
1366
+ :kubernetes,
1367
+ :malware_protection)
1368
+ SENSITIVE = []
1369
+ include Aws::Structure
1370
+ end
1371
+
1372
+ # Contains information about which data sources are enabled for the
1373
+ # GuardDuty member account.
1374
+ #
1375
+ # @!attribute [rw] free_trial_days_remaining
1376
+ # A value that specifies the number of days left to use each enabled
1377
+ # data source.
1378
+ # @return [Integer]
1379
+ #
1380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DataSourceFreeTrial AWS API Documentation
1381
+ #
1382
+ class DataSourceFreeTrial < Struct.new(
1383
+ :free_trial_days_remaining)
1384
+ SENSITIVE = []
1385
+ include Aws::Structure
1386
+ end
1387
+
1388
+ # Contains information about which data sources are enabled for the
1389
+ # GuardDuty member account.
1390
+ #
1391
+ # @!attribute [rw] cloud_trail
1392
+ # Describes whether any AWS CloudTrail management event logs are
1393
+ # enabled as data sources.
1394
+ # @return [Types::DataSourceFreeTrial]
1395
+ #
1396
+ # @!attribute [rw] dns_logs
1397
+ # Describes whether any DNS logs are enabled as data sources.
1398
+ # @return [Types::DataSourceFreeTrial]
1399
+ #
1400
+ # @!attribute [rw] flow_logs
1401
+ # Describes whether any VPC Flow logs are enabled as data sources.
1402
+ # @return [Types::DataSourceFreeTrial]
1403
+ #
1404
+ # @!attribute [rw] s3_logs
1405
+ # Describes whether any S3 data event logs are enabled as data
1406
+ # sources.
1407
+ # @return [Types::DataSourceFreeTrial]
1408
+ #
1409
+ # @!attribute [rw] kubernetes
1410
+ # Describes whether any Kubernetes logs are enabled as data sources.
1411
+ # @return [Types::KubernetesDataSourceFreeTrial]
1412
+ #
1413
+ # @!attribute [rw] malware_protection
1414
+ # Describes whether Malware Protection is enabled as a data source.
1415
+ # @return [Types::MalwareProtectionDataSourceFreeTrial]
1416
+ #
1417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DataSourcesFreeTrial AWS API Documentation
1418
+ #
1419
+ class DataSourcesFreeTrial < Struct.new(
1420
+ :cloud_trail,
1421
+ :dns_logs,
1422
+ :flow_logs,
1423
+ :s3_logs,
1424
+ :kubernetes,
1425
+ :malware_protection)
1250
1426
  SENSITIVE = []
1251
1427
  include Aws::Structure
1252
1428
  end
@@ -1524,6 +1700,88 @@ module Aws::GuardDuty
1524
1700
  #
1525
1701
  class DeleteThreatIntelSetResponse < Aws::EmptyStructure; end
1526
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
+
1527
1785
  # @note When making an API call, you may pass DescribeOrganizationConfigurationRequest
1528
1786
  # data as a hash:
1529
1787
  #
@@ -1713,6 +1971,29 @@ module Aws::GuardDuty
1713
1971
  #
1714
1972
  class DisableOrganizationAdminAccountResponse < Aws::EmptyStructure; end
1715
1973
 
1974
+ # @note When making an API call, you may pass DisassociateFromAdministratorAccountRequest
1975
+ # data as a hash:
1976
+ #
1977
+ # {
1978
+ # detector_id: "DetectorId", # required
1979
+ # }
1980
+ #
1981
+ # @!attribute [rw] detector_id
1982
+ # The unique ID of the detector of the GuardDuty member account.
1983
+ # @return [String]
1984
+ #
1985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromAdministratorAccountRequest AWS API Documentation
1986
+ #
1987
+ class DisassociateFromAdministratorAccountRequest < Struct.new(
1988
+ :detector_id)
1989
+ SENSITIVE = []
1990
+ include Aws::Structure
1991
+ end
1992
+
1993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromAdministratorAccountResponse AWS API Documentation
1994
+ #
1995
+ class DisassociateFromAdministratorAccountResponse < Aws::EmptyStructure; end
1996
+
1716
1997
  # @note When making an API call, you may pass DisassociateFromMasterAccountRequest
1717
1998
  # data as a hash:
1718
1999
  #
@@ -1783,10 +2064,21 @@ module Aws::GuardDuty
1783
2064
  # The domain information for the API request.
1784
2065
  # @return [String]
1785
2066
  #
2067
+ # @!attribute [rw] protocol
2068
+ # The network connection protocol observed in the activity that
2069
+ # prompted GuardDuty to generate the finding.
2070
+ # @return [String]
2071
+ #
2072
+ # @!attribute [rw] blocked
2073
+ # Indicates whether the targeted port is blocked.
2074
+ # @return [Boolean]
2075
+ #
1786
2076
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DnsRequestAction AWS API Documentation
1787
2077
  #
1788
2078
  class DnsRequestAction < Struct.new(
1789
- :domain)
2079
+ :domain,
2080
+ :protocol,
2081
+ :blocked)
1790
2082
  SENSITIVE = []
1791
2083
  include Aws::Structure
1792
2084
  end
@@ -1805,76 +2097,257 @@ module Aws::GuardDuty
1805
2097
  include Aws::Structure
1806
2098
  end
1807
2099
 
1808
- # Details about the EKS cluster involved in a Kubernetes finding.
2100
+ # Contains list of scanned and skipped EBS volumes with details.
1809
2101
  #
1810
- # @!attribute [rw] name
1811
- # EKS cluster name.
1812
- # @return [String]
2102
+ # @!attribute [rw] scanned_volume_details
2103
+ # List of EBS volumes that were scanned.
2104
+ # @return [Array<Types::VolumeDetail>]
1813
2105
  #
1814
- # @!attribute [rw] arn
1815
- # EKS cluster ARN.
1816
- # @return [String]
2106
+ # @!attribute [rw] skipped_volume_details
2107
+ # List of EBS volumes that were skipped from the malware scan.
2108
+ # @return [Array<Types::VolumeDetail>]
1817
2109
  #
1818
- # @!attribute [rw] vpc_id
1819
- # The VPC ID to which the EKS cluster is attached.
1820
- # @return [String]
2110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EbsVolumeDetails AWS API Documentation
1821
2111
  #
1822
- # @!attribute [rw] status
1823
- # The EKS cluster status.
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.
1824
2123
  # @return [String]
1825
2124
  #
1826
- # @!attribute [rw] tags
1827
- # The EKS cluster tags.
1828
- # @return [Array<Types::Tag>]
2125
+ # @!attribute [rw] scan_started_at
2126
+ # Returns the start date and time of the malware scan.
2127
+ # @return [Time]
1829
2128
  #
1830
- # @!attribute [rw] created_at
1831
- # The timestamp when the EKS cluster was created.
2129
+ # @!attribute [rw] scan_completed_at
2130
+ # Returns the completion date and time of the malware scan.
1832
2131
  # @return [Time]
1833
2132
  #
1834
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EksClusterDetails AWS API Documentation
2133
+ # @!attribute [rw] trigger_finding_id
2134
+ # GuardDuty finding ID that triggered a malware scan.
2135
+ # @return [String]
1835
2136
  #
1836
- class EksClusterDetails < Struct.new(
1837
- :name,
1838
- :arn,
1839
- :vpc_id,
1840
- :status,
1841
- :tags,
1842
- :created_at)
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)
1843
2154
  SENSITIVE = []
1844
2155
  include Aws::Structure
1845
2156
  end
1846
2157
 
1847
- # @note When making an API call, you may pass EnableOrganizationAdminAccountRequest
1848
- # data as a hash:
2158
+ # Describes the configuration of scanning EBS volumes as a data source.
1849
2159
  #
1850
- # {
1851
- # admin_account_id: "String", # required
1852
- # }
1853
- #
1854
- # @!attribute [rw] admin_account_id
1855
- # The Amazon Web Services Account ID for the organization account to
1856
- # be enabled as a GuardDuty delegated administrator.
2160
+ # @!attribute [rw] status
2161
+ # Describes whether scanning EBS volumes is enabled as a data source.
1857
2162
  # @return [String]
1858
2163
  #
1859
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccountRequest AWS API Documentation
2164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EbsVolumesResult AWS API Documentation
1860
2165
  #
1861
- class EnableOrganizationAdminAccountRequest < Struct.new(
1862
- :admin_account_id)
2166
+ class EbsVolumesResult < Struct.new(
2167
+ :status)
1863
2168
  SENSITIVE = []
1864
2169
  include Aws::Structure
1865
2170
  end
1866
2171
 
1867
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccountResponse AWS API Documentation
2172
+ # Contains information about the details of the ECS Cluster.
1868
2173
  #
1869
- class EnableOrganizationAdminAccountResponse < Aws::EmptyStructure; end
1870
-
1871
- # Contains information about the reason that the finding was generated.
2174
+ # @!attribute [rw] name
2175
+ # The name of the ECS Cluster.
2176
+ # @return [String]
1872
2177
  #
1873
- # @!attribute [rw] threat_intelligence_details
1874
- # A list of threat intelligence details related to the evidence.
1875
- # @return [Array<Types::ThreatIntelligenceDetail>]
2178
+ # @!attribute [rw] arn
2179
+ # The Amazon Resource Name (ARN) that identifies the cluster.
2180
+ # @return [String]
1876
2181
  #
1877
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Evidence AWS API Documentation
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
+
2281
+ # Details about the EKS cluster involved in a Kubernetes finding.
2282
+ #
2283
+ # @!attribute [rw] name
2284
+ # EKS cluster name.
2285
+ # @return [String]
2286
+ #
2287
+ # @!attribute [rw] arn
2288
+ # EKS cluster ARN.
2289
+ # @return [String]
2290
+ #
2291
+ # @!attribute [rw] vpc_id
2292
+ # The VPC ID to which the EKS cluster is attached.
2293
+ # @return [String]
2294
+ #
2295
+ # @!attribute [rw] status
2296
+ # The EKS cluster status.
2297
+ # @return [String]
2298
+ #
2299
+ # @!attribute [rw] tags
2300
+ # The EKS cluster tags.
2301
+ # @return [Array<Types::Tag>]
2302
+ #
2303
+ # @!attribute [rw] created_at
2304
+ # The timestamp when the EKS cluster was created.
2305
+ # @return [Time]
2306
+ #
2307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EksClusterDetails AWS API Documentation
2308
+ #
2309
+ class EksClusterDetails < Struct.new(
2310
+ :name,
2311
+ :arn,
2312
+ :vpc_id,
2313
+ :status,
2314
+ :tags,
2315
+ :created_at)
2316
+ SENSITIVE = []
2317
+ include Aws::Structure
2318
+ end
2319
+
2320
+ # @note When making an API call, you may pass EnableOrganizationAdminAccountRequest
2321
+ # data as a hash:
2322
+ #
2323
+ # {
2324
+ # admin_account_id: "String", # required
2325
+ # }
2326
+ #
2327
+ # @!attribute [rw] admin_account_id
2328
+ # The Amazon Web Services Account ID for the organization account to
2329
+ # be enabled as a GuardDuty delegated administrator.
2330
+ # @return [String]
2331
+ #
2332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccountRequest AWS API Documentation
2333
+ #
2334
+ class EnableOrganizationAdminAccountRequest < Struct.new(
2335
+ :admin_account_id)
2336
+ SENSITIVE = []
2337
+ include Aws::Structure
2338
+ end
2339
+
2340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccountResponse AWS API Documentation
2341
+ #
2342
+ class EnableOrganizationAdminAccountResponse < Aws::EmptyStructure; end
2343
+
2344
+ # Contains information about the reason that the finding was generated.
2345
+ #
2346
+ # @!attribute [rw] threat_intelligence_details
2347
+ # A list of threat intelligence details related to the evidence.
2348
+ # @return [Array<Types::ThreatIntelligenceDetail>]
2349
+ #
2350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Evidence AWS API Documentation
1878
2351
  #
1879
2352
  class Evidence < Struct.new(
1880
2353
  :threat_intelligence_details)
@@ -1882,6 +2355,107 @@ module Aws::GuardDuty
1882
2355
  include Aws::Structure
1883
2356
  end
1884
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
+
1885
2459
  # Contains information about the finding, which is generated when
1886
2460
  # abnormal or suspicious activity is detected.
1887
2461
  #
@@ -2054,6 +2628,37 @@ module Aws::GuardDuty
2054
2628
  include Aws::Structure
2055
2629
  end
2056
2630
 
2631
+ # @note When making an API call, you may pass GetAdministratorAccountRequest
2632
+ # data as a hash:
2633
+ #
2634
+ # {
2635
+ # detector_id: "DetectorId", # required
2636
+ # }
2637
+ #
2638
+ # @!attribute [rw] detector_id
2639
+ # The unique ID of the detector of the GuardDuty member account.
2640
+ # @return [String]
2641
+ #
2642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetAdministratorAccountRequest AWS API Documentation
2643
+ #
2644
+ class GetAdministratorAccountRequest < Struct.new(
2645
+ :detector_id)
2646
+ SENSITIVE = []
2647
+ include Aws::Structure
2648
+ end
2649
+
2650
+ # @!attribute [rw] administrator
2651
+ # The administrator account details.
2652
+ # @return [Types::Administrator]
2653
+ #
2654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetAdministratorAccountResponse AWS API Documentation
2655
+ #
2656
+ class GetAdministratorAccountResponse < Struct.new(
2657
+ :administrator)
2658
+ SENSITIVE = []
2659
+ include Aws::Structure
2660
+ end
2661
+
2057
2662
  # @note When making an API call, you may pass GetDetectorRequest
2058
2663
  # data as a hash:
2059
2664
  #
@@ -2364,6 +2969,44 @@ module Aws::GuardDuty
2364
2969
  include Aws::Structure
2365
2970
  end
2366
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
+
2367
3010
  # @note When making an API call, you may pass GetMasterAccountRequest
2368
3011
  # data as a hash:
2369
3012
  #
@@ -2484,41 +3127,85 @@ module Aws::GuardDuty
2484
3127
  include Aws::Structure
2485
3128
  end
2486
3129
 
2487
- # @note When making an API call, you may pass GetThreatIntelSetRequest
3130
+ # @note When making an API call, you may pass GetRemainingFreeTrialDaysRequest
2488
3131
  # data as a hash:
2489
3132
  #
2490
3133
  # {
2491
3134
  # detector_id: "DetectorId", # required
2492
- # threat_intel_set_id: "String", # required
3135
+ # account_ids: ["AccountId"],
2493
3136
  # }
2494
3137
  #
2495
3138
  # @!attribute [rw] detector_id
2496
- # The unique ID of the detector that the threatIntelSet is associated
2497
- # with.
3139
+ # The unique ID of the detector of the GuardDuty member account.
2498
3140
  # @return [String]
2499
3141
  #
2500
- # @!attribute [rw] threat_intel_set_id
2501
- # The unique ID of the threatIntelSet that you want to get.
2502
- # @return [String]
3142
+ # @!attribute [rw] account_ids
3143
+ # A list of account identifiers of the GuardDuty member account.
3144
+ # @return [Array<String>]
2503
3145
  #
2504
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSetRequest AWS API Documentation
3146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetRemainingFreeTrialDaysRequest AWS API Documentation
2505
3147
  #
2506
- class GetThreatIntelSetRequest < Struct.new(
3148
+ class GetRemainingFreeTrialDaysRequest < Struct.new(
2507
3149
  :detector_id,
2508
- :threat_intel_set_id)
3150
+ :account_ids)
2509
3151
  SENSITIVE = []
2510
3152
  include Aws::Structure
2511
3153
  end
2512
3154
 
2513
- # @!attribute [rw] name
2514
- # A user-friendly ThreatIntelSet name displayed in all findings that
2515
- # are generated by activity that involves IP addresses included in
2516
- # this ThreatIntelSet.
2517
- # @return [String]
3155
+ # @!attribute [rw] accounts
3156
+ # The member accounts which were included in a request and were
3157
+ # processed successfully.
3158
+ # @return [Array<Types::AccountFreeTrialInfo>]
2518
3159
  #
2519
- # @!attribute [rw] format
2520
- # The format of the threatIntelSet.
2521
- # @return [String]
3160
+ # @!attribute [rw] unprocessed_accounts
3161
+ # The member account that was included in a request but for which the
3162
+ # request could not be processed.
3163
+ # @return [Array<Types::UnprocessedAccount>]
3164
+ #
3165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetRemainingFreeTrialDaysResponse AWS API Documentation
3166
+ #
3167
+ class GetRemainingFreeTrialDaysResponse < Struct.new(
3168
+ :accounts,
3169
+ :unprocessed_accounts)
3170
+ SENSITIVE = []
3171
+ include Aws::Structure
3172
+ end
3173
+
3174
+ # @note When making an API call, you may pass GetThreatIntelSetRequest
3175
+ # data as a hash:
3176
+ #
3177
+ # {
3178
+ # detector_id: "DetectorId", # required
3179
+ # threat_intel_set_id: "String", # required
3180
+ # }
3181
+ #
3182
+ # @!attribute [rw] detector_id
3183
+ # The unique ID of the detector that the threatIntelSet is associated
3184
+ # with.
3185
+ # @return [String]
3186
+ #
3187
+ # @!attribute [rw] threat_intel_set_id
3188
+ # The unique ID of the threatIntelSet that you want to get.
3189
+ # @return [String]
3190
+ #
3191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSetRequest AWS API Documentation
3192
+ #
3193
+ class GetThreatIntelSetRequest < Struct.new(
3194
+ :detector_id,
3195
+ :threat_intel_set_id)
3196
+ SENSITIVE = []
3197
+ include Aws::Structure
3198
+ end
3199
+
3200
+ # @!attribute [rw] name
3201
+ # A user-friendly ThreatIntelSet name displayed in all findings that
3202
+ # are generated by activity that involves IP addresses included in
3203
+ # this ThreatIntelSet.
3204
+ # @return [String]
3205
+ #
3206
+ # @!attribute [rw] format
3207
+ # The format of the threatIntelSet.
3208
+ # @return [String]
2522
3209
  #
2523
3210
  # @!attribute [rw] location
2524
3211
  # The URI of the file that contains the ThreatIntelSet.
@@ -2552,7 +3239,7 @@ module Aws::GuardDuty
2552
3239
  # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES
2553
3240
  # usage_criteria: { # required
2554
3241
  # account_ids: ["AccountId"],
2555
- # 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
2556
3243
  # resources: ["String"],
2557
3244
  # },
2558
3245
  # unit: "String",
@@ -2622,6 +3309,33 @@ module Aws::GuardDuty
2622
3309
  include Aws::Structure
2623
3310
  end
2624
3311
 
3312
+ # Contains details of the highest severity threat detected during scan
3313
+ # and number of infected files.
3314
+ #
3315
+ # @!attribute [rw] severity
3316
+ # Severity level of the highest severity threat detected.
3317
+ # @return [String]
3318
+ #
3319
+ # @!attribute [rw] threat_name
3320
+ # Threat name of the highest severity threat detected as part of the
3321
+ # malware scan.
3322
+ # @return [String]
3323
+ #
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
+
2625
3339
  # Represents a pre-existing file or directory on the host machine that
2626
3340
  # the volume maps to.
2627
3341
  #
@@ -2957,6 +3671,22 @@ module Aws::GuardDuty
2957
3671
  include Aws::Structure
2958
3672
  end
2959
3673
 
3674
+ # Provides details about the Kubernetes resources when it is enabled as
3675
+ # a data source.
3676
+ #
3677
+ # @!attribute [rw] audit_logs
3678
+ # Describes whether Kubernetes audit logs are enabled as a data
3679
+ # source.
3680
+ # @return [Types::DataSourceFreeTrial]
3681
+ #
3682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/KubernetesDataSourceFreeTrial AWS API Documentation
3683
+ #
3684
+ class KubernetesDataSourceFreeTrial < Struct.new(
3685
+ :audit_logs)
3686
+ SENSITIVE = []
3687
+ include Aws::Structure
3688
+ end
3689
+
2960
3690
  # Details about Kubernetes resources such as a Kubernetes user or
2961
3691
  # workload resource involved in a Kubernetes finding.
2962
3692
  #
@@ -3735,6 +4465,67 @@ module Aws::GuardDuty
3735
4465
  include Aws::Structure
3736
4466
  end
3737
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
+
3738
4529
  # Contains information about the administrator account and invitation.
3739
4530
  #
3740
4531
  # @!attribute [rw] account_id
@@ -3797,6 +4588,10 @@ module Aws::GuardDuty
3797
4588
  # The last-updated timestamp of the member.
3798
4589
  # @return [String]
3799
4590
  #
4591
+ # @!attribute [rw] administrator_id
4592
+ # The administrator account ID.
4593
+ # @return [String]
4594
+ #
3800
4595
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Member AWS API Documentation
3801
4596
  #
3802
4597
  class Member < Struct.new(
@@ -3806,7 +4601,8 @@ module Aws::GuardDuty
3806
4601
  :email,
3807
4602
  :relationship_status,
3808
4603
  :invited_at,
3809
- :updated_at)
4604
+ :updated_at,
4605
+ :administrator_id)
3810
4606
  SENSITIVE = []
3811
4607
  include Aws::Structure
3812
4608
  end
@@ -3984,6 +4780,13 @@ module Aws::GuardDuty
3984
4780
  # auto_enable: false, # required
3985
4781
  # },
3986
4782
  # },
4783
+ # malware_protection: {
4784
+ # scan_ec2_instance_with_findings: {
4785
+ # ebs_volumes: {
4786
+ # auto_enable: false,
4787
+ # },
4788
+ # },
4789
+ # },
3987
4790
  # }
3988
4791
  #
3989
4792
  # @!attribute [rw] s3_logs
@@ -3996,11 +4799,17 @@ module Aws::GuardDuty
3996
4799
  # members of the organization.
3997
4800
  # @return [Types::OrganizationKubernetesConfiguration]
3998
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
+ #
3999
4807
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationDataSourceConfigurations AWS API Documentation
4000
4808
  #
4001
4809
  class OrganizationDataSourceConfigurations < Struct.new(
4002
4810
  :s3_logs,
4003
- :kubernetes)
4811
+ :kubernetes,
4812
+ :malware_protection)
4004
4813
  SENSITIVE = []
4005
4814
  include Aws::Structure
4006
4815
  end
@@ -4016,11 +4825,55 @@ module Aws::GuardDuty
4016
4825
  # Describes the configuration of Kubernetes data sources.
4017
4826
  # @return [Types::OrganizationKubernetesConfigurationResult]
4018
4827
  #
4828
+ # @!attribute [rw] malware_protection
4829
+ # Describes the configuration of Malware Protection data source for an
4830
+ # organization.
4831
+ # @return [Types::OrganizationMalwareProtectionConfigurationResult]
4832
+ #
4019
4833
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/OrganizationDataSourceConfigurationsResult AWS API Documentation
4020
4834
  #
4021
4835
  class OrganizationDataSourceConfigurationsResult < Struct.new(
4022
4836
  :s3_logs,
4023
- :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)
4024
4877
  SENSITIVE = []
4025
4878
  include Aws::Structure
4026
4879
  end
@@ -4104,6 +4957,48 @@ module Aws::GuardDuty
4104
4957
  include Aws::Structure
4105
4958
  end
4106
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
+
4107
5002
  # Describes whether S3 data event logs will be automatically enabled for
4108
5003
  # new members of the organization.
4109
5004
  #
@@ -4143,6 +5038,46 @@ module Aws::GuardDuty
4143
5038
  include Aws::Structure
4144
5039
  end
4145
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
+
4146
5081
  # Contains information on the owner of the bucket.
4147
5082
  #
4148
5083
  # @!attribute [rw] id
@@ -4346,150 +5281,531 @@ module Aws::GuardDuty
4346
5281
  include Aws::Structure
4347
5282
  end
4348
5283
 
4349
- # Contains information about the remote port.
5284
+ # Contains information about the remote port.
5285
+ #
5286
+ # @!attribute [rw] port
5287
+ # The port number of the remote connection.
5288
+ # @return [Integer]
5289
+ #
5290
+ # @!attribute [rw] port_name
5291
+ # The port name of the remote connection.
5292
+ # @return [String]
5293
+ #
5294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/RemotePortDetails AWS API Documentation
5295
+ #
5296
+ class RemotePortDetails < Struct.new(
5297
+ :port,
5298
+ :port_name)
5299
+ SENSITIVE = []
5300
+ include Aws::Structure
5301
+ end
5302
+
5303
+ # Contains information about the Amazon Web Services resource associated
5304
+ # with the activity that prompted GuardDuty to generate a finding.
5305
+ #
5306
+ # @!attribute [rw] access_key_details
5307
+ # The IAM access key details (IAM user information) of a user that
5308
+ # engaged in the activity that prompted GuardDuty to generate a
5309
+ # finding.
5310
+ # @return [Types::AccessKeyDetails]
5311
+ #
5312
+ # @!attribute [rw] s3_bucket_details
5313
+ # Contains information on the S3 bucket.
5314
+ # @return [Array<Types::S3BucketDetail>]
5315
+ #
5316
+ # @!attribute [rw] instance_details
5317
+ # The information about the EC2 instance associated with the activity
5318
+ # that prompted GuardDuty to generate a finding.
5319
+ # @return [Types::InstanceDetails]
5320
+ #
5321
+ # @!attribute [rw] eks_cluster_details
5322
+ # Details about the EKS cluster involved in a Kubernetes finding.
5323
+ # @return [Types::EksClusterDetails]
5324
+ #
5325
+ # @!attribute [rw] kubernetes_details
5326
+ # Details about the Kubernetes user and workload involved in a
5327
+ # Kubernetes finding.
5328
+ # @return [Types::KubernetesDetails]
5329
+ #
5330
+ # @!attribute [rw] resource_type
5331
+ # The type of Amazon Web Services resource.
5332
+ # @return [String]
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
+ #
5346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Resource AWS API Documentation
5347
+ #
5348
+ class Resource < Struct.new(
5349
+ :access_key_details,
5350
+ :s3_bucket_details,
5351
+ :instance_details,
5352
+ :eks_cluster_details,
5353
+ :kubernetes_details,
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)
5372
+ SENSITIVE = []
5373
+ include Aws::Structure
5374
+ end
5375
+
5376
+ # Contains information on the S3 bucket.
5377
+ #
5378
+ # @!attribute [rw] arn
5379
+ # The Amazon Resource Name (ARN) of the S3 bucket.
5380
+ # @return [String]
5381
+ #
5382
+ # @!attribute [rw] name
5383
+ # The name of the S3 bucket.
5384
+ # @return [String]
5385
+ #
5386
+ # @!attribute [rw] type
5387
+ # Describes whether the bucket is a source or destination bucket.
5388
+ # @return [String]
5389
+ #
5390
+ # @!attribute [rw] created_at
5391
+ # The date and time the bucket was created at.
5392
+ # @return [Time]
5393
+ #
5394
+ # @!attribute [rw] owner
5395
+ # The owner of the S3 bucket.
5396
+ # @return [Types::Owner]
5397
+ #
5398
+ # @!attribute [rw] tags
5399
+ # All tags attached to the S3 bucket
5400
+ # @return [Array<Types::Tag>]
5401
+ #
5402
+ # @!attribute [rw] default_server_side_encryption
5403
+ # Describes the server side encryption method used in the S3 bucket.
5404
+ # @return [Types::DefaultServerSideEncryption]
5405
+ #
5406
+ # @!attribute [rw] public_access
5407
+ # Describes the public access policies that apply to the S3 bucket.
5408
+ # @return [Types::PublicAccess]
5409
+ #
5410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/S3BucketDetail AWS API Documentation
5411
+ #
5412
+ class S3BucketDetail < Struct.new(
5413
+ :arn,
5414
+ :name,
5415
+ :type,
5416
+ :created_at,
5417
+ :owner,
5418
+ :tags,
5419
+ :default_server_side_encryption,
5420
+ :public_access)
5421
+ SENSITIVE = []
5422
+ include Aws::Structure
5423
+ end
5424
+
5425
+ # Describes whether S3 data event logs will be enabled as a data source.
5426
+ #
5427
+ # @note When making an API call, you may pass S3LogsConfiguration
5428
+ # data as a hash:
5429
+ #
5430
+ # {
5431
+ # enable: false, # required
5432
+ # }
5433
+ #
5434
+ # @!attribute [rw] enable
5435
+ # The status of S3 data event logs as a data source.
5436
+ # @return [Boolean]
5437
+ #
5438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/S3LogsConfiguration AWS API Documentation
5439
+ #
5440
+ class S3LogsConfiguration < Struct.new(
5441
+ :enable)
5442
+ SENSITIVE = []
5443
+ include Aws::Structure
5444
+ end
5445
+
5446
+ # Describes whether S3 data event logs will be enabled as a data source.
5447
+ #
5448
+ # @!attribute [rw] status
5449
+ # A value that describes whether S3 data event logs are automatically
5450
+ # enabled for new members of the organization.
5451
+ # @return [String]
5452
+ #
5453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/S3LogsConfigurationResult AWS API Documentation
5454
+ #
5455
+ class S3LogsConfigurationResult < Struct.new(
5456
+ :status)
5457
+ SENSITIVE = []
5458
+ include Aws::Structure
5459
+ end
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.
4350
5600
  #
4351
- # @!attribute [rw] port
4352
- # The port number of the remote connection.
4353
- # @return [Integer]
5601
+ # @!attribute [rw] scanned_item_count
5602
+ # Total number of scanned files.
5603
+ # @return [Types::ScannedItemCount]
4354
5604
  #
4355
- # @!attribute [rw] port_name
4356
- # The port name of the remote connection.
4357
- # @return [String]
5605
+ # @!attribute [rw] threats_detected_item_count
5606
+ # Total number of infected files.
5607
+ # @return [Types::ThreatsDetectedItemCount]
4358
5608
  #
4359
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/RemotePortDetails AWS API Documentation
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]
4360
5613
  #
4361
- class RemotePortDetails < Struct.new(
4362
- :port,
4363
- :port_name)
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)
4364
5625
  SENSITIVE = []
4365
5626
  include Aws::Structure
4366
5627
  end
4367
5628
 
4368
- # Contains information about the Amazon Web Services resource associated
4369
- # with the activity that prompted GuardDuty to generate a finding.
5629
+ # Describes whether Malware Protection for EC2 instances with findings
5630
+ # will be enabled as a data source.
4370
5631
  #
4371
- # @!attribute [rw] access_key_details
4372
- # The IAM access key details (IAM user information) of a user that
4373
- # engaged in the activity that prompted GuardDuty to generate a
4374
- # finding.
4375
- # @return [Types::AccessKeyDetails]
5632
+ # @note When making an API call, you may pass ScanEc2InstanceWithFindings
5633
+ # data as a hash:
4376
5634
  #
4377
- # @!attribute [rw] s3_bucket_details
4378
- # Contains information on the S3 bucket.
4379
- # @return [Array<Types::S3BucketDetail>]
5635
+ # {
5636
+ # ebs_volumes: false,
5637
+ # }
4380
5638
  #
4381
- # @!attribute [rw] instance_details
4382
- # The information about the EC2 instance associated with the activity
4383
- # that prompted GuardDuty to generate a finding.
4384
- # @return [Types::InstanceDetails]
5639
+ # @!attribute [rw] ebs_volumes
5640
+ # Describes the configuration for scanning EBS volumes as data source.
5641
+ # @return [Boolean]
4385
5642
  #
4386
- # @!attribute [rw] eks_cluster_details
4387
- # Details about the EKS cluster involved in a Kubernetes finding.
4388
- # @return [Types::EksClusterDetails]
5643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanEc2InstanceWithFindings AWS API Documentation
4389
5644
  #
4390
- # @!attribute [rw] kubernetes_details
4391
- # Details about the Kubernetes user and workload involved in a
4392
- # Kubernetes finding.
4393
- # @return [Types::KubernetesDetails]
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.
4394
5654
  #
4395
- # @!attribute [rw] resource_type
4396
- # The type of Amazon Web Services resource.
4397
- # @return [String]
5655
+ # @!attribute [rw] ebs_volumes
5656
+ # Describes the configuration of scanning EBS volumes as a data
5657
+ # source.
5658
+ # @return [Types::EbsVolumesResult]
4398
5659
  #
4399
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Resource AWS API Documentation
5660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanEc2InstanceWithFindingsResult AWS API Documentation
4400
5661
  #
4401
- class Resource < Struct.new(
4402
- :access_key_details,
4403
- :s3_bucket_details,
4404
- :instance_details,
4405
- :eks_cluster_details,
4406
- :kubernetes_details,
4407
- :resource_type)
5662
+ class ScanEc2InstanceWithFindingsResult < Struct.new(
5663
+ :ebs_volumes)
4408
5664
  SENSITIVE = []
4409
5665
  include Aws::Structure
4410
5666
  end
4411
5667
 
4412
- # Contains information on the S3 bucket.
5668
+ # Contains details of infected file including name, file path and hash.
4413
5669
  #
4414
- # @!attribute [rw] arn
4415
- # The Amazon Resource Name (ARN) of the S3 bucket.
5670
+ # @!attribute [rw] file_path
5671
+ # The file path of the infected file.
4416
5672
  # @return [String]
4417
5673
  #
4418
- # @!attribute [rw] name
4419
- # The name of the S3 bucket.
5674
+ # @!attribute [rw] volume_arn
5675
+ # EBS volume Arn details of the infected file.
4420
5676
  # @return [String]
4421
5677
  #
4422
- # @!attribute [rw] type
4423
- # Describes whether the bucket is a source or destination bucket.
5678
+ # @!attribute [rw] hash
5679
+ # The hash value of the infected file.
4424
5680
  # @return [String]
4425
5681
  #
4426
- # @!attribute [rw] created_at
4427
- # The date and time the bucket was created at.
4428
- # @return [Time]
4429
- #
4430
- # @!attribute [rw] owner
4431
- # The owner of the S3 bucket.
4432
- # @return [Types::Owner]
4433
- #
4434
- # @!attribute [rw] tags
4435
- # All tags attached to the S3 bucket
4436
- # @return [Array<Types::Tag>]
4437
- #
4438
- # @!attribute [rw] default_server_side_encryption
4439
- # Describes the server side encryption method used in the S3 bucket.
4440
- # @return [Types::DefaultServerSideEncryption]
4441
- #
4442
- # @!attribute [rw] public_access
4443
- # Describes the public access policies that apply to the S3 bucket.
4444
- # @return [Types::PublicAccess]
5682
+ # @!attribute [rw] file_name
5683
+ # File name of the infected file.
5684
+ # @return [String]
4445
5685
  #
4446
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/S3BucketDetail AWS API Documentation
5686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanFilePath AWS API Documentation
4447
5687
  #
4448
- class S3BucketDetail < Struct.new(
4449
- :arn,
4450
- :name,
4451
- :type,
4452
- :created_at,
4453
- :owner,
4454
- :tags,
4455
- :default_server_side_encryption,
4456
- :public_access)
5688
+ class ScanFilePath < Struct.new(
5689
+ :file_path,
5690
+ :volume_arn,
5691
+ :hash,
5692
+ :file_name)
4457
5693
  SENSITIVE = []
4458
5694
  include Aws::Structure
4459
5695
  end
4460
5696
 
4461
- # Describes whether S3 data event logs will be enabled as a data source.
5697
+ # Contains information about criteria used to filter resources before
5698
+ # triggering malware scan.
4462
5699
  #
4463
- # @note When making an API call, you may pass S3LogsConfiguration
5700
+ # @note When making an API call, you may pass ScanResourceCriteria
4464
5701
  # data as a hash:
4465
5702
  #
4466
5703
  # {
4467
- # enable: false, # required
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
+ # },
4468
5724
  # }
4469
5725
  #
4470
- # @!attribute [rw] enable
4471
- # The status of S3 data event logs as a data source.
4472
- # @return [Boolean]
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>]
4473
5730
  #
4474
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/S3LogsConfiguration AWS API Documentation
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>]
4475
5735
  #
4476
- class S3LogsConfiguration < Struct.new(
4477
- :enable)
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)
4478
5741
  SENSITIVE = []
4479
5742
  include Aws::Structure
4480
5743
  end
4481
5744
 
4482
- # Describes whether S3 data event logs will be enabled as a data source.
5745
+ # Represents the result of the scan.
4483
5746
  #
4484
- # @!attribute [rw] status
4485
- # A value that describes whether S3 data event logs are automatically
4486
- # enabled for new members of the organization.
5747
+ # @!attribute [rw] scan_result
5748
+ # An enum value representing possible scan results.
4487
5749
  # @return [String]
4488
5750
  #
4489
- # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/S3LogsConfigurationResult AWS API Documentation
5751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ScanResultDetails AWS API Documentation
4490
5752
  #
4491
- class S3LogsConfigurationResult < Struct.new(
4492
- :status)
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)
4493
5809
  SENSITIVE = []
4494
5810
  include Aws::Structure
4495
5811
  end
@@ -4573,6 +5889,18 @@ module Aws::GuardDuty
4573
5889
  # Feedback that was submitted about the finding.
4574
5890
  # @return [String]
4575
5891
  #
5892
+ # @!attribute [rw] additional_info
5893
+ # Contains additional information about the generated finding.
5894
+ # @return [Types::ServiceAdditionalInfo]
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
+ #
4576
5904
  # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/Service AWS API Documentation
4577
5905
  #
4578
5906
  class Service < Struct.new(
@@ -4585,7 +5913,29 @@ module Aws::GuardDuty
4585
5913
  :event_last_seen,
4586
5914
  :resource_role,
4587
5915
  :service_name,
4588
- :user_feedback)
5916
+ :user_feedback,
5917
+ :additional_info,
5918
+ :feature_name,
5919
+ :ebs_volume_scan_details)
5920
+ SENSITIVE = []
5921
+ include Aws::Structure
5922
+ end
5923
+
5924
+ # Additional information about the generated finding.
5925
+ #
5926
+ # @!attribute [rw] value
5927
+ # This field specifies the value of the additional information.
5928
+ # @return [String]
5929
+ #
5930
+ # @!attribute [rw] type
5931
+ # Describes the type of the additional information.
5932
+ # @return [String]
5933
+ #
5934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ServiceAdditionalInfo AWS API Documentation
5935
+ #
5936
+ class ServiceAdditionalInfo < Struct.new(
5937
+ :value,
5938
+ :type)
4589
5939
  SENSITIVE = []
4590
5940
  include Aws::Structure
4591
5941
  end
@@ -4749,6 +6099,37 @@ module Aws::GuardDuty
4749
6099
  #
4750
6100
  class TagResourceResponse < Aws::EmptyStructure; end
4751
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
+
4752
6133
  # An instance of a threat intelligence detail that constitutes evidence
4753
6134
  # for the finding.
4754
6135
  #
@@ -4770,6 +6151,20 @@ module Aws::GuardDuty
4770
6151
  include Aws::Structure
4771
6152
  end
4772
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
+
4773
6168
  # Contains the total usage with the corresponding currency unit for that
4774
6169
  # value.
4775
6170
  #
@@ -4790,6 +6185,25 @@ module Aws::GuardDuty
4790
6185
  include Aws::Structure
4791
6186
  end
4792
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
+
4793
6207
  # @note When making an API call, you may pass UnarchiveFindingsRequest
4794
6208
  # data as a hash:
4795
6209
  #
@@ -4883,6 +6297,11 @@ module Aws::GuardDuty
4883
6297
  # enable: false, # required
4884
6298
  # },
4885
6299
  # },
6300
+ # malware_protection: {
6301
+ # scan_ec2_instance_with_findings: {
6302
+ # ebs_volumes: false,
6303
+ # },
6304
+ # },
4886
6305
  # },
4887
6306
  # }
4888
6307
  #
@@ -5093,6 +6512,64 @@ module Aws::GuardDuty
5093
6512
  #
5094
6513
  class UpdateIPSetResponse < Aws::EmptyStructure; end
5095
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
+
5096
6573
  # @note When making an API call, you may pass UpdateMemberDetectorsRequest
5097
6574
  # data as a hash:
5098
6575
  #
@@ -5108,6 +6585,11 @@ module Aws::GuardDuty
5108
6585
  # enable: false, # required
5109
6586
  # },
5110
6587
  # },
6588
+ # malware_protection: {
6589
+ # scan_ec2_instance_with_findings: {
6590
+ # ebs_volumes: false,
6591
+ # },
6592
+ # },
5111
6593
  # },
5112
6594
  # }
5113
6595
  #
@@ -5161,6 +6643,13 @@ module Aws::GuardDuty
5161
6643
  # auto_enable: false, # required
5162
6644
  # },
5163
6645
  # },
6646
+ # malware_protection: {
6647
+ # scan_ec2_instance_with_findings: {
6648
+ # ebs_volumes: {
6649
+ # auto_enable: false,
6650
+ # },
6651
+ # },
6652
+ # },
5164
6653
  # },
5165
6654
  # }
5166
6655
  #
@@ -5309,7 +6798,7 @@ module Aws::GuardDuty
5309
6798
  #
5310
6799
  # {
5311
6800
  # account_ids: ["AccountId"],
5312
- # 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
5313
6802
  # resources: ["String"],
5314
6803
  # }
5315
6804
  #
@@ -5426,6 +6915,50 @@ module Aws::GuardDuty
5426
6915
  include Aws::Structure
5427
6916
  end
5428
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
+
5429
6962
  # Container volume mount.
5430
6963
  #
5431
6964
  # @!attribute [rw] name