aws-sdk-securityhub 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,7 +28,32 @@ module Aws::SecurityHub
28
28
  AwsCloudFrontDistributionOriginItem = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionOriginItem')
29
29
  AwsCloudFrontDistributionOriginItemList = Shapes::ListShape.new(name: 'AwsCloudFrontDistributionOriginItemList')
30
30
  AwsCloudFrontDistributionOrigins = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionOrigins')
31
+ AwsCodeBuildProjectDetails = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectDetails')
32
+ AwsCodeBuildProjectEnvironment = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectEnvironment')
33
+ AwsCodeBuildProjectEnvironmentRegistryCredential = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectEnvironmentRegistryCredential')
34
+ AwsCodeBuildProjectSource = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectSource')
35
+ AwsCodeBuildProjectVpcConfig = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectVpcConfig')
31
36
  AwsEc2InstanceDetails = Shapes::StructureShape.new(name: 'AwsEc2InstanceDetails')
37
+ AwsEc2NetworkInterfaceAttachment = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceAttachment')
38
+ AwsEc2NetworkInterfaceDetails = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceDetails')
39
+ AwsEc2NetworkInterfaceSecurityGroup = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceSecurityGroup')
40
+ AwsEc2NetworkInterfaceSecurityGroupList = Shapes::ListShape.new(name: 'AwsEc2NetworkInterfaceSecurityGroupList')
41
+ AwsEc2SecurityGroupDetails = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupDetails')
42
+ AwsEc2SecurityGroupIpPermission = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupIpPermission')
43
+ AwsEc2SecurityGroupIpPermissionList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupIpPermissionList')
44
+ AwsEc2SecurityGroupIpRange = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupIpRange')
45
+ AwsEc2SecurityGroupIpRangeList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupIpRangeList')
46
+ AwsEc2SecurityGroupIpv6Range = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupIpv6Range')
47
+ AwsEc2SecurityGroupIpv6RangeList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupIpv6RangeList')
48
+ AwsEc2SecurityGroupPrefixListId = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupPrefixListId')
49
+ AwsEc2SecurityGroupPrefixListIdList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupPrefixListIdList')
50
+ AwsEc2SecurityGroupUserIdGroupPair = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupUserIdGroupPair')
51
+ AwsEc2SecurityGroupUserIdGroupPairList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupUserIdGroupPairList')
52
+ AwsElasticsearchDomainDetails = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainDetails')
53
+ AwsElasticsearchDomainDomainEndpointOptions = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainDomainEndpointOptions')
54
+ AwsElasticsearchDomainEncryptionAtRestOptions = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainEncryptionAtRestOptions')
55
+ AwsElasticsearchDomainNodeToNodeEncryptionOptions = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainNodeToNodeEncryptionOptions')
56
+ AwsElasticsearchDomainVPCOptions = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainVPCOptions')
32
57
  AwsElbv2LoadBalancerDetails = Shapes::StructureShape.new(name: 'AwsElbv2LoadBalancerDetails')
33
58
  AwsIamAccessKeyDetails = Shapes::StructureShape.new(name: 'AwsIamAccessKeyDetails')
34
59
  AwsIamAccessKeyStatus = Shapes::StringShape.new(name: 'AwsIamAccessKeyStatus')
@@ -44,6 +69,14 @@ module Aws::SecurityHub
44
69
  AwsLambdaFunctionLayerList = Shapes::ListShape.new(name: 'AwsLambdaFunctionLayerList')
45
70
  AwsLambdaFunctionTracingConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionTracingConfig')
46
71
  AwsLambdaFunctionVpcConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionVpcConfig')
72
+ AwsLambdaLayerVersionDetails = Shapes::StructureShape.new(name: 'AwsLambdaLayerVersionDetails')
73
+ AwsLambdaLayerVersionNumber = Shapes::IntegerShape.new(name: 'AwsLambdaLayerVersionNumber')
74
+ AwsRdsDbInstanceAssociatedRole = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceAssociatedRole')
75
+ AwsRdsDbInstanceAssociatedRoles = Shapes::ListShape.new(name: 'AwsRdsDbInstanceAssociatedRoles')
76
+ AwsRdsDbInstanceDetails = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceDetails')
77
+ AwsRdsDbInstanceEndpoint = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceEndpoint')
78
+ AwsRdsDbInstanceVpcSecurityGroup = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceVpcSecurityGroup')
79
+ AwsRdsDbInstanceVpcSecurityGroups = Shapes::ListShape.new(name: 'AwsRdsDbInstanceVpcSecurityGroups')
47
80
  AwsS3BucketDetails = Shapes::StructureShape.new(name: 'AwsS3BucketDetails')
48
81
  AwsSecurityFinding = Shapes::StructureShape.new(name: 'AwsSecurityFinding')
49
82
  AwsSecurityFindingFilters = Shapes::StructureShape.new(name: 'AwsSecurityFindingFilters')
@@ -52,6 +85,9 @@ module Aws::SecurityHub
52
85
  AwsSnsTopicSubscription = Shapes::StructureShape.new(name: 'AwsSnsTopicSubscription')
53
86
  AwsSnsTopicSubscriptionList = Shapes::ListShape.new(name: 'AwsSnsTopicSubscriptionList')
54
87
  AwsSqsQueueDetails = Shapes::StructureShape.new(name: 'AwsSqsQueueDetails')
88
+ AwsWafWebAclDetails = Shapes::StructureShape.new(name: 'AwsWafWebAclDetails')
89
+ AwsWafWebAclRule = Shapes::StructureShape.new(name: 'AwsWafWebAclRule')
90
+ AwsWafWebAclRuleList = Shapes::ListShape.new(name: 'AwsWafWebAclRuleList')
55
91
  BatchDisableStandardsRequest = Shapes::StructureShape.new(name: 'BatchDisableStandardsRequest')
56
92
  BatchDisableStandardsResponse = Shapes::StructureShape.new(name: 'BatchDisableStandardsResponse')
57
93
  BatchEnableStandardsRequest = Shapes::StructureShape.new(name: 'BatchEnableStandardsRequest')
@@ -177,6 +213,7 @@ module Aws::SecurityHub
177
213
  RecordState = Shapes::StringShape.new(name: 'RecordState')
178
214
  RelatedFinding = Shapes::StructureShape.new(name: 'RelatedFinding')
179
215
  RelatedFindingList = Shapes::ListShape.new(name: 'RelatedFindingList')
216
+ RelatedRequirementsList = Shapes::ListShape.new(name: 'RelatedRequirementsList')
180
217
  Remediation = Shapes::StructureShape.new(name: 'Remediation')
181
218
  Resource = Shapes::StructureShape.new(name: 'Resource')
182
219
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
@@ -228,6 +265,10 @@ module Aws::SecurityHub
228
265
  UpdateStandardsControlRequest = Shapes::StructureShape.new(name: 'UpdateStandardsControlRequest')
229
266
  UpdateStandardsControlResponse = Shapes::StructureShape.new(name: 'UpdateStandardsControlResponse')
230
267
  VerificationState = Shapes::StringShape.new(name: 'VerificationState')
268
+ WafAction = Shapes::StructureShape.new(name: 'WafAction')
269
+ WafExcludedRule = Shapes::StructureShape.new(name: 'WafExcludedRule')
270
+ WafExcludedRuleList = Shapes::ListShape.new(name: 'WafExcludedRuleList')
271
+ WafOverrideAction = Shapes::StructureShape.new(name: 'WafOverrideAction')
231
272
  WorkflowState = Shapes::StringShape.new(name: 'WorkflowState')
232
273
 
233
274
  AcceptInvitationRequest.add_member(:master_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "MasterId"))
@@ -288,6 +329,35 @@ module Aws::SecurityHub
288
329
  AwsCloudFrontDistributionOrigins.add_member(:items, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionOriginItemList, location_name: "Items"))
289
330
  AwsCloudFrontDistributionOrigins.struct_class = Types::AwsCloudFrontDistributionOrigins
290
331
 
332
+ AwsCodeBuildProjectDetails.add_member(:encryption_key, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EncryptionKey"))
333
+ AwsCodeBuildProjectDetails.add_member(:environment, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectEnvironment, location_name: "Environment"))
334
+ AwsCodeBuildProjectDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
335
+ AwsCodeBuildProjectDetails.add_member(:source, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectSource, location_name: "Source"))
336
+ AwsCodeBuildProjectDetails.add_member(:service_role, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ServiceRole"))
337
+ AwsCodeBuildProjectDetails.add_member(:vpc_config, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectVpcConfig, location_name: "VpcConfig"))
338
+ AwsCodeBuildProjectDetails.struct_class = Types::AwsCodeBuildProjectDetails
339
+
340
+ AwsCodeBuildProjectEnvironment.add_member(:certificate, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Certificate"))
341
+ AwsCodeBuildProjectEnvironment.add_member(:image_pull_credentials_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ImagePullCredentialsType"))
342
+ AwsCodeBuildProjectEnvironment.add_member(:registry_credential, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectEnvironmentRegistryCredential, location_name: "RegistryCredential"))
343
+ AwsCodeBuildProjectEnvironment.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
344
+ AwsCodeBuildProjectEnvironment.struct_class = Types::AwsCodeBuildProjectEnvironment
345
+
346
+ AwsCodeBuildProjectEnvironmentRegistryCredential.add_member(:credential, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Credential"))
347
+ AwsCodeBuildProjectEnvironmentRegistryCredential.add_member(:credential_provider, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CredentialProvider"))
348
+ AwsCodeBuildProjectEnvironmentRegistryCredential.struct_class = Types::AwsCodeBuildProjectEnvironmentRegistryCredential
349
+
350
+ AwsCodeBuildProjectSource.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
351
+ AwsCodeBuildProjectSource.add_member(:location, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Location"))
352
+ AwsCodeBuildProjectSource.add_member(:git_clone_depth, Shapes::ShapeRef.new(shape: Integer, location_name: "GitCloneDepth"))
353
+ AwsCodeBuildProjectSource.add_member(:insecure_ssl, Shapes::ShapeRef.new(shape: Boolean, location_name: "InsecureSsl"))
354
+ AwsCodeBuildProjectSource.struct_class = Types::AwsCodeBuildProjectSource
355
+
356
+ AwsCodeBuildProjectVpcConfig.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
357
+ AwsCodeBuildProjectVpcConfig.add_member(:subnets, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Subnets"))
358
+ AwsCodeBuildProjectVpcConfig.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroupIds"))
359
+ AwsCodeBuildProjectVpcConfig.struct_class = Types::AwsCodeBuildProjectVpcConfig
360
+
291
361
  AwsEc2InstanceDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
292
362
  AwsEc2InstanceDetails.add_member(:image_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ImageId"))
293
363
  AwsEc2InstanceDetails.add_member(:ip_v4_addresses, Shapes::ShapeRef.new(shape: StringList, location_name: "IpV4Addresses"))
@@ -299,6 +369,100 @@ module Aws::SecurityHub
299
369
  AwsEc2InstanceDetails.add_member(:launched_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LaunchedAt"))
300
370
  AwsEc2InstanceDetails.struct_class = Types::AwsEc2InstanceDetails
301
371
 
372
+ AwsEc2NetworkInterfaceAttachment.add_member(:attach_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AttachTime"))
373
+ AwsEc2NetworkInterfaceAttachment.add_member(:attachment_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AttachmentId"))
374
+ AwsEc2NetworkInterfaceAttachment.add_member(:delete_on_termination, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeleteOnTermination"))
375
+ AwsEc2NetworkInterfaceAttachment.add_member(:device_index, Shapes::ShapeRef.new(shape: Integer, location_name: "DeviceIndex"))
376
+ AwsEc2NetworkInterfaceAttachment.add_member(:instance_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceId"))
377
+ AwsEc2NetworkInterfaceAttachment.add_member(:instance_owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceOwnerId"))
378
+ AwsEc2NetworkInterfaceAttachment.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
379
+ AwsEc2NetworkInterfaceAttachment.struct_class = Types::AwsEc2NetworkInterfaceAttachment
380
+
381
+ AwsEc2NetworkInterfaceDetails.add_member(:attachment, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceAttachment, location_name: "Attachment"))
382
+ AwsEc2NetworkInterfaceDetails.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NetworkInterfaceId"))
383
+ AwsEc2NetworkInterfaceDetails.add_member(:security_groups, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceSecurityGroupList, location_name: "SecurityGroups"))
384
+ AwsEc2NetworkInterfaceDetails.add_member(:source_dest_check, Shapes::ShapeRef.new(shape: Boolean, location_name: "SourceDestCheck"))
385
+ AwsEc2NetworkInterfaceDetails.struct_class = Types::AwsEc2NetworkInterfaceDetails
386
+
387
+ AwsEc2NetworkInterfaceSecurityGroup.add_member(:group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupName"))
388
+ AwsEc2NetworkInterfaceSecurityGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupId"))
389
+ AwsEc2NetworkInterfaceSecurityGroup.struct_class = Types::AwsEc2NetworkInterfaceSecurityGroup
390
+
391
+ AwsEc2NetworkInterfaceSecurityGroupList.member = Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceSecurityGroup)
392
+
393
+ AwsEc2SecurityGroupDetails.add_member(:group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupName"))
394
+ AwsEc2SecurityGroupDetails.add_member(:group_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupId"))
395
+ AwsEc2SecurityGroupDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
396
+ AwsEc2SecurityGroupDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
397
+ AwsEc2SecurityGroupDetails.add_member(:ip_permissions, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupIpPermissionList, location_name: "IpPermissions"))
398
+ AwsEc2SecurityGroupDetails.add_member(:ip_permissions_egress, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupIpPermissionList, location_name: "IpPermissionsEgress"))
399
+ AwsEc2SecurityGroupDetails.struct_class = Types::AwsEc2SecurityGroupDetails
400
+
401
+ AwsEc2SecurityGroupIpPermission.add_member(:ip_protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IpProtocol"))
402
+ AwsEc2SecurityGroupIpPermission.add_member(:from_port, Shapes::ShapeRef.new(shape: Integer, location_name: "FromPort"))
403
+ AwsEc2SecurityGroupIpPermission.add_member(:to_port, Shapes::ShapeRef.new(shape: Integer, location_name: "ToPort"))
404
+ AwsEc2SecurityGroupIpPermission.add_member(:user_id_group_pairs, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupUserIdGroupPairList, location_name: "UserIdGroupPairs"))
405
+ AwsEc2SecurityGroupIpPermission.add_member(:ip_ranges, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupIpRangeList, location_name: "IpRanges"))
406
+ AwsEc2SecurityGroupIpPermission.add_member(:ipv_6_ranges, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupIpv6RangeList, location_name: "Ipv6Ranges"))
407
+ AwsEc2SecurityGroupIpPermission.add_member(:prefix_list_ids, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupPrefixListIdList, location_name: "PrefixListIds"))
408
+ AwsEc2SecurityGroupIpPermission.struct_class = Types::AwsEc2SecurityGroupIpPermission
409
+
410
+ AwsEc2SecurityGroupIpPermissionList.member = Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupIpPermission)
411
+
412
+ AwsEc2SecurityGroupIpRange.add_member(:cidr_ip, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CidrIp"))
413
+ AwsEc2SecurityGroupIpRange.struct_class = Types::AwsEc2SecurityGroupIpRange
414
+
415
+ AwsEc2SecurityGroupIpRangeList.member = Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupIpRange)
416
+
417
+ AwsEc2SecurityGroupIpv6Range.add_member(:cidr_ipv_6, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CidrIpv6"))
418
+ AwsEc2SecurityGroupIpv6Range.struct_class = Types::AwsEc2SecurityGroupIpv6Range
419
+
420
+ AwsEc2SecurityGroupIpv6RangeList.member = Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupIpv6Range)
421
+
422
+ AwsEc2SecurityGroupPrefixListId.add_member(:prefix_list_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrefixListId"))
423
+ AwsEc2SecurityGroupPrefixListId.struct_class = Types::AwsEc2SecurityGroupPrefixListId
424
+
425
+ AwsEc2SecurityGroupPrefixListIdList.member = Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupPrefixListId)
426
+
427
+ AwsEc2SecurityGroupUserIdGroupPair.add_member(:group_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupId"))
428
+ AwsEc2SecurityGroupUserIdGroupPair.add_member(:group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupName"))
429
+ AwsEc2SecurityGroupUserIdGroupPair.add_member(:peering_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PeeringStatus"))
430
+ AwsEc2SecurityGroupUserIdGroupPair.add_member(:user_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UserId"))
431
+ AwsEc2SecurityGroupUserIdGroupPair.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
432
+ AwsEc2SecurityGroupUserIdGroupPair.add_member(:vpc_peering_connection_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcPeeringConnectionId"))
433
+ AwsEc2SecurityGroupUserIdGroupPair.struct_class = Types::AwsEc2SecurityGroupUserIdGroupPair
434
+
435
+ AwsEc2SecurityGroupUserIdGroupPairList.member = Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupUserIdGroupPair)
436
+
437
+ AwsElasticsearchDomainDetails.add_member(:access_policies, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AccessPolicies"))
438
+ AwsElasticsearchDomainDetails.add_member(:domain_endpoint_options, Shapes::ShapeRef.new(shape: AwsElasticsearchDomainDomainEndpointOptions, location_name: "DomainEndpointOptions"))
439
+ AwsElasticsearchDomainDetails.add_member(:domain_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainId"))
440
+ AwsElasticsearchDomainDetails.add_member(:domain_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainName"))
441
+ AwsElasticsearchDomainDetails.add_member(:endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Endpoint"))
442
+ AwsElasticsearchDomainDetails.add_member(:endpoints, Shapes::ShapeRef.new(shape: FieldMap, location_name: "Endpoints"))
443
+ AwsElasticsearchDomainDetails.add_member(:elasticsearch_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ElasticsearchVersion"))
444
+ AwsElasticsearchDomainDetails.add_member(:encryption_at_rest_options, Shapes::ShapeRef.new(shape: AwsElasticsearchDomainEncryptionAtRestOptions, location_name: "EncryptionAtRestOptions"))
445
+ AwsElasticsearchDomainDetails.add_member(:node_to_node_encryption_options, Shapes::ShapeRef.new(shape: AwsElasticsearchDomainNodeToNodeEncryptionOptions, location_name: "NodeToNodeEncryptionOptions"))
446
+ AwsElasticsearchDomainDetails.add_member(:vpc_options, Shapes::ShapeRef.new(shape: AwsElasticsearchDomainVPCOptions, location_name: "VPCOptions"))
447
+ AwsElasticsearchDomainDetails.struct_class = Types::AwsElasticsearchDomainDetails
448
+
449
+ AwsElasticsearchDomainDomainEndpointOptions.add_member(:enforce_https, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnforceHTTPS"))
450
+ AwsElasticsearchDomainDomainEndpointOptions.add_member(:tls_security_policy, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TLSSecurityPolicy"))
451
+ AwsElasticsearchDomainDomainEndpointOptions.struct_class = Types::AwsElasticsearchDomainDomainEndpointOptions
452
+
453
+ AwsElasticsearchDomainEncryptionAtRestOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
454
+ AwsElasticsearchDomainEncryptionAtRestOptions.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
455
+ AwsElasticsearchDomainEncryptionAtRestOptions.struct_class = Types::AwsElasticsearchDomainEncryptionAtRestOptions
456
+
457
+ AwsElasticsearchDomainNodeToNodeEncryptionOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
458
+ AwsElasticsearchDomainNodeToNodeEncryptionOptions.struct_class = Types::AwsElasticsearchDomainNodeToNodeEncryptionOptions
459
+
460
+ AwsElasticsearchDomainVPCOptions.add_member(:availability_zones, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "AvailabilityZones"))
461
+ AwsElasticsearchDomainVPCOptions.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroupIds"))
462
+ AwsElasticsearchDomainVPCOptions.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SubnetIds"))
463
+ AwsElasticsearchDomainVPCOptions.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VPCId"))
464
+ AwsElasticsearchDomainVPCOptions.struct_class = Types::AwsElasticsearchDomainVPCOptions
465
+
302
466
  AwsElbv2LoadBalancerDetails.add_member(:availability_zones, Shapes::ShapeRef.new(shape: AvailabilityZones, location_name: "AvailabilityZones"))
303
467
  AwsElbv2LoadBalancerDetails.add_member(:canonical_hosted_zone_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CanonicalHostedZoneId"))
304
468
  AwsElbv2LoadBalancerDetails.add_member(:created_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedTime"))
@@ -386,6 +550,50 @@ module Aws::SecurityHub
386
550
  AwsLambdaFunctionVpcConfig.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
387
551
  AwsLambdaFunctionVpcConfig.struct_class = Types::AwsLambdaFunctionVpcConfig
388
552
 
553
+ AwsLambdaLayerVersionDetails.add_member(:version, Shapes::ShapeRef.new(shape: AwsLambdaLayerVersionNumber, location_name: "Version"))
554
+ AwsLambdaLayerVersionDetails.add_member(:compatible_runtimes, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "CompatibleRuntimes"))
555
+ AwsLambdaLayerVersionDetails.add_member(:created_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedDate"))
556
+ AwsLambdaLayerVersionDetails.struct_class = Types::AwsLambdaLayerVersionDetails
557
+
558
+ AwsRdsDbInstanceAssociatedRole.add_member(:role_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleArn"))
559
+ AwsRdsDbInstanceAssociatedRole.add_member(:feature_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FeatureName"))
560
+ AwsRdsDbInstanceAssociatedRole.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
561
+ AwsRdsDbInstanceAssociatedRole.struct_class = Types::AwsRdsDbInstanceAssociatedRole
562
+
563
+ AwsRdsDbInstanceAssociatedRoles.member = Shapes::ShapeRef.new(shape: AwsRdsDbInstanceAssociatedRole)
564
+
565
+ AwsRdsDbInstanceDetails.add_member(:associated_roles, Shapes::ShapeRef.new(shape: AwsRdsDbInstanceAssociatedRoles, location_name: "AssociatedRoles"))
566
+ AwsRdsDbInstanceDetails.add_member(:ca_certificate_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CACertificateIdentifier"))
567
+ AwsRdsDbInstanceDetails.add_member(:db_cluster_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DBClusterIdentifier"))
568
+ AwsRdsDbInstanceDetails.add_member(:db_instance_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DBInstanceIdentifier"))
569
+ AwsRdsDbInstanceDetails.add_member(:db_instance_class, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DBInstanceClass"))
570
+ AwsRdsDbInstanceDetails.add_member(:db_instance_port, Shapes::ShapeRef.new(shape: Integer, location_name: "DbInstancePort"))
571
+ AwsRdsDbInstanceDetails.add_member(:dbi_resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbiResourceId"))
572
+ AwsRdsDbInstanceDetails.add_member(:db_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DBName"))
573
+ AwsRdsDbInstanceDetails.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeletionProtection"))
574
+ AwsRdsDbInstanceDetails.add_member(:endpoint, Shapes::ShapeRef.new(shape: AwsRdsDbInstanceEndpoint, location_name: "Endpoint"))
575
+ AwsRdsDbInstanceDetails.add_member(:engine, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Engine"))
576
+ AwsRdsDbInstanceDetails.add_member(:engine_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EngineVersion"))
577
+ AwsRdsDbInstanceDetails.add_member(:iam_database_authentication_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "IAMDatabaseAuthenticationEnabled"))
578
+ AwsRdsDbInstanceDetails.add_member(:instance_create_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceCreateTime"))
579
+ AwsRdsDbInstanceDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
580
+ AwsRdsDbInstanceDetails.add_member(:publicly_accessible, Shapes::ShapeRef.new(shape: Boolean, location_name: "PubliclyAccessible"))
581
+ AwsRdsDbInstanceDetails.add_member(:storage_encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "StorageEncrypted"))
582
+ AwsRdsDbInstanceDetails.add_member(:tde_credential_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TdeCredentialArn"))
583
+ AwsRdsDbInstanceDetails.add_member(:vpc_security_groups, Shapes::ShapeRef.new(shape: AwsRdsDbInstanceVpcSecurityGroups, location_name: "VpcSecurityGroups"))
584
+ AwsRdsDbInstanceDetails.struct_class = Types::AwsRdsDbInstanceDetails
585
+
586
+ AwsRdsDbInstanceEndpoint.add_member(:address, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Address"))
587
+ AwsRdsDbInstanceEndpoint.add_member(:port, Shapes::ShapeRef.new(shape: Integer, location_name: "Port"))
588
+ AwsRdsDbInstanceEndpoint.add_member(:hosted_zone_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HostedZoneId"))
589
+ AwsRdsDbInstanceEndpoint.struct_class = Types::AwsRdsDbInstanceEndpoint
590
+
591
+ AwsRdsDbInstanceVpcSecurityGroup.add_member(:vpc_security_group_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcSecurityGroupId"))
592
+ AwsRdsDbInstanceVpcSecurityGroup.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
593
+ AwsRdsDbInstanceVpcSecurityGroup.struct_class = Types::AwsRdsDbInstanceVpcSecurityGroup
594
+
595
+ AwsRdsDbInstanceVpcSecurityGroups.member = Shapes::ShapeRef.new(shape: AwsRdsDbInstanceVpcSecurityGroup)
596
+
389
597
  AwsS3BucketDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
390
598
  AwsS3BucketDetails.add_member(:owner_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerName"))
391
599
  AwsS3BucketDetails.struct_class = Types::AwsS3BucketDetails
@@ -527,6 +735,22 @@ module Aws::SecurityHub
527
735
  AwsSqsQueueDetails.add_member(:dead_letter_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DeadLetterTargetArn"))
528
736
  AwsSqsQueueDetails.struct_class = Types::AwsSqsQueueDetails
529
737
 
738
+ AwsWafWebAclDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
739
+ AwsWafWebAclDetails.add_member(:default_action, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DefaultAction"))
740
+ AwsWafWebAclDetails.add_member(:rules, Shapes::ShapeRef.new(shape: AwsWafWebAclRuleList, location_name: "Rules"))
741
+ AwsWafWebAclDetails.add_member(:web_acl_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "WebAclId"))
742
+ AwsWafWebAclDetails.struct_class = Types::AwsWafWebAclDetails
743
+
744
+ AwsWafWebAclRule.add_member(:action, Shapes::ShapeRef.new(shape: WafAction, location_name: "Action"))
745
+ AwsWafWebAclRule.add_member(:excluded_rules, Shapes::ShapeRef.new(shape: WafExcludedRuleList, location_name: "ExcludedRules"))
746
+ AwsWafWebAclRule.add_member(:override_action, Shapes::ShapeRef.new(shape: WafOverrideAction, location_name: "OverrideAction"))
747
+ AwsWafWebAclRule.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, location_name: "Priority"))
748
+ AwsWafWebAclRule.add_member(:rule_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RuleId"))
749
+ AwsWafWebAclRule.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
750
+ AwsWafWebAclRule.struct_class = Types::AwsWafWebAclRule
751
+
752
+ AwsWafWebAclRuleList.member = Shapes::ShapeRef.new(shape: AwsWafWebAclRule)
753
+
530
754
  BatchDisableStandardsRequest.add_member(:standards_subscription_arns, Shapes::ShapeRef.new(shape: StandardsSubscriptionArns, required: true, location_name: "StandardsSubscriptionArns"))
531
755
  BatchDisableStandardsRequest.struct_class = Types::BatchDisableStandardsRequest
532
756
 
@@ -550,6 +774,7 @@ module Aws::SecurityHub
550
774
  CategoryList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
551
775
 
552
776
  Compliance.add_member(:status, Shapes::ShapeRef.new(shape: ComplianceStatus, location_name: "Status"))
777
+ Compliance.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
553
778
  Compliance.struct_class = Types::Compliance
554
779
 
555
780
  ContainerDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
@@ -926,6 +1151,8 @@ module Aws::SecurityHub
926
1151
 
927
1152
  RelatedFindingList.member = Shapes::ShapeRef.new(shape: RelatedFinding)
928
1153
 
1154
+ RelatedRequirementsList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
1155
+
929
1156
  Remediation.add_member(:recommendation, Shapes::ShapeRef.new(shape: Recommendation, location_name: "Recommendation"))
930
1157
  Remediation.struct_class = Types::Remediation
931
1158
 
@@ -941,16 +1168,23 @@ module Aws::SecurityHub
941
1168
  ResourceConflictException.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Code"))
942
1169
  ResourceConflictException.struct_class = Types::ResourceConflictException
943
1170
 
1171
+ ResourceDetails.add_member(:aws_code_build_project, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectDetails, location_name: "AwsCodeBuildProject"))
944
1172
  ResourceDetails.add_member(:aws_cloud_front_distribution, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionDetails, location_name: "AwsCloudFrontDistribution"))
945
1173
  ResourceDetails.add_member(:aws_ec2_instance, Shapes::ShapeRef.new(shape: AwsEc2InstanceDetails, location_name: "AwsEc2Instance"))
1174
+ ResourceDetails.add_member(:aws_ec2_network_interface, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceDetails, location_name: "AwsEc2NetworkInterface"))
1175
+ ResourceDetails.add_member(:aws_ec2_security_group, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupDetails, location_name: "AwsEc2SecurityGroup"))
946
1176
  ResourceDetails.add_member(:aws_elbv_2_load_balancer, Shapes::ShapeRef.new(shape: AwsElbv2LoadBalancerDetails, location_name: "AwsElbv2LoadBalancer"))
1177
+ ResourceDetails.add_member(:aws_elasticsearch_domain, Shapes::ShapeRef.new(shape: AwsElasticsearchDomainDetails, location_name: "AwsElasticsearchDomain"))
947
1178
  ResourceDetails.add_member(:aws_s3_bucket, Shapes::ShapeRef.new(shape: AwsS3BucketDetails, location_name: "AwsS3Bucket"))
948
1179
  ResourceDetails.add_member(:aws_iam_access_key, Shapes::ShapeRef.new(shape: AwsIamAccessKeyDetails, location_name: "AwsIamAccessKey"))
949
1180
  ResourceDetails.add_member(:aws_iam_role, Shapes::ShapeRef.new(shape: AwsIamRoleDetails, location_name: "AwsIamRole"))
950
1181
  ResourceDetails.add_member(:aws_kms_key, Shapes::ShapeRef.new(shape: AwsKmsKeyDetails, location_name: "AwsKmsKey"))
951
1182
  ResourceDetails.add_member(:aws_lambda_function, Shapes::ShapeRef.new(shape: AwsLambdaFunctionDetails, location_name: "AwsLambdaFunction"))
1183
+ ResourceDetails.add_member(:aws_lambda_layer_version, Shapes::ShapeRef.new(shape: AwsLambdaLayerVersionDetails, location_name: "AwsLambdaLayerVersion"))
1184
+ ResourceDetails.add_member(:aws_rds_db_instance, Shapes::ShapeRef.new(shape: AwsRdsDbInstanceDetails, location_name: "AwsRdsDbInstance"))
952
1185
  ResourceDetails.add_member(:aws_sns_topic, Shapes::ShapeRef.new(shape: AwsSnsTopicDetails, location_name: "AwsSnsTopic"))
953
1186
  ResourceDetails.add_member(:aws_sqs_queue, Shapes::ShapeRef.new(shape: AwsSqsQueueDetails, location_name: "AwsSqsQueue"))
1187
+ ResourceDetails.add_member(:aws_waf_web_acl, Shapes::ShapeRef.new(shape: AwsWafWebAclDetails, location_name: "AwsWafWebAcl"))
954
1188
  ResourceDetails.add_member(:container, Shapes::ShapeRef.new(shape: ContainerDetails, location_name: "Container"))
955
1189
  ResourceDetails.add_member(:other, Shapes::ShapeRef.new(shape: FieldMap, location_name: "Other"))
956
1190
  ResourceDetails.struct_class = Types::ResourceDetails
@@ -1077,6 +1311,17 @@ module Aws::SecurityHub
1077
1311
 
1078
1312
  UpdateStandardsControlResponse.struct_class = Types::UpdateStandardsControlResponse
1079
1313
 
1314
+ WafAction.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
1315
+ WafAction.struct_class = Types::WafAction
1316
+
1317
+ WafExcludedRule.add_member(:rule_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RuleId"))
1318
+ WafExcludedRule.struct_class = Types::WafExcludedRule
1319
+
1320
+ WafExcludedRuleList.member = Shapes::ShapeRef.new(shape: WafExcludedRule)
1321
+
1322
+ WafOverrideAction.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
1323
+ WafOverrideAction.struct_class = Types::WafOverrideAction
1324
+
1080
1325
 
1081
1326
  # @api private
1082
1327
  API = Seahorse::Model::Api.new.tap do |api|
@@ -230,8 +230,8 @@ module Aws::SecurityHub
230
230
  # @return [Boolean]
231
231
  #
232
232
  # @!attribute [rw] prefix
233
- # An optional string that you want CloudFront to prefix to the access
234
- # log filenames for this distribution.
233
+ # An optional string that you want CloudFront to use as a prefix to
234
+ # the access log filenames for this distribution.
235
235
  # @return [String]
236
236
  #
237
237
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCloudFrontDistributionLogging AWS API Documentation
@@ -308,71 +308,1065 @@ module Aws::SecurityHub
308
308
  include Aws::Structure
309
309
  end
310
310
 
311
+ # Information about an AWS CodeBuild project.
312
+ #
313
+ # @note When making an API call, you may pass AwsCodeBuildProjectDetails
314
+ # data as a hash:
315
+ #
316
+ # {
317
+ # encryption_key: "NonEmptyString",
318
+ # environment: {
319
+ # certificate: "NonEmptyString",
320
+ # image_pull_credentials_type: "NonEmptyString",
321
+ # registry_credential: {
322
+ # credential: "NonEmptyString",
323
+ # credential_provider: "NonEmptyString",
324
+ # },
325
+ # type: "NonEmptyString",
326
+ # },
327
+ # name: "NonEmptyString",
328
+ # source: {
329
+ # type: "NonEmptyString",
330
+ # location: "NonEmptyString",
331
+ # git_clone_depth: 1,
332
+ # insecure_ssl: false,
333
+ # },
334
+ # service_role: "NonEmptyString",
335
+ # vpc_config: {
336
+ # vpc_id: "NonEmptyString",
337
+ # subnets: ["NonEmptyString"],
338
+ # security_group_ids: ["NonEmptyString"],
339
+ # },
340
+ # }
341
+ #
342
+ # @!attribute [rw] encryption_key
343
+ # The AWS Key Management Service (AWS KMS) customer master key (CMK)
344
+ # used to encrypt the build output artifacts.
345
+ #
346
+ # You can specify either the Amazon Resource Name (ARN) of the CMK or,
347
+ # if available, the CMK alias (using the format alias/alias-name).
348
+ # @return [String]
349
+ #
350
+ # @!attribute [rw] environment
351
+ # Information about the build environment for this build project.
352
+ # @return [Types::AwsCodeBuildProjectEnvironment]
353
+ #
354
+ # @!attribute [rw] name
355
+ # The name of the build project.
356
+ # @return [String]
357
+ #
358
+ # @!attribute [rw] source
359
+ # Information about the build input source code for this build
360
+ # project.
361
+ # @return [Types::AwsCodeBuildProjectSource]
362
+ #
363
+ # @!attribute [rw] service_role
364
+ # The ARN of the IAM role that enables AWS CodeBuild to interact with
365
+ # dependent AWS services on behalf of the AWS account.
366
+ # @return [String]
367
+ #
368
+ # @!attribute [rw] vpc_config
369
+ # Information about the VPC configuration that AWS CodeBuild accesses.
370
+ # @return [Types::AwsCodeBuildProjectVpcConfig]
371
+ #
372
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCodeBuildProjectDetails AWS API Documentation
373
+ #
374
+ class AwsCodeBuildProjectDetails < Struct.new(
375
+ :encryption_key,
376
+ :environment,
377
+ :name,
378
+ :source,
379
+ :service_role,
380
+ :vpc_config)
381
+ include Aws::Structure
382
+ end
383
+
384
+ # Information about the build environment for this build project.
385
+ #
386
+ # @note When making an API call, you may pass AwsCodeBuildProjectEnvironment
387
+ # data as a hash:
388
+ #
389
+ # {
390
+ # certificate: "NonEmptyString",
391
+ # image_pull_credentials_type: "NonEmptyString",
392
+ # registry_credential: {
393
+ # credential: "NonEmptyString",
394
+ # credential_provider: "NonEmptyString",
395
+ # },
396
+ # type: "NonEmptyString",
397
+ # }
398
+ #
399
+ # @!attribute [rw] certificate
400
+ # The certificate to use with this build project.
401
+ # @return [String]
402
+ #
403
+ # @!attribute [rw] image_pull_credentials_type
404
+ # The type of credentials AWS CodeBuild uses to pull images in your
405
+ # build.
406
+ #
407
+ # Valid values:
408
+ #
409
+ # * `CODEBUILD` specifies that AWS CodeBuild uses its own credentials.
410
+ # This requires that you modify your ECR repository policy to trust
411
+ # the AWS CodeBuild service principal.
412
+ #
413
+ # * `SERVICE_ROLE` specifies that AWS CodeBuild uses your build
414
+ # project's service role.
415
+ #
416
+ # When you use a cross-account or private registry image, you must use
417
+ # `SERVICE_ROLE` credentials. When you use an AWS CodeBuild curated
418
+ # image, you must use `CODEBUILD` credentials.
419
+ # @return [String]
420
+ #
421
+ # @!attribute [rw] registry_credential
422
+ # The credentials for access to a private registry.
423
+ # @return [Types::AwsCodeBuildProjectEnvironmentRegistryCredential]
424
+ #
425
+ # @!attribute [rw] type
426
+ # The type of build environment to use for related builds.
427
+ #
428
+ # The environment type `ARM_CONTAINER` is available only in regions US
429
+ # East (N. Virginia), US East (Ohio), US West (Oregon), Europe
430
+ # (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific
431
+ # (Sydney), and Europe (Frankfurt).
432
+ #
433
+ # The environment type `LINUX_CONTAINER` with compute type
434
+ # build.general1.2xlarge is available only in regions US East (N.
435
+ # Virginia), US East (N. Virginia), US West (Oregon), Canada
436
+ # (Central), Europe (Ireland), Europe (London), Europe (Frankfurt),
437
+ # Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific
438
+ # (Singapore), Asia Pacific (Sydney), China (Beijing), and China
439
+ # (Ningxia).
440
+ #
441
+ # The environment type `LINUX_GPU_CONTAINER` is available only in
442
+ # regions US East (N. Virginia), US East (N. Virginia), US West
443
+ # (Oregon), Canada (Central), Europe (Ireland), Europe (London),
444
+ # Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia
445
+ # Pacific (Singapore), Asia Pacific (Sydney) , China (Beijing), and
446
+ # China (Ningxia).
447
+ #
448
+ # Valid values: `WINDOWS_CONTAINER` \| `LINUX_CONTAINER` \|
449
+ # `LINUX_GPU_CONTAINER` \| `ARM_CONTAINER`
450
+ # @return [String]
451
+ #
452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCodeBuildProjectEnvironment AWS API Documentation
453
+ #
454
+ class AwsCodeBuildProjectEnvironment < Struct.new(
455
+ :certificate,
456
+ :image_pull_credentials_type,
457
+ :registry_credential,
458
+ :type)
459
+ include Aws::Structure
460
+ end
461
+
462
+ # The credentials for access to a private registry.
463
+ #
464
+ # @note When making an API call, you may pass AwsCodeBuildProjectEnvironmentRegistryCredential
465
+ # data as a hash:
466
+ #
467
+ # {
468
+ # credential: "NonEmptyString",
469
+ # credential_provider: "NonEmptyString",
470
+ # }
471
+ #
472
+ # @!attribute [rw] credential
473
+ # The Amazon Resource Name (ARN) or name of credentials created using
474
+ # AWS Secrets Manager.
475
+ #
476
+ # <note markdown="1"> The credential can use the name of the credentials only if they
477
+ # exist in your current AWS Region.
478
+ #
479
+ # </note>
480
+ # @return [String]
481
+ #
482
+ # @!attribute [rw] credential_provider
483
+ # The service that created the credentials to access a private Docker
484
+ # registry.
485
+ #
486
+ # The valid value,` SECRETS_MANAGER`, is for AWS Secrets Manager.
487
+ # @return [String]
488
+ #
489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCodeBuildProjectEnvironmentRegistryCredential AWS API Documentation
490
+ #
491
+ class AwsCodeBuildProjectEnvironmentRegistryCredential < Struct.new(
492
+ :credential,
493
+ :credential_provider)
494
+ include Aws::Structure
495
+ end
496
+
497
+ # Information about the build input source code for this build project.
498
+ #
499
+ # @note When making an API call, you may pass AwsCodeBuildProjectSource
500
+ # data as a hash:
501
+ #
502
+ # {
503
+ # type: "NonEmptyString",
504
+ # location: "NonEmptyString",
505
+ # git_clone_depth: 1,
506
+ # insecure_ssl: false,
507
+ # }
508
+ #
509
+ # @!attribute [rw] type
510
+ # The type of repository that contains the source code to be built.
511
+ # Valid values are:
512
+ #
513
+ # * `BITBUCKET` - The source code is in a Bitbucket repository.
514
+ #
515
+ # * `CODECOMMIT` - The source code is in an AWS CodeCommit repository.
516
+ #
517
+ # * `CODEPIPELINE` - The source code settings are specified in the
518
+ # source action of a pipeline in AWS CodePipeline.
519
+ #
520
+ # * `GITHUB` - The source code is in a GitHub repository.
521
+ #
522
+ # * `GITHUB_ENTERPRISE` - The source code is in a GitHub Enterprise
523
+ # repository.
524
+ #
525
+ # * `NO_SOURCE` - The project does not have input source code.
526
+ #
527
+ # * `S3` - The source code is in an S3 input bucket.
528
+ # @return [String]
529
+ #
530
+ # @!attribute [rw] location
531
+ # Information about the location of the source code to be built.
532
+ #
533
+ # Valid values include:
534
+ #
535
+ # * For source code settings that are specified in the source action
536
+ # of a pipeline in AWS CodePipeline, location should not be
537
+ # specified. If it is specified, AWS CodePipeline ignores it. This
538
+ # is because AWS CodePipeline uses the settings in a pipeline's
539
+ # source action instead of this value.
540
+ #
541
+ # * For source code in an AWS CodeCommit repository, the HTTPS clone
542
+ # URL to the repository that contains the source code and the
543
+ # buildspec file (for example,
544
+ # `https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name`
545
+ # ).
546
+ #
547
+ # * For source code in an S3 input bucket, one of the following.
548
+ #
549
+ # * The path to the ZIP file that contains the source code (for
550
+ # example, `bucket-name/path/to/object-name.zip`).
551
+ #
552
+ # * The path to the folder that contains the source code (for
553
+ # example, `bucket-name/path/to/source-code/folder/`).
554
+ #
555
+ # * For source code in a GitHub repository, the HTTPS clone URL to the
556
+ # repository that contains the source and the buildspec file.
557
+ #
558
+ # * For source code in a Bitbucket repository, the HTTPS clone URL to
559
+ # the repository that contains the source and the buildspec file.
560
+ # @return [String]
561
+ #
562
+ # @!attribute [rw] git_clone_depth
563
+ # Information about the Git clone depth for the build project.
564
+ # @return [Integer]
565
+ #
566
+ # @!attribute [rw] insecure_ssl
567
+ # Whether to ignore SSL warnings while connecting to the project
568
+ # source code.
569
+ # @return [Boolean]
570
+ #
571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCodeBuildProjectSource AWS API Documentation
572
+ #
573
+ class AwsCodeBuildProjectSource < Struct.new(
574
+ :type,
575
+ :location,
576
+ :git_clone_depth,
577
+ :insecure_ssl)
578
+ include Aws::Structure
579
+ end
580
+
581
+ # Information about the VPC configuration that AWS CodeBuild accesses.
582
+ #
583
+ # @note When making an API call, you may pass AwsCodeBuildProjectVpcConfig
584
+ # data as a hash:
585
+ #
586
+ # {
587
+ # vpc_id: "NonEmptyString",
588
+ # subnets: ["NonEmptyString"],
589
+ # security_group_ids: ["NonEmptyString"],
590
+ # }
591
+ #
592
+ # @!attribute [rw] vpc_id
593
+ # The ID of the VPC.
594
+ # @return [String]
595
+ #
596
+ # @!attribute [rw] subnets
597
+ # A list of one or more subnet IDs in your Amazon VPC.
598
+ # @return [Array<String>]
599
+ #
600
+ # @!attribute [rw] security_group_ids
601
+ # A list of one or more security group IDs in your Amazon VPC.
602
+ # @return [Array<String>]
603
+ #
604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCodeBuildProjectVpcConfig AWS API Documentation
605
+ #
606
+ class AwsCodeBuildProjectVpcConfig < Struct.new(
607
+ :vpc_id,
608
+ :subnets,
609
+ :security_group_ids)
610
+ include Aws::Structure
611
+ end
612
+
311
613
  # The details of an Amazon EC2 instance.
312
614
  #
313
615
  # @note When making an API call, you may pass AwsEc2InstanceDetails
314
616
  # data as a hash:
315
617
  #
316
618
  # {
317
- # type: "NonEmptyString",
318
- # image_id: "NonEmptyString",
319
- # ip_v4_addresses: ["NonEmptyString"],
320
- # ip_v6_addresses: ["NonEmptyString"],
321
- # key_name: "NonEmptyString",
322
- # iam_instance_profile_arn: "NonEmptyString",
323
- # vpc_id: "NonEmptyString",
324
- # subnet_id: "NonEmptyString",
325
- # launched_at: "NonEmptyString",
619
+ # type: "NonEmptyString",
620
+ # image_id: "NonEmptyString",
621
+ # ip_v4_addresses: ["NonEmptyString"],
622
+ # ip_v6_addresses: ["NonEmptyString"],
623
+ # key_name: "NonEmptyString",
624
+ # iam_instance_profile_arn: "NonEmptyString",
625
+ # vpc_id: "NonEmptyString",
626
+ # subnet_id: "NonEmptyString",
627
+ # launched_at: "NonEmptyString",
628
+ # }
629
+ #
630
+ # @!attribute [rw] type
631
+ # The instance type of the instance.
632
+ # @return [String]
633
+ #
634
+ # @!attribute [rw] image_id
635
+ # The Amazon Machine Image (AMI) ID of the instance.
636
+ # @return [String]
637
+ #
638
+ # @!attribute [rw] ip_v4_addresses
639
+ # The IPv4 addresses associated with the instance.
640
+ # @return [Array<String>]
641
+ #
642
+ # @!attribute [rw] ip_v6_addresses
643
+ # The IPv6 addresses associated with the instance.
644
+ # @return [Array<String>]
645
+ #
646
+ # @!attribute [rw] key_name
647
+ # The key name associated with the instance.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] iam_instance_profile_arn
651
+ # The IAM profile ARN of the instance.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] vpc_id
655
+ # The identifier of the VPC that the instance was launched in.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] subnet_id
659
+ # The identifier of the subnet that the instance was launched in.
660
+ # @return [String]
661
+ #
662
+ # @!attribute [rw] launched_at
663
+ # The date/time the instance was launched.
664
+ # @return [String]
665
+ #
666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2InstanceDetails AWS API Documentation
667
+ #
668
+ class AwsEc2InstanceDetails < Struct.new(
669
+ :type,
670
+ :image_id,
671
+ :ip_v4_addresses,
672
+ :ip_v6_addresses,
673
+ :key_name,
674
+ :iam_instance_profile_arn,
675
+ :vpc_id,
676
+ :subnet_id,
677
+ :launched_at)
678
+ include Aws::Structure
679
+ end
680
+
681
+ # Information about the network interface attachment.
682
+ #
683
+ # @note When making an API call, you may pass AwsEc2NetworkInterfaceAttachment
684
+ # data as a hash:
685
+ #
686
+ # {
687
+ # attach_time: "NonEmptyString",
688
+ # attachment_id: "NonEmptyString",
689
+ # delete_on_termination: false,
690
+ # device_index: 1,
691
+ # instance_id: "NonEmptyString",
692
+ # instance_owner_id: "NonEmptyString",
693
+ # status: "NonEmptyString",
694
+ # }
695
+ #
696
+ # @!attribute [rw] attach_time
697
+ # The timestamp indicating when the attachment initiated.
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] attachment_id
701
+ # The identifier of the network interface attachment
702
+ # @return [String]
703
+ #
704
+ # @!attribute [rw] delete_on_termination
705
+ # Indicates whether the network interface is deleted when the instance
706
+ # is terminated.
707
+ # @return [Boolean]
708
+ #
709
+ # @!attribute [rw] device_index
710
+ # The device index of the network interface attachment on the
711
+ # instance.
712
+ # @return [Integer]
713
+ #
714
+ # @!attribute [rw] instance_id
715
+ # The ID of the instance.
716
+ # @return [String]
717
+ #
718
+ # @!attribute [rw] instance_owner_id
719
+ # The AWS account ID of the owner of the instance.
720
+ # @return [String]
721
+ #
722
+ # @!attribute [rw] status
723
+ # The attachment state.
724
+ #
725
+ # Valid values: `attaching` \| `attached` \| `detaching` \| `detached`
726
+ # @return [String]
727
+ #
728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2NetworkInterfaceAttachment AWS API Documentation
729
+ #
730
+ class AwsEc2NetworkInterfaceAttachment < Struct.new(
731
+ :attach_time,
732
+ :attachment_id,
733
+ :delete_on_termination,
734
+ :device_index,
735
+ :instance_id,
736
+ :instance_owner_id,
737
+ :status)
738
+ include Aws::Structure
739
+ end
740
+
741
+ # Details about the network interface
742
+ #
743
+ # @note When making an API call, you may pass AwsEc2NetworkInterfaceDetails
744
+ # data as a hash:
745
+ #
746
+ # {
747
+ # attachment: {
748
+ # attach_time: "NonEmptyString",
749
+ # attachment_id: "NonEmptyString",
750
+ # delete_on_termination: false,
751
+ # device_index: 1,
752
+ # instance_id: "NonEmptyString",
753
+ # instance_owner_id: "NonEmptyString",
754
+ # status: "NonEmptyString",
755
+ # },
756
+ # network_interface_id: "NonEmptyString",
757
+ # security_groups: [
758
+ # {
759
+ # group_name: "NonEmptyString",
760
+ # group_id: "NonEmptyString",
761
+ # },
762
+ # ],
763
+ # source_dest_check: false,
764
+ # }
765
+ #
766
+ # @!attribute [rw] attachment
767
+ # The network interface attachment.
768
+ # @return [Types::AwsEc2NetworkInterfaceAttachment]
769
+ #
770
+ # @!attribute [rw] network_interface_id
771
+ # The ID of the network interface.
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] security_groups
775
+ # Security groups for the network interface.
776
+ # @return [Array<Types::AwsEc2NetworkInterfaceSecurityGroup>]
777
+ #
778
+ # @!attribute [rw] source_dest_check
779
+ # Indicates whether traffic to or from the instance is validated.
780
+ # @return [Boolean]
781
+ #
782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2NetworkInterfaceDetails AWS API Documentation
783
+ #
784
+ class AwsEc2NetworkInterfaceDetails < Struct.new(
785
+ :attachment,
786
+ :network_interface_id,
787
+ :security_groups,
788
+ :source_dest_check)
789
+ include Aws::Structure
790
+ end
791
+
792
+ # A security group associated with the network interface.
793
+ #
794
+ # @note When making an API call, you may pass AwsEc2NetworkInterfaceSecurityGroup
795
+ # data as a hash:
796
+ #
797
+ # {
798
+ # group_name: "NonEmptyString",
799
+ # group_id: "NonEmptyString",
800
+ # }
801
+ #
802
+ # @!attribute [rw] group_name
803
+ # The name of the security group.
804
+ # @return [String]
805
+ #
806
+ # @!attribute [rw] group_id
807
+ # The ID of the security group.
808
+ # @return [String]
809
+ #
810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2NetworkInterfaceSecurityGroup AWS API Documentation
811
+ #
812
+ class AwsEc2NetworkInterfaceSecurityGroup < Struct.new(
813
+ :group_name,
814
+ :group_id)
815
+ include Aws::Structure
816
+ end
817
+
818
+ # Details about an EC2 security group.
819
+ #
820
+ # @note When making an API call, you may pass AwsEc2SecurityGroupDetails
821
+ # data as a hash:
822
+ #
823
+ # {
824
+ # group_name: "NonEmptyString",
825
+ # group_id: "NonEmptyString",
826
+ # owner_id: "NonEmptyString",
827
+ # vpc_id: "NonEmptyString",
828
+ # ip_permissions: [
829
+ # {
830
+ # ip_protocol: "NonEmptyString",
831
+ # from_port: 1,
832
+ # to_port: 1,
833
+ # user_id_group_pairs: [
834
+ # {
835
+ # group_id: "NonEmptyString",
836
+ # group_name: "NonEmptyString",
837
+ # peering_status: "NonEmptyString",
838
+ # user_id: "NonEmptyString",
839
+ # vpc_id: "NonEmptyString",
840
+ # vpc_peering_connection_id: "NonEmptyString",
841
+ # },
842
+ # ],
843
+ # ip_ranges: [
844
+ # {
845
+ # cidr_ip: "NonEmptyString",
846
+ # },
847
+ # ],
848
+ # ipv_6_ranges: [
849
+ # {
850
+ # cidr_ipv_6: "NonEmptyString",
851
+ # },
852
+ # ],
853
+ # prefix_list_ids: [
854
+ # {
855
+ # prefix_list_id: "NonEmptyString",
856
+ # },
857
+ # ],
858
+ # },
859
+ # ],
860
+ # ip_permissions_egress: [
861
+ # {
862
+ # ip_protocol: "NonEmptyString",
863
+ # from_port: 1,
864
+ # to_port: 1,
865
+ # user_id_group_pairs: [
866
+ # {
867
+ # group_id: "NonEmptyString",
868
+ # group_name: "NonEmptyString",
869
+ # peering_status: "NonEmptyString",
870
+ # user_id: "NonEmptyString",
871
+ # vpc_id: "NonEmptyString",
872
+ # vpc_peering_connection_id: "NonEmptyString",
873
+ # },
874
+ # ],
875
+ # ip_ranges: [
876
+ # {
877
+ # cidr_ip: "NonEmptyString",
878
+ # },
879
+ # ],
880
+ # ipv_6_ranges: [
881
+ # {
882
+ # cidr_ipv_6: "NonEmptyString",
883
+ # },
884
+ # ],
885
+ # prefix_list_ids: [
886
+ # {
887
+ # prefix_list_id: "NonEmptyString",
888
+ # },
889
+ # ],
890
+ # },
891
+ # ],
892
+ # }
893
+ #
894
+ # @!attribute [rw] group_name
895
+ # The name of the security group.
896
+ # @return [String]
897
+ #
898
+ # @!attribute [rw] group_id
899
+ # The ID of the security group.
900
+ # @return [String]
901
+ #
902
+ # @!attribute [rw] owner_id
903
+ # The AWS account ID of the owner of the security group.
904
+ # @return [String]
905
+ #
906
+ # @!attribute [rw] vpc_id
907
+ # \[VPC only\] The ID of the VPC for the security group.
908
+ # @return [String]
909
+ #
910
+ # @!attribute [rw] ip_permissions
911
+ # The inbound rules associated with the security group.
912
+ # @return [Array<Types::AwsEc2SecurityGroupIpPermission>]
913
+ #
914
+ # @!attribute [rw] ip_permissions_egress
915
+ # \[VPC only\] The outbound rules associated with the security group.
916
+ # @return [Array<Types::AwsEc2SecurityGroupIpPermission>]
917
+ #
918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2SecurityGroupDetails AWS API Documentation
919
+ #
920
+ class AwsEc2SecurityGroupDetails < Struct.new(
921
+ :group_name,
922
+ :group_id,
923
+ :owner_id,
924
+ :vpc_id,
925
+ :ip_permissions,
926
+ :ip_permissions_egress)
927
+ include Aws::Structure
928
+ end
929
+
930
+ # An IP permission for an EC2 security group.
931
+ #
932
+ # @note When making an API call, you may pass AwsEc2SecurityGroupIpPermission
933
+ # data as a hash:
934
+ #
935
+ # {
936
+ # ip_protocol: "NonEmptyString",
937
+ # from_port: 1,
938
+ # to_port: 1,
939
+ # user_id_group_pairs: [
940
+ # {
941
+ # group_id: "NonEmptyString",
942
+ # group_name: "NonEmptyString",
943
+ # peering_status: "NonEmptyString",
944
+ # user_id: "NonEmptyString",
945
+ # vpc_id: "NonEmptyString",
946
+ # vpc_peering_connection_id: "NonEmptyString",
947
+ # },
948
+ # ],
949
+ # ip_ranges: [
950
+ # {
951
+ # cidr_ip: "NonEmptyString",
952
+ # },
953
+ # ],
954
+ # ipv_6_ranges: [
955
+ # {
956
+ # cidr_ipv_6: "NonEmptyString",
957
+ # },
958
+ # ],
959
+ # prefix_list_ids: [
960
+ # {
961
+ # prefix_list_id: "NonEmptyString",
962
+ # },
963
+ # ],
964
+ # }
965
+ #
966
+ # @!attribute [rw] ip_protocol
967
+ # The IP protocol name (`tcp`, `udp`, `icmp`, `icmpv6`) or number.
968
+ #
969
+ # \[VPC only\] Use `-1` to specify all protocols.
970
+ #
971
+ # When authorizing security group rules, specifying -1 or a protocol
972
+ # number other than `tcp`, `udp`, `icmp`, or `icmpv6` allows traffic
973
+ # on all ports, regardless of any port range you specify.
974
+ #
975
+ # For `tcp`, `udp`, and `icmp`, you must specify a port range.
976
+ #
977
+ # For `icmpv6`, the port range is optional. If you omit the port
978
+ # range, traffic for all types and codes is allowed.
979
+ # @return [String]
980
+ #
981
+ # @!attribute [rw] from_port
982
+ # The start of the port range for the TCP and UDP protocols, or an
983
+ # ICMP/ICMPv6 type number.
984
+ #
985
+ # A value of -1 indicates all ICMP/ICMPv6 types. If you specify all
986
+ # ICMP/ICMPv6 types, you must specify all codes.
987
+ # @return [Integer]
988
+ #
989
+ # @!attribute [rw] to_port
990
+ # The end of the port range for the TCP and UDP protocols, or an
991
+ # ICMP/ICMPv6 code.
992
+ #
993
+ # A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all
994
+ # ICMP/ICMPv6 types, you must specify all codes.
995
+ # @return [Integer]
996
+ #
997
+ # @!attribute [rw] user_id_group_pairs
998
+ # The security group and AWS account ID pairs.
999
+ # @return [Array<Types::AwsEc2SecurityGroupUserIdGroupPair>]
1000
+ #
1001
+ # @!attribute [rw] ip_ranges
1002
+ # The IPv4 ranges.
1003
+ # @return [Array<Types::AwsEc2SecurityGroupIpRange>]
1004
+ #
1005
+ # @!attribute [rw] ipv_6_ranges
1006
+ # The IPv6 ranges.
1007
+ # @return [Array<Types::AwsEc2SecurityGroupIpv6Range>]
1008
+ #
1009
+ # @!attribute [rw] prefix_list_ids
1010
+ # \[VPC only\] The prefix list IDs for an AWS service. With outbound
1011
+ # rules, this is the AWS service to access through a VPC endpoint from
1012
+ # instances associated with the security group.
1013
+ # @return [Array<Types::AwsEc2SecurityGroupPrefixListId>]
1014
+ #
1015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2SecurityGroupIpPermission AWS API Documentation
1016
+ #
1017
+ class AwsEc2SecurityGroupIpPermission < Struct.new(
1018
+ :ip_protocol,
1019
+ :from_port,
1020
+ :to_port,
1021
+ :user_id_group_pairs,
1022
+ :ip_ranges,
1023
+ :ipv_6_ranges,
1024
+ :prefix_list_ids)
1025
+ include Aws::Structure
1026
+ end
1027
+
1028
+ # A range of IPv4 addresses.
1029
+ #
1030
+ # @note When making an API call, you may pass AwsEc2SecurityGroupIpRange
1031
+ # data as a hash:
1032
+ #
1033
+ # {
1034
+ # cidr_ip: "NonEmptyString",
1035
+ # }
1036
+ #
1037
+ # @!attribute [rw] cidr_ip
1038
+ # The IPv4 CIDR range. You can either specify either a CIDR range or a
1039
+ # source security group, but not both. To specify a single IPv4
1040
+ # address, use the /32 prefix length.
1041
+ # @return [String]
1042
+ #
1043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2SecurityGroupIpRange AWS API Documentation
1044
+ #
1045
+ class AwsEc2SecurityGroupIpRange < Struct.new(
1046
+ :cidr_ip)
1047
+ include Aws::Structure
1048
+ end
1049
+
1050
+ # A range of IPv6 addresses.
1051
+ #
1052
+ # @note When making an API call, you may pass AwsEc2SecurityGroupIpv6Range
1053
+ # data as a hash:
1054
+ #
1055
+ # {
1056
+ # cidr_ipv_6: "NonEmptyString",
1057
+ # }
1058
+ #
1059
+ # @!attribute [rw] cidr_ipv_6
1060
+ # The IPv6 CIDR range. You can either specify either a CIDR range or a
1061
+ # source security group, but not both. To specify a single IPv6
1062
+ # address, use the /128 prefix length.
1063
+ # @return [String]
1064
+ #
1065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2SecurityGroupIpv6Range AWS API Documentation
1066
+ #
1067
+ class AwsEc2SecurityGroupIpv6Range < Struct.new(
1068
+ :cidr_ipv_6)
1069
+ include Aws::Structure
1070
+ end
1071
+
1072
+ # A prefix list ID.
1073
+ #
1074
+ # @note When making an API call, you may pass AwsEc2SecurityGroupPrefixListId
1075
+ # data as a hash:
1076
+ #
1077
+ # {
1078
+ # prefix_list_id: "NonEmptyString",
1079
+ # }
1080
+ #
1081
+ # @!attribute [rw] prefix_list_id
1082
+ # The ID of the prefix.
1083
+ # @return [String]
1084
+ #
1085
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2SecurityGroupPrefixListId AWS API Documentation
1086
+ #
1087
+ class AwsEc2SecurityGroupPrefixListId < Struct.new(
1088
+ :prefix_list_id)
1089
+ include Aws::Structure
1090
+ end
1091
+
1092
+ # A relationship between a security group and a user.
1093
+ #
1094
+ # @note When making an API call, you may pass AwsEc2SecurityGroupUserIdGroupPair
1095
+ # data as a hash:
1096
+ #
1097
+ # {
1098
+ # group_id: "NonEmptyString",
1099
+ # group_name: "NonEmptyString",
1100
+ # peering_status: "NonEmptyString",
1101
+ # user_id: "NonEmptyString",
1102
+ # vpc_id: "NonEmptyString",
1103
+ # vpc_peering_connection_id: "NonEmptyString",
1104
+ # }
1105
+ #
1106
+ # @!attribute [rw] group_id
1107
+ # The ID of the security group.
1108
+ # @return [String]
1109
+ #
1110
+ # @!attribute [rw] group_name
1111
+ # The name of the security group.
1112
+ # @return [String]
1113
+ #
1114
+ # @!attribute [rw] peering_status
1115
+ # The status of a VPC peering connection, if applicable.
1116
+ # @return [String]
1117
+ #
1118
+ # @!attribute [rw] user_id
1119
+ # The ID of an AWS account.
1120
+ #
1121
+ # For a referenced security group in another VPC, the account ID of
1122
+ # the referenced security group is returned in the response. If the
1123
+ # referenced security group is deleted, this value is not returned.
1124
+ #
1125
+ # \[EC2-Classic\] Required when adding or removing rules that
1126
+ # reference a security group in another AWS.
1127
+ # @return [String]
1128
+ #
1129
+ # @!attribute [rw] vpc_id
1130
+ # The ID of the VPC for the referenced security group, if applicable.
1131
+ # @return [String]
1132
+ #
1133
+ # @!attribute [rw] vpc_peering_connection_id
1134
+ # The ID of the VPC peering connection, if applicable.
1135
+ # @return [String]
1136
+ #
1137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2SecurityGroupUserIdGroupPair AWS API Documentation
1138
+ #
1139
+ class AwsEc2SecurityGroupUserIdGroupPair < Struct.new(
1140
+ :group_id,
1141
+ :group_name,
1142
+ :peering_status,
1143
+ :user_id,
1144
+ :vpc_id,
1145
+ :vpc_peering_connection_id)
1146
+ include Aws::Structure
1147
+ end
1148
+
1149
+ # Information about an Elasticsearch domain.
1150
+ #
1151
+ # @note When making an API call, you may pass AwsElasticsearchDomainDetails
1152
+ # data as a hash:
1153
+ #
1154
+ # {
1155
+ # access_policies: "NonEmptyString",
1156
+ # domain_endpoint_options: {
1157
+ # enforce_https: false,
1158
+ # tls_security_policy: "NonEmptyString",
1159
+ # },
1160
+ # domain_id: "NonEmptyString",
1161
+ # domain_name: "NonEmptyString",
1162
+ # endpoint: "NonEmptyString",
1163
+ # endpoints: {
1164
+ # "NonEmptyString" => "NonEmptyString",
1165
+ # },
1166
+ # elasticsearch_version: "NonEmptyString",
1167
+ # encryption_at_rest_options: {
1168
+ # enabled: false,
1169
+ # kms_key_id: "NonEmptyString",
1170
+ # },
1171
+ # node_to_node_encryption_options: {
1172
+ # enabled: false,
1173
+ # },
1174
+ # vpc_options: {
1175
+ # availability_zones: ["NonEmptyString"],
1176
+ # security_group_ids: ["NonEmptyString"],
1177
+ # subnet_ids: ["NonEmptyString"],
1178
+ # vpc_id: "NonEmptyString",
1179
+ # },
1180
+ # }
1181
+ #
1182
+ # @!attribute [rw] access_policies
1183
+ # IAM policy document specifying the access policies for the new
1184
+ # Amazon ES domain.
1185
+ # @return [String]
1186
+ #
1187
+ # @!attribute [rw] domain_endpoint_options
1188
+ # Additional options for the domain endpoint.
1189
+ # @return [Types::AwsElasticsearchDomainDomainEndpointOptions]
1190
+ #
1191
+ # @!attribute [rw] domain_id
1192
+ # Unique identifier for an Amazon ES domain.
1193
+ # @return [String]
1194
+ #
1195
+ # @!attribute [rw] domain_name
1196
+ # Name of an Amazon ES domain.
1197
+ #
1198
+ # Domain names are unique across all domains owned by the same account
1199
+ # within an AWS Region.
1200
+ #
1201
+ # Domain names must start with a lowercase letter and must be between
1202
+ # 3 and 28 characters.
1203
+ #
1204
+ # Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
1205
+ # @return [String]
1206
+ #
1207
+ # @!attribute [rw] endpoint
1208
+ # Domain-specific endpoint used to submit index, search, and data
1209
+ # upload requests to an Amazon ES domain.
1210
+ #
1211
+ # The endpoint is a service URL.
1212
+ # @return [String]
1213
+ #
1214
+ # @!attribute [rw] endpoints
1215
+ # The key-value pair that exists if the Amazon ES domain uses VPC
1216
+ # endpoints.
1217
+ # @return [Hash<String,String>]
1218
+ #
1219
+ # @!attribute [rw] elasticsearch_version
1220
+ # Elasticsearch version.
1221
+ # @return [String]
1222
+ #
1223
+ # @!attribute [rw] encryption_at_rest_options
1224
+ # Details about the configuration for encryption at rest.
1225
+ # @return [Types::AwsElasticsearchDomainEncryptionAtRestOptions]
1226
+ #
1227
+ # @!attribute [rw] node_to_node_encryption_options
1228
+ # Details about the configuration for node-to-node encryption.
1229
+ # @return [Types::AwsElasticsearchDomainNodeToNodeEncryptionOptions]
1230
+ #
1231
+ # @!attribute [rw] vpc_options
1232
+ # Information that Amazon ES derives based on `VPCOptions` for the
1233
+ # domain.
1234
+ # @return [Types::AwsElasticsearchDomainVPCOptions]
1235
+ #
1236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsElasticsearchDomainDetails AWS API Documentation
1237
+ #
1238
+ class AwsElasticsearchDomainDetails < Struct.new(
1239
+ :access_policies,
1240
+ :domain_endpoint_options,
1241
+ :domain_id,
1242
+ :domain_name,
1243
+ :endpoint,
1244
+ :endpoints,
1245
+ :elasticsearch_version,
1246
+ :encryption_at_rest_options,
1247
+ :node_to_node_encryption_options,
1248
+ :vpc_options)
1249
+ include Aws::Structure
1250
+ end
1251
+
1252
+ # Additional options for the domain endpoint, such as whether to require
1253
+ # HTTPS for all traffic.
1254
+ #
1255
+ # @note When making an API call, you may pass AwsElasticsearchDomainDomainEndpointOptions
1256
+ # data as a hash:
1257
+ #
1258
+ # {
1259
+ # enforce_https: false,
1260
+ # tls_security_policy: "NonEmptyString",
1261
+ # }
1262
+ #
1263
+ # @!attribute [rw] enforce_https
1264
+ # Whether to require that all traffic to the domain arrive over HTTPS.
1265
+ # @return [Boolean]
1266
+ #
1267
+ # @!attribute [rw] tls_security_policy
1268
+ # The TLS security policy to apply to the HTTPS endpoint of the
1269
+ # Elasticsearch domain.
1270
+ #
1271
+ # Valid values:
1272
+ #
1273
+ # * `Policy-Min-TLS-1-0-2019-07`, which supports TLSv1.0 and higher
1274
+ #
1275
+ # * `Policy-Min-TLS-1-2-2019-07`, which only supports TLSv1.2
1276
+ # @return [String]
1277
+ #
1278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsElasticsearchDomainDomainEndpointOptions AWS API Documentation
1279
+ #
1280
+ class AwsElasticsearchDomainDomainEndpointOptions < Struct.new(
1281
+ :enforce_https,
1282
+ :tls_security_policy)
1283
+ include Aws::Structure
1284
+ end
1285
+
1286
+ # Details about the configuration for encryption at rest.
1287
+ #
1288
+ # @note When making an API call, you may pass AwsElasticsearchDomainEncryptionAtRestOptions
1289
+ # data as a hash:
1290
+ #
1291
+ # {
1292
+ # enabled: false,
1293
+ # kms_key_id: "NonEmptyString",
1294
+ # }
1295
+ #
1296
+ # @!attribute [rw] enabled
1297
+ # Whether encryption at rest is enabled.
1298
+ # @return [Boolean]
1299
+ #
1300
+ # @!attribute [rw] kms_key_id
1301
+ # The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
1302
+ # @return [String]
1303
+ #
1304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsElasticsearchDomainEncryptionAtRestOptions AWS API Documentation
1305
+ #
1306
+ class AwsElasticsearchDomainEncryptionAtRestOptions < Struct.new(
1307
+ :enabled,
1308
+ :kms_key_id)
1309
+ include Aws::Structure
1310
+ end
1311
+
1312
+ # Details about the configuration for node-to-node encryption.
1313
+ #
1314
+ # @note When making an API call, you may pass AwsElasticsearchDomainNodeToNodeEncryptionOptions
1315
+ # data as a hash:
1316
+ #
1317
+ # {
1318
+ # enabled: false,
326
1319
  # }
327
1320
  #
328
- # @!attribute [rw] type
329
- # The instance type of the instance.
330
- # @return [String]
1321
+ # @!attribute [rw] enabled
1322
+ # Whether node-to-node encryption is enabled.
1323
+ # @return [Boolean]
331
1324
  #
332
- # @!attribute [rw] image_id
333
- # The Amazon Machine Image (AMI) ID of the instance.
334
- # @return [String]
1325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsElasticsearchDomainNodeToNodeEncryptionOptions AWS API Documentation
335
1326
  #
336
- # @!attribute [rw] ip_v4_addresses
337
- # The IPv4 addresses associated with the instance.
338
- # @return [Array<String>]
1327
+ class AwsElasticsearchDomainNodeToNodeEncryptionOptions < Struct.new(
1328
+ :enabled)
1329
+ include Aws::Structure
1330
+ end
1331
+
1332
+ # Information that Amazon ES derives based on `VPCOptions` for the
1333
+ # domain.
339
1334
  #
340
- # @!attribute [rw] ip_v6_addresses
341
- # The IPv6 addresses associated with the instance.
342
- # @return [Array<String>]
1335
+ # @note When making an API call, you may pass AwsElasticsearchDomainVPCOptions
1336
+ # data as a hash:
343
1337
  #
344
- # @!attribute [rw] key_name
345
- # The key name associated with the instance.
346
- # @return [String]
1338
+ # {
1339
+ # availability_zones: ["NonEmptyString"],
1340
+ # security_group_ids: ["NonEmptyString"],
1341
+ # subnet_ids: ["NonEmptyString"],
1342
+ # vpc_id: "NonEmptyString",
1343
+ # }
347
1344
  #
348
- # @!attribute [rw] iam_instance_profile_arn
349
- # The IAM profile ARN of the instance.
350
- # @return [String]
1345
+ # @!attribute [rw] availability_zones
1346
+ # The list of Availability Zones associated with the VPC subnets.
1347
+ # @return [Array<String>]
351
1348
  #
352
- # @!attribute [rw] vpc_id
353
- # The identifier of the VPC that the instance was launched in.
354
- # @return [String]
1349
+ # @!attribute [rw] security_group_ids
1350
+ # The list of security group IDs associated with the VPC endpoints for
1351
+ # the domain.
1352
+ # @return [Array<String>]
355
1353
  #
356
- # @!attribute [rw] subnet_id
357
- # The identifier of the subnet that the instance was launched in.
358
- # @return [String]
1354
+ # @!attribute [rw] subnet_ids
1355
+ # A list of subnet IDs associated with the VPC endpoints for the
1356
+ # domain.
1357
+ # @return [Array<String>]
359
1358
  #
360
- # @!attribute [rw] launched_at
361
- # The date/time the instance was launched.
1359
+ # @!attribute [rw] vpc_id
1360
+ # ID for the VPC.
362
1361
  # @return [String]
363
1362
  #
364
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsEc2InstanceDetails AWS API Documentation
1363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsElasticsearchDomainVPCOptions AWS API Documentation
365
1364
  #
366
- class AwsEc2InstanceDetails < Struct.new(
367
- :type,
368
- :image_id,
369
- :ip_v4_addresses,
370
- :ip_v6_addresses,
371
- :key_name,
372
- :iam_instance_profile_arn,
373
- :vpc_id,
374
- :subnet_id,
375
- :launched_at)
1365
+ class AwsElasticsearchDomainVPCOptions < Struct.new(
1366
+ :availability_zones,
1367
+ :security_group_ids,
1368
+ :subnet_ids,
1369
+ :vpc_id)
376
1370
  include Aws::Structure
377
1371
  end
378
1372
 
@@ -421,8 +1415,8 @@ module Aws::SecurityHub
421
1415
  #
422
1416
  # @!attribute [rw] ip_address_type
423
1417
  # The type of IP addresses used by the subnets for your load balancer.
424
- # The possible values are ipv4 (for IPv4 addresses) and dualstack (for
425
- # IPv4 and IPv6 addresses).
1418
+ # The possible values are `ipv4` (for IPv4 addresses) and `dualstack`
1419
+ # (for IPv4 and IPv6 addresses).
426
1420
  # @return [String]
427
1421
  #
428
1422
  # @!attribute [rw] scheme
@@ -605,12 +1599,16 @@ module Aws::SecurityHub
605
1599
  # @return [String]
606
1600
  #
607
1601
  # @!attribute [rw] origin
608
- # The source of the CMK's key material. When this value is AWS\_KMS,
609
- # AWS KMS created the key material. When this value is EXTERNAL, the
610
- # key material was imported from your existing key management
611
- # infrastructure or the CMK lacks key material. When this value is
612
- # AWS\_CLOUDHSM, the key material was created in the AWS CloudHSM
613
- # cluster associated with a custom key store.
1602
+ # The source of the CMK's key material.
1603
+ #
1604
+ # When this value is `AWS_KMS`, AWS KMS created the key material.
1605
+ #
1606
+ # When this value is `EXTERNAL`, the key material was imported from
1607
+ # your existing key management infrastructure or the CMK lacks key
1608
+ # material.
1609
+ #
1610
+ # When this value is `AWS_CLOUDHSM`, the key material was created in
1611
+ # the AWS CloudHSM cluster associated with a custom key store.
614
1612
  # @return [String]
615
1613
  #
616
1614
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsKmsKeyDetails AWS API Documentation
@@ -881,98 +1879,427 @@ module Aws::SecurityHub
881
1879
  # message: "NonEmptyString",
882
1880
  # }
883
1881
  #
884
- # @!attribute [rw] error_code
885
- # The error code.
1882
+ # @!attribute [rw] error_code
1883
+ # The error code.
1884
+ # @return [String]
1885
+ #
1886
+ # @!attribute [rw] message
1887
+ # The error message.
1888
+ # @return [String]
1889
+ #
1890
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionEnvironmentError AWS API Documentation
1891
+ #
1892
+ class AwsLambdaFunctionEnvironmentError < Struct.new(
1893
+ :error_code,
1894
+ :message)
1895
+ include Aws::Structure
1896
+ end
1897
+
1898
+ # An AWS Lambda layer.
1899
+ #
1900
+ # @note When making an API call, you may pass AwsLambdaFunctionLayer
1901
+ # data as a hash:
1902
+ #
1903
+ # {
1904
+ # arn: "NonEmptyString",
1905
+ # code_size: 1,
1906
+ # }
1907
+ #
1908
+ # @!attribute [rw] arn
1909
+ # The Amazon Resource Name (ARN) of the function layer.
1910
+ # @return [String]
1911
+ #
1912
+ # @!attribute [rw] code_size
1913
+ # The size of the layer archive in bytes.
1914
+ # @return [Integer]
1915
+ #
1916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionLayer AWS API Documentation
1917
+ #
1918
+ class AwsLambdaFunctionLayer < Struct.new(
1919
+ :arn,
1920
+ :code_size)
1921
+ include Aws::Structure
1922
+ end
1923
+
1924
+ # The function's AWS X-Ray tracing configuration.
1925
+ #
1926
+ # @note When making an API call, you may pass AwsLambdaFunctionTracingConfig
1927
+ # data as a hash:
1928
+ #
1929
+ # {
1930
+ # mode: "NonEmptyString",
1931
+ # }
1932
+ #
1933
+ # @!attribute [rw] mode
1934
+ # The tracing mode.
1935
+ # @return [String]
1936
+ #
1937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionTracingConfig AWS API Documentation
1938
+ #
1939
+ class AwsLambdaFunctionTracingConfig < Struct.new(
1940
+ :mode)
1941
+ include Aws::Structure
1942
+ end
1943
+
1944
+ # The VPC security groups and subnets that are attached to a Lambda
1945
+ # function. For more information, see VPC Settings.
1946
+ #
1947
+ # @note When making an API call, you may pass AwsLambdaFunctionVpcConfig
1948
+ # data as a hash:
1949
+ #
1950
+ # {
1951
+ # security_group_ids: ["NonEmptyString"],
1952
+ # subnet_ids: ["NonEmptyString"],
1953
+ # vpc_id: "NonEmptyString",
1954
+ # }
1955
+ #
1956
+ # @!attribute [rw] security_group_ids
1957
+ # A list of VPC security groups IDs.
1958
+ # @return [Array<String>]
1959
+ #
1960
+ # @!attribute [rw] subnet_ids
1961
+ # A list of VPC subnet IDs.
1962
+ # @return [Array<String>]
1963
+ #
1964
+ # @!attribute [rw] vpc_id
1965
+ # The ID of the VPC.
1966
+ # @return [String]
1967
+ #
1968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionVpcConfig AWS API Documentation
1969
+ #
1970
+ class AwsLambdaFunctionVpcConfig < Struct.new(
1971
+ :security_group_ids,
1972
+ :subnet_ids,
1973
+ :vpc_id)
1974
+ include Aws::Structure
1975
+ end
1976
+
1977
+ # Details about a Lambda layer version.
1978
+ #
1979
+ # @note When making an API call, you may pass AwsLambdaLayerVersionDetails
1980
+ # data as a hash:
1981
+ #
1982
+ # {
1983
+ # version: 1,
1984
+ # compatible_runtimes: ["NonEmptyString"],
1985
+ # created_date: "NonEmptyString",
1986
+ # }
1987
+ #
1988
+ # @!attribute [rw] version
1989
+ # The version number.
1990
+ # @return [Integer]
1991
+ #
1992
+ # @!attribute [rw] compatible_runtimes
1993
+ # The layer's compatible runtimes. Maximum number of 5 items.
1994
+ #
1995
+ # Valid values: `nodejs8.10` \| `nodejs10.x` \| `nodejs12.x` \|
1996
+ # `java8` \| `java11` \| `python2.7` \| `python3.6` \| `python3.7` \|
1997
+ # `python3.8` \| `dotnetcore1.0` \| `dotnetcore2.1` \| `go1.x` \|
1998
+ # `ruby2.5` \| `provided`
1999
+ # @return [Array<String>]
2000
+ #
2001
+ # @!attribute [rw] created_date
2002
+ # The date that the version was created, in ISO 8601 format. For
2003
+ # example, 2018-11-27T15:10:45.123+0000.
2004
+ # @return [String]
2005
+ #
2006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaLayerVersionDetails AWS API Documentation
2007
+ #
2008
+ class AwsLambdaLayerVersionDetails < Struct.new(
2009
+ :version,
2010
+ :compatible_runtimes,
2011
+ :created_date)
2012
+ include Aws::Structure
2013
+ end
2014
+
2015
+ # An AWS Identity and Access Management (IAM) role associated with the
2016
+ # DB instance.
2017
+ #
2018
+ # @note When making an API call, you may pass AwsRdsDbInstanceAssociatedRole
2019
+ # data as a hash:
2020
+ #
2021
+ # {
2022
+ # role_arn: "NonEmptyString",
2023
+ # feature_name: "NonEmptyString",
2024
+ # status: "NonEmptyString",
2025
+ # }
2026
+ #
2027
+ # @!attribute [rw] role_arn
2028
+ # The Amazon Resource Name (ARN) of the IAM role that is associated
2029
+ # with the DB instance.
2030
+ # @return [String]
2031
+ #
2032
+ # @!attribute [rw] feature_name
2033
+ # The name of the feature associated with the IAM)role.
2034
+ # @return [String]
2035
+ #
2036
+ # @!attribute [rw] status
2037
+ # Describes the state of the association between the IAM role and the
2038
+ # DB instance. The `Status` property returns one of the following
2039
+ # values:
2040
+ #
2041
+ # * `ACTIVE` - the IAM role ARN is associated with the DB instance and
2042
+ # can be used to access other AWS services on your behalf.
2043
+ #
2044
+ # * `PENDING` - the IAM role ARN is being associated with the DB
2045
+ # instance.
2046
+ #
2047
+ # * `INVALID` - the IAM role ARN is associated with the DB instance,
2048
+ # but the DB instance is unable to assume the IAM role in order to
2049
+ # access other AWS services on your behalf.
2050
+ # @return [String]
2051
+ #
2052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsRdsDbInstanceAssociatedRole AWS API Documentation
2053
+ #
2054
+ class AwsRdsDbInstanceAssociatedRole < Struct.new(
2055
+ :role_arn,
2056
+ :feature_name,
2057
+ :status)
2058
+ include Aws::Structure
2059
+ end
2060
+
2061
+ # Contains the details of an Amazon RDS DB instance.
2062
+ #
2063
+ # @note When making an API call, you may pass AwsRdsDbInstanceDetails
2064
+ # data as a hash:
2065
+ #
2066
+ # {
2067
+ # associated_roles: [
2068
+ # {
2069
+ # role_arn: "NonEmptyString",
2070
+ # feature_name: "NonEmptyString",
2071
+ # status: "NonEmptyString",
2072
+ # },
2073
+ # ],
2074
+ # ca_certificate_identifier: "NonEmptyString",
2075
+ # db_cluster_identifier: "NonEmptyString",
2076
+ # db_instance_identifier: "NonEmptyString",
2077
+ # db_instance_class: "NonEmptyString",
2078
+ # db_instance_port: 1,
2079
+ # dbi_resource_id: "NonEmptyString",
2080
+ # db_name: "NonEmptyString",
2081
+ # deletion_protection: false,
2082
+ # endpoint: {
2083
+ # address: "NonEmptyString",
2084
+ # port: 1,
2085
+ # hosted_zone_id: "NonEmptyString",
2086
+ # },
2087
+ # engine: "NonEmptyString",
2088
+ # engine_version: "NonEmptyString",
2089
+ # iam_database_authentication_enabled: false,
2090
+ # instance_create_time: "NonEmptyString",
2091
+ # kms_key_id: "NonEmptyString",
2092
+ # publicly_accessible: false,
2093
+ # storage_encrypted: false,
2094
+ # tde_credential_arn: "NonEmptyString",
2095
+ # vpc_security_groups: [
2096
+ # {
2097
+ # vpc_security_group_id: "NonEmptyString",
2098
+ # status: "NonEmptyString",
2099
+ # },
2100
+ # ],
2101
+ # }
2102
+ #
2103
+ # @!attribute [rw] associated_roles
2104
+ # The AWS Identity and Access Management (IAM) roles associated with
2105
+ # the DB instance.
2106
+ # @return [Array<Types::AwsRdsDbInstanceAssociatedRole>]
2107
+ #
2108
+ # @!attribute [rw] ca_certificate_identifier
2109
+ # The identifier of the CA certificate for this DB instance.
2110
+ # @return [String]
2111
+ #
2112
+ # @!attribute [rw] db_cluster_identifier
2113
+ # If the DB instance is a member of a DB cluster, contains the name of
2114
+ # the DB cluster that the DB instance is a member of.
2115
+ # @return [String]
2116
+ #
2117
+ # @!attribute [rw] db_instance_identifier
2118
+ # Contains a user-supplied database identifier. This identifier is the
2119
+ # unique key that identifies a DB instance.
2120
+ # @return [String]
2121
+ #
2122
+ # @!attribute [rw] db_instance_class
2123
+ # Contains the name of the compute and memory capacity class of the DB
2124
+ # instance.
2125
+ # @return [String]
2126
+ #
2127
+ # @!attribute [rw] db_instance_port
2128
+ # Specifies the port that the DB instance listens on. If the DB
2129
+ # instance is part of a DB cluster, this can be a different port than
2130
+ # the DB cluster port.
2131
+ # @return [Integer]
2132
+ #
2133
+ # @!attribute [rw] dbi_resource_id
2134
+ # The AWS Region-unique, immutable identifier for the DB instance.
2135
+ # This identifier is found in AWS CloudTrail log entries whenever the
2136
+ # AWS KMS key for the DB instance is accessed.
2137
+ # @return [String]
2138
+ #
2139
+ # @!attribute [rw] db_name
2140
+ # The meaning of this parameter differs according to the database
2141
+ # engine you use.
2142
+ #
2143
+ # **MySQL, MariaDB, SQL Server, PostgreSQL**
2144
+ #
2145
+ # Contains the name of the initial database of this instance that was
2146
+ # provided at create time, if one was specified when the DB instance
2147
+ # was created. This same name is returned for the life of the DB
2148
+ # instance.
2149
+ #
2150
+ # **Oracle**
2151
+ #
2152
+ # Contains the Oracle System ID (SID) of the created DB instance. Not
2153
+ # shown when the returned parameters do not apply to an Oracle DB
2154
+ # instance.
2155
+ # @return [String]
2156
+ #
2157
+ # @!attribute [rw] deletion_protection
2158
+ # Indicates whether the DB instance has deletion protection enabled.
2159
+ #
2160
+ # When deletion protection is enabled, the database cannot be deleted.
2161
+ # @return [Boolean]
2162
+ #
2163
+ # @!attribute [rw] endpoint
2164
+ # Specifies the connection endpoint.
2165
+ # @return [Types::AwsRdsDbInstanceEndpoint]
2166
+ #
2167
+ # @!attribute [rw] engine
2168
+ # Provides the name of the database engine to use for this DB
2169
+ # instance.
2170
+ # @return [String]
2171
+ #
2172
+ # @!attribute [rw] engine_version
2173
+ # Indicates the database engine version.
2174
+ # @return [String]
2175
+ #
2176
+ # @!attribute [rw] iam_database_authentication_enabled
2177
+ # True if mapping of AWS Identity and Access Management (IAM) accounts
2178
+ # to database accounts is enabled, and otherwise false.
2179
+ #
2180
+ # IAM database authentication can be enabled for the following
2181
+ # database engines.
2182
+ #
2183
+ # * For MySQL 5.6, minor version 5.6.34 or higher
2184
+ #
2185
+ # * For MySQL 5.7, minor version 5.7.16 or higher
2186
+ #
2187
+ # * Aurora 5.6 or higher
2188
+ # @return [Boolean]
2189
+ #
2190
+ # @!attribute [rw] instance_create_time
2191
+ # Provides the date and time the DB instance was created.
886
2192
  # @return [String]
887
2193
  #
888
- # @!attribute [rw] message
889
- # The error message.
2194
+ # @!attribute [rw] kms_key_id
2195
+ # If `StorageEncrypted` is true, the AWS KMS key identifier for the
2196
+ # encrypted DB instance.
890
2197
  # @return [String]
891
2198
  #
892
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionEnvironmentError AWS API Documentation
2199
+ # @!attribute [rw] publicly_accessible
2200
+ # Specifies the accessibility options for the DB instance.
893
2201
  #
894
- class AwsLambdaFunctionEnvironmentError < Struct.new(
895
- :error_code,
896
- :message)
897
- include Aws::Structure
898
- end
899
-
900
- # An AWS Lambda layer.
2202
+ # A value of true specifies an Internet-facing instance with a
2203
+ # publicly resolvable DNS name, which resolves to a public IP address.
901
2204
  #
902
- # @note When making an API call, you may pass AwsLambdaFunctionLayer
903
- # data as a hash:
2205
+ # A value of false specifies an internal instance with a DNS name that
2206
+ # resolves to a private IP address.
2207
+ # @return [Boolean]
904
2208
  #
905
- # {
906
- # arn: "NonEmptyString",
907
- # code_size: 1,
908
- # }
2209
+ # @!attribute [rw] storage_encrypted
2210
+ # Specifies whether the DB instance is encrypted.
2211
+ # @return [Boolean]
909
2212
  #
910
- # @!attribute [rw] arn
911
- # The Amazon Resource Name (ARN) of the function layer.
2213
+ # @!attribute [rw] tde_credential_arn
2214
+ # The ARN from the key store with which the instance is associated for
2215
+ # TDE encryption.
912
2216
  # @return [String]
913
2217
  #
914
- # @!attribute [rw] code_size
915
- # The size of the layer archive in bytes.
916
- # @return [Integer]
2218
+ # @!attribute [rw] vpc_security_groups
2219
+ # A list of VPC security groups that the DB instance belongs to.
2220
+ # @return [Array<Types::AwsRdsDbInstanceVpcSecurityGroup>]
917
2221
  #
918
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionLayer AWS API Documentation
2222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsRdsDbInstanceDetails AWS API Documentation
919
2223
  #
920
- class AwsLambdaFunctionLayer < Struct.new(
921
- :arn,
922
- :code_size)
2224
+ class AwsRdsDbInstanceDetails < Struct.new(
2225
+ :associated_roles,
2226
+ :ca_certificate_identifier,
2227
+ :db_cluster_identifier,
2228
+ :db_instance_identifier,
2229
+ :db_instance_class,
2230
+ :db_instance_port,
2231
+ :dbi_resource_id,
2232
+ :db_name,
2233
+ :deletion_protection,
2234
+ :endpoint,
2235
+ :engine,
2236
+ :engine_version,
2237
+ :iam_database_authentication_enabled,
2238
+ :instance_create_time,
2239
+ :kms_key_id,
2240
+ :publicly_accessible,
2241
+ :storage_encrypted,
2242
+ :tde_credential_arn,
2243
+ :vpc_security_groups)
923
2244
  include Aws::Structure
924
2245
  end
925
2246
 
926
- # The function's AWS X-Ray tracing configuration.
2247
+ # Specifies the connection endpoint.
927
2248
  #
928
- # @note When making an API call, you may pass AwsLambdaFunctionTracingConfig
2249
+ # @note When making an API call, you may pass AwsRdsDbInstanceEndpoint
929
2250
  # data as a hash:
930
2251
  #
931
2252
  # {
932
- # mode: "NonEmptyString",
2253
+ # address: "NonEmptyString",
2254
+ # port: 1,
2255
+ # hosted_zone_id: "NonEmptyString",
933
2256
  # }
934
2257
  #
935
- # @!attribute [rw] mode
936
- # The tracing mode.
2258
+ # @!attribute [rw] address
2259
+ # Specifies the DNS address of the DB instance.
937
2260
  # @return [String]
938
2261
  #
939
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionTracingConfig AWS API Documentation
2262
+ # @!attribute [rw] port
2263
+ # Specifies the port that the database engine is listening on.
2264
+ # @return [Integer]
940
2265
  #
941
- class AwsLambdaFunctionTracingConfig < Struct.new(
942
- :mode)
2266
+ # @!attribute [rw] hosted_zone_id
2267
+ # Specifies the ID that Amazon Route 53 assigns when you create a
2268
+ # hosted zone.
2269
+ # @return [String]
2270
+ #
2271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsRdsDbInstanceEndpoint AWS API Documentation
2272
+ #
2273
+ class AwsRdsDbInstanceEndpoint < Struct.new(
2274
+ :address,
2275
+ :port,
2276
+ :hosted_zone_id)
943
2277
  include Aws::Structure
944
2278
  end
945
2279
 
946
- # The VPC security groups and subnets that are attached to a Lambda
947
- # function. For more information, see VPC Settings.
2280
+ # A VPC security groups that the DB instance belongs to.
948
2281
  #
949
- # @note When making an API call, you may pass AwsLambdaFunctionVpcConfig
2282
+ # @note When making an API call, you may pass AwsRdsDbInstanceVpcSecurityGroup
950
2283
  # data as a hash:
951
2284
  #
952
2285
  # {
953
- # security_group_ids: ["NonEmptyString"],
954
- # subnet_ids: ["NonEmptyString"],
955
- # vpc_id: "NonEmptyString",
2286
+ # vpc_security_group_id: "NonEmptyString",
2287
+ # status: "NonEmptyString",
956
2288
  # }
957
2289
  #
958
- # @!attribute [rw] security_group_ids
959
- # A list of VPC security groups IDs.
960
- # @return [Array<String>]
961
- #
962
- # @!attribute [rw] subnet_ids
963
- # A list of VPC subnet IDs.
964
- # @return [Array<String>]
2290
+ # @!attribute [rw] vpc_security_group_id
2291
+ # The name of the VPC security group.
2292
+ # @return [String]
965
2293
  #
966
- # @!attribute [rw] vpc_id
967
- # The ID of the VPC.
2294
+ # @!attribute [rw] status
2295
+ # The status of the VPC security group.
968
2296
  # @return [String]
969
2297
  #
970
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsLambdaFunctionVpcConfig AWS API Documentation
2298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsRdsDbInstanceVpcSecurityGroup AWS API Documentation
971
2299
  #
972
- class AwsLambdaFunctionVpcConfig < Struct.new(
973
- :security_group_ids,
974
- :subnet_ids,
975
- :vpc_id)
2300
+ class AwsRdsDbInstanceVpcSecurityGroup < Struct.new(
2301
+ :vpc_security_group_id,
2302
+ :status)
976
2303
  include Aws::Structure
977
2304
  end
978
2305
 
@@ -1097,6 +2424,31 @@ module Aws::SecurityHub
1097
2424
  # "NonEmptyString" => "NonEmptyString",
1098
2425
  # },
1099
2426
  # details: {
2427
+ # aws_code_build_project: {
2428
+ # encryption_key: "NonEmptyString",
2429
+ # environment: {
2430
+ # certificate: "NonEmptyString",
2431
+ # image_pull_credentials_type: "NonEmptyString",
2432
+ # registry_credential: {
2433
+ # credential: "NonEmptyString",
2434
+ # credential_provider: "NonEmptyString",
2435
+ # },
2436
+ # type: "NonEmptyString",
2437
+ # },
2438
+ # name: "NonEmptyString",
2439
+ # source: {
2440
+ # type: "NonEmptyString",
2441
+ # location: "NonEmptyString",
2442
+ # git_clone_depth: 1,
2443
+ # insecure_ssl: false,
2444
+ # },
2445
+ # service_role: "NonEmptyString",
2446
+ # vpc_config: {
2447
+ # vpc_id: "NonEmptyString",
2448
+ # subnets: ["NonEmptyString"],
2449
+ # security_group_ids: ["NonEmptyString"],
2450
+ # },
2451
+ # },
1100
2452
  # aws_cloud_front_distribution: {
1101
2453
  # domain_name: "NonEmptyString",
1102
2454
  # etag: "NonEmptyString",
@@ -1130,6 +2482,95 @@ module Aws::SecurityHub
1130
2482
  # subnet_id: "NonEmptyString",
1131
2483
  # launched_at: "NonEmptyString",
1132
2484
  # },
2485
+ # aws_ec2_network_interface: {
2486
+ # attachment: {
2487
+ # attach_time: "NonEmptyString",
2488
+ # attachment_id: "NonEmptyString",
2489
+ # delete_on_termination: false,
2490
+ # device_index: 1,
2491
+ # instance_id: "NonEmptyString",
2492
+ # instance_owner_id: "NonEmptyString",
2493
+ # status: "NonEmptyString",
2494
+ # },
2495
+ # network_interface_id: "NonEmptyString",
2496
+ # security_groups: [
2497
+ # {
2498
+ # group_name: "NonEmptyString",
2499
+ # group_id: "NonEmptyString",
2500
+ # },
2501
+ # ],
2502
+ # source_dest_check: false,
2503
+ # },
2504
+ # aws_ec2_security_group: {
2505
+ # group_name: "NonEmptyString",
2506
+ # group_id: "NonEmptyString",
2507
+ # owner_id: "NonEmptyString",
2508
+ # vpc_id: "NonEmptyString",
2509
+ # ip_permissions: [
2510
+ # {
2511
+ # ip_protocol: "NonEmptyString",
2512
+ # from_port: 1,
2513
+ # to_port: 1,
2514
+ # user_id_group_pairs: [
2515
+ # {
2516
+ # group_id: "NonEmptyString",
2517
+ # group_name: "NonEmptyString",
2518
+ # peering_status: "NonEmptyString",
2519
+ # user_id: "NonEmptyString",
2520
+ # vpc_id: "NonEmptyString",
2521
+ # vpc_peering_connection_id: "NonEmptyString",
2522
+ # },
2523
+ # ],
2524
+ # ip_ranges: [
2525
+ # {
2526
+ # cidr_ip: "NonEmptyString",
2527
+ # },
2528
+ # ],
2529
+ # ipv_6_ranges: [
2530
+ # {
2531
+ # cidr_ipv_6: "NonEmptyString",
2532
+ # },
2533
+ # ],
2534
+ # prefix_list_ids: [
2535
+ # {
2536
+ # prefix_list_id: "NonEmptyString",
2537
+ # },
2538
+ # ],
2539
+ # },
2540
+ # ],
2541
+ # ip_permissions_egress: [
2542
+ # {
2543
+ # ip_protocol: "NonEmptyString",
2544
+ # from_port: 1,
2545
+ # to_port: 1,
2546
+ # user_id_group_pairs: [
2547
+ # {
2548
+ # group_id: "NonEmptyString",
2549
+ # group_name: "NonEmptyString",
2550
+ # peering_status: "NonEmptyString",
2551
+ # user_id: "NonEmptyString",
2552
+ # vpc_id: "NonEmptyString",
2553
+ # vpc_peering_connection_id: "NonEmptyString",
2554
+ # },
2555
+ # ],
2556
+ # ip_ranges: [
2557
+ # {
2558
+ # cidr_ip: "NonEmptyString",
2559
+ # },
2560
+ # ],
2561
+ # ipv_6_ranges: [
2562
+ # {
2563
+ # cidr_ipv_6: "NonEmptyString",
2564
+ # },
2565
+ # ],
2566
+ # prefix_list_ids: [
2567
+ # {
2568
+ # prefix_list_id: "NonEmptyString",
2569
+ # },
2570
+ # ],
2571
+ # },
2572
+ # ],
2573
+ # },
1133
2574
  # aws_elbv_2_load_balancer: {
1134
2575
  # availability_zones: [
1135
2576
  # {
@@ -1150,6 +2591,33 @@ module Aws::SecurityHub
1150
2591
  # type: "NonEmptyString",
1151
2592
  # vpc_id: "NonEmptyString",
1152
2593
  # },
2594
+ # aws_elasticsearch_domain: {
2595
+ # access_policies: "NonEmptyString",
2596
+ # domain_endpoint_options: {
2597
+ # enforce_https: false,
2598
+ # tls_security_policy: "NonEmptyString",
2599
+ # },
2600
+ # domain_id: "NonEmptyString",
2601
+ # domain_name: "NonEmptyString",
2602
+ # endpoint: "NonEmptyString",
2603
+ # endpoints: {
2604
+ # "NonEmptyString" => "NonEmptyString",
2605
+ # },
2606
+ # elasticsearch_version: "NonEmptyString",
2607
+ # encryption_at_rest_options: {
2608
+ # enabled: false,
2609
+ # kms_key_id: "NonEmptyString",
2610
+ # },
2611
+ # node_to_node_encryption_options: {
2612
+ # enabled: false,
2613
+ # },
2614
+ # vpc_options: {
2615
+ # availability_zones: ["NonEmptyString"],
2616
+ # security_group_ids: ["NonEmptyString"],
2617
+ # subnet_ids: ["NonEmptyString"],
2618
+ # vpc_id: "NonEmptyString",
2619
+ # },
2620
+ # },
1153
2621
  # aws_s3_bucket: {
1154
2622
  # owner_id: "NonEmptyString",
1155
2623
  # owner_name: "NonEmptyString",
@@ -1224,6 +2692,47 @@ module Aws::SecurityHub
1224
2692
  # },
1225
2693
  # version: "NonEmptyString",
1226
2694
  # },
2695
+ # aws_lambda_layer_version: {
2696
+ # version: 1,
2697
+ # compatible_runtimes: ["NonEmptyString"],
2698
+ # created_date: "NonEmptyString",
2699
+ # },
2700
+ # aws_rds_db_instance: {
2701
+ # associated_roles: [
2702
+ # {
2703
+ # role_arn: "NonEmptyString",
2704
+ # feature_name: "NonEmptyString",
2705
+ # status: "NonEmptyString",
2706
+ # },
2707
+ # ],
2708
+ # ca_certificate_identifier: "NonEmptyString",
2709
+ # db_cluster_identifier: "NonEmptyString",
2710
+ # db_instance_identifier: "NonEmptyString",
2711
+ # db_instance_class: "NonEmptyString",
2712
+ # db_instance_port: 1,
2713
+ # dbi_resource_id: "NonEmptyString",
2714
+ # db_name: "NonEmptyString",
2715
+ # deletion_protection: false,
2716
+ # endpoint: {
2717
+ # address: "NonEmptyString",
2718
+ # port: 1,
2719
+ # hosted_zone_id: "NonEmptyString",
2720
+ # },
2721
+ # engine: "NonEmptyString",
2722
+ # engine_version: "NonEmptyString",
2723
+ # iam_database_authentication_enabled: false,
2724
+ # instance_create_time: "NonEmptyString",
2725
+ # kms_key_id: "NonEmptyString",
2726
+ # publicly_accessible: false,
2727
+ # storage_encrypted: false,
2728
+ # tde_credential_arn: "NonEmptyString",
2729
+ # vpc_security_groups: [
2730
+ # {
2731
+ # vpc_security_group_id: "NonEmptyString",
2732
+ # status: "NonEmptyString",
2733
+ # },
2734
+ # ],
2735
+ # },
1227
2736
  # aws_sns_topic: {
1228
2737
  # kms_master_key_id: "NonEmptyString",
1229
2738
  # subscription: [
@@ -1241,6 +2750,29 @@ module Aws::SecurityHub
1241
2750
  # queue_name: "NonEmptyString",
1242
2751
  # dead_letter_target_arn: "NonEmptyString",
1243
2752
  # },
2753
+ # aws_waf_web_acl: {
2754
+ # name: "NonEmptyString",
2755
+ # default_action: "NonEmptyString",
2756
+ # rules: [
2757
+ # {
2758
+ # action: {
2759
+ # type: "NonEmptyString",
2760
+ # },
2761
+ # excluded_rules: [
2762
+ # {
2763
+ # rule_id: "NonEmptyString",
2764
+ # },
2765
+ # ],
2766
+ # override_action: {
2767
+ # type: "NonEmptyString",
2768
+ # },
2769
+ # priority: 1,
2770
+ # rule_id: "NonEmptyString",
2771
+ # type: "NonEmptyString",
2772
+ # },
2773
+ # ],
2774
+ # web_acl_id: "NonEmptyString",
2775
+ # },
1244
2776
  # container: {
1245
2777
  # name: "NonEmptyString",
1246
2778
  # image_id: "NonEmptyString",
@@ -1255,6 +2787,7 @@ module Aws::SecurityHub
1255
2787
  # ],
1256
2788
  # compliance: {
1257
2789
  # status: "PASSED", # accepts PASSED, WARNING, FAILED, NOT_AVAILABLE
2790
+ # related_requirements: ["NonEmptyString"],
1258
2791
  # },
1259
2792
  # verification_state: "UNKNOWN", # accepts UNKNOWN, TRUE_POSITIVE, FALSE_POSITIVE, BENIGN_POSITIVE
1260
2793
  # workflow_state: "NEW", # accepts NEW, ASSIGNED, IN_PROGRESS, DEFERRED, RESOLVED
@@ -1337,15 +2870,18 @@ module Aws::SecurityHub
1337
2870
  # @!attribute [rw] confidence
1338
2871
  # A finding's confidence. Confidence is defined as the likelihood
1339
2872
  # that a finding accurately identifies the behavior or issue that it
1340
- # was intended to identify. Confidence is scored on a 0-100 basis
1341
- # using a ratio scale, where 0 means zero percent confidence and 100
1342
- # means 100 percent confidence.
2873
+ # was intended to identify.
2874
+ #
2875
+ # Confidence is scored on a 0-100 basis using a ratio scale, where 0
2876
+ # means zero percent confidence and 100 means 100 percent confidence.
1343
2877
  # @return [Integer]
1344
2878
  #
1345
2879
  # @!attribute [rw] criticality
1346
2880
  # The level of importance assigned to the resources associated with
1347
- # the finding. A score of 0 means that the underlying resources have
1348
- # no criticality, and a score of 100 is reserved for the most critical
2881
+ # the finding.
2882
+ #
2883
+ # A score of 0 means that the underlying resources have no
2884
+ # criticality, and a score of 100 is reserved for the most critical
1349
2885
  # resources.
1350
2886
  # @return [Integer]
1351
2887
  #
@@ -1398,7 +2934,7 @@ module Aws::SecurityHub
1398
2934
  # @return [Types::ProcessDetails]
1399
2935
  #
1400
2936
  # @!attribute [rw] threat_intel_indicators
1401
- # Threat intel details related to a finding.
2937
+ # Threat intelligence details related to a finding.
1402
2938
  # @return [Array<Types::ThreatIntelIndicator>]
1403
2939
  #
1404
2940
  # @!attribute [rw] resources
@@ -2092,15 +3628,18 @@ module Aws::SecurityHub
2092
3628
  # @!attribute [rw] confidence
2093
3629
  # A finding's confidence. Confidence is defined as the likelihood
2094
3630
  # that a finding accurately identifies the behavior or issue that it
2095
- # was intended to identify. Confidence is scored on a 0-100 basis
2096
- # using a ratio scale, where 0 means zero percent confidence and 100
2097
- # means 100 percent confidence.
3631
+ # was intended to identify.
3632
+ #
3633
+ # Confidence is scored on a 0-100 basis using a ratio scale, where 0
3634
+ # means zero percent confidence and 100 means 100 percent confidence.
2098
3635
  # @return [Array<Types::NumberFilter>]
2099
3636
  #
2100
3637
  # @!attribute [rw] criticality
2101
3638
  # The level of importance assigned to the resources associated with
2102
- # the finding. A score of 0 means that the underlying resources have
2103
- # no criticality, and a score of 100 is reserved for the most critical
3639
+ # the finding.
3640
+ #
3641
+ # A score of 0 means that the underlying resources have no
3642
+ # criticality, and a score of 100 is reserved for the most critical
2104
3643
  # resources.
2105
3644
  # @return [Array<Types::NumberFilter>]
2106
3645
  #
@@ -2234,27 +3773,28 @@ module Aws::SecurityHub
2234
3773
  # @return [Array<Types::DateFilter>]
2235
3774
  #
2236
3775
  # @!attribute [rw] threat_intel_indicator_type
2237
- # The type of a threat intel indicator.
3776
+ # The type of a threat intelligence indicator.
2238
3777
  # @return [Array<Types::StringFilter>]
2239
3778
  #
2240
3779
  # @!attribute [rw] threat_intel_indicator_value
2241
- # The value of a threat intel indicator.
3780
+ # The value of a threat intelligence indicator.
2242
3781
  # @return [Array<Types::StringFilter>]
2243
3782
  #
2244
3783
  # @!attribute [rw] threat_intel_indicator_category
2245
- # The category of a threat intel indicator.
3784
+ # The category of a threat intelligence indicator.
2246
3785
  # @return [Array<Types::StringFilter>]
2247
3786
  #
2248
3787
  # @!attribute [rw] threat_intel_indicator_last_observed_at
2249
- # The date/time of the last observation of a threat intel indicator.
3788
+ # The date/time of the last observation of a threat intelligence
3789
+ # indicator.
2250
3790
  # @return [Array<Types::DateFilter>]
2251
3791
  #
2252
3792
  # @!attribute [rw] threat_intel_indicator_source
2253
- # The source of the threat intel.
3793
+ # The source of the threat intelligence.
2254
3794
  # @return [Array<Types::StringFilter>]
2255
3795
  #
2256
3796
  # @!attribute [rw] threat_intel_indicator_source_url
2257
- # The URL for more details from the source of the threat intel.
3797
+ # The URL for more details from the source of the threat intelligence.
2258
3798
  # @return [Array<Types::StringFilter>]
2259
3799
  #
2260
3800
  # @!attribute [rw] resource_type
@@ -2312,7 +3852,7 @@ module Aws::SecurityHub
2312
3852
  # @return [Array<Types::StringFilter>]
2313
3853
  #
2314
3854
  # @!attribute [rw] resource_aws_ec2_instance_launched_at
2315
- # The date/time the instance was launched.
3855
+ # The date and time the instance was launched.
2316
3856
  # @return [Array<Types::DateFilter>]
2317
3857
  #
2318
3858
  # @!attribute [rw] resource_aws_s3_bucket_owner_id
@@ -2587,7 +4127,7 @@ module Aws::SecurityHub
2587
4127
  #
2588
4128
  # @!attribute [rw] dead_letter_target_arn
2589
4129
  # The Amazon Resource Name (ARN) of the dead-letter queue to which
2590
- # Amazon SQS moves messages after the value of maxReceiveCount is
4130
+ # Amazon SQS moves messages after the value of `maxReceiveCount` is
2591
4131
  # exceeded.
2592
4132
  # @return [String]
2593
4133
  #
@@ -2601,6 +4141,147 @@ module Aws::SecurityHub
2601
4141
  include Aws::Structure
2602
4142
  end
2603
4143
 
4144
+ # Details about a WAF WebACL.
4145
+ #
4146
+ # @note When making an API call, you may pass AwsWafWebAclDetails
4147
+ # data as a hash:
4148
+ #
4149
+ # {
4150
+ # name: "NonEmptyString",
4151
+ # default_action: "NonEmptyString",
4152
+ # rules: [
4153
+ # {
4154
+ # action: {
4155
+ # type: "NonEmptyString",
4156
+ # },
4157
+ # excluded_rules: [
4158
+ # {
4159
+ # rule_id: "NonEmptyString",
4160
+ # },
4161
+ # ],
4162
+ # override_action: {
4163
+ # type: "NonEmptyString",
4164
+ # },
4165
+ # priority: 1,
4166
+ # rule_id: "NonEmptyString",
4167
+ # type: "NonEmptyString",
4168
+ # },
4169
+ # ],
4170
+ # web_acl_id: "NonEmptyString",
4171
+ # }
4172
+ #
4173
+ # @!attribute [rw] name
4174
+ # A friendly name or description of the WebACL. You can't change the
4175
+ # name of a WebACL after you create it.
4176
+ # @return [String]
4177
+ #
4178
+ # @!attribute [rw] default_action
4179
+ # The action to perform if none of the Rules contained in the WebACL
4180
+ # match.
4181
+ # @return [String]
4182
+ #
4183
+ # @!attribute [rw] rules
4184
+ # An array that contains the action for each rule in a WebACL, the
4185
+ # priority of the rule, and the ID of the rule.
4186
+ # @return [Array<Types::AwsWafWebAclRule>]
4187
+ #
4188
+ # @!attribute [rw] web_acl_id
4189
+ # A unique identifier for a WebACL.
4190
+ # @return [String]
4191
+ #
4192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsWafWebAclDetails AWS API Documentation
4193
+ #
4194
+ class AwsWafWebAclDetails < Struct.new(
4195
+ :name,
4196
+ :default_action,
4197
+ :rules,
4198
+ :web_acl_id)
4199
+ include Aws::Structure
4200
+ end
4201
+
4202
+ # Details for a rule in a WAF WebACL.
4203
+ #
4204
+ # @note When making an API call, you may pass AwsWafWebAclRule
4205
+ # data as a hash:
4206
+ #
4207
+ # {
4208
+ # action: {
4209
+ # type: "NonEmptyString",
4210
+ # },
4211
+ # excluded_rules: [
4212
+ # {
4213
+ # rule_id: "NonEmptyString",
4214
+ # },
4215
+ # ],
4216
+ # override_action: {
4217
+ # type: "NonEmptyString",
4218
+ # },
4219
+ # priority: 1,
4220
+ # rule_id: "NonEmptyString",
4221
+ # type: "NonEmptyString",
4222
+ # }
4223
+ #
4224
+ # @!attribute [rw] action
4225
+ # Specifies the action that CloudFront or AWS WAF takes when a web
4226
+ # request matches the conditions in the Rule.
4227
+ # @return [Types::WafAction]
4228
+ #
4229
+ # @!attribute [rw] excluded_rules
4230
+ # Rules to exclude from a rule group.
4231
+ # @return [Array<Types::WafExcludedRule>]
4232
+ #
4233
+ # @!attribute [rw] override_action
4234
+ # Use the `OverrideAction` to test your RuleGroup.
4235
+ #
4236
+ # Any rule in a RuleGroup can potentially block a request. If you set
4237
+ # the `OverrideAction` to `None`, the RuleGroup blocks a request if
4238
+ # any individual rule in the RuleGroup matches the request and is
4239
+ # configured to block that request.
4240
+ #
4241
+ # However, if you first want to test the RuleGroup, set the
4242
+ # `OverrideAction` to `Count`. The RuleGroup then overrides any block
4243
+ # action specified by individual rules contained within the group.
4244
+ # Instead of blocking matching requests, those requests are counted.
4245
+ #
4246
+ # `ActivatedRule`\|`OverrideAction` applies only when updating or
4247
+ # adding a RuleGroup to a WebACL. In this case you do not use
4248
+ # `ActivatedRule`\|`Action`. For all other update requests,
4249
+ # `ActivatedRule`\|`Action` is used instead of
4250
+ # `ActivatedRule`\|`OverrideAction`.
4251
+ # @return [Types::WafOverrideAction]
4252
+ #
4253
+ # @!attribute [rw] priority
4254
+ # Specifies the order in which the Rules in a WebACL are evaluated.
4255
+ # Rules with a lower value for Priority are evaluated before Rules
4256
+ # with a higher value. The value must be a unique integer. If you add
4257
+ # multiple Rules to a WebACL, the values do not need to be
4258
+ # consecutive.
4259
+ # @return [Integer]
4260
+ #
4261
+ # @!attribute [rw] rule_id
4262
+ # The identifier for a Rule.
4263
+ # @return [String]
4264
+ #
4265
+ # @!attribute [rw] type
4266
+ # The rule type.
4267
+ #
4268
+ # Valid values: `REGULAR` \| `RATE_BASED` \| `GROUP`
4269
+ #
4270
+ # The default is `REGULAR`.
4271
+ # @return [String]
4272
+ #
4273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsWafWebAclRule AWS API Documentation
4274
+ #
4275
+ class AwsWafWebAclRule < Struct.new(
4276
+ :action,
4277
+ :excluded_rules,
4278
+ :override_action,
4279
+ :priority,
4280
+ :rule_id,
4281
+ :type)
4282
+ include Aws::Structure
4283
+ end
4284
+
2604
4285
  # @note When making an API call, you may pass BatchDisableStandardsRequest
2605
4286
  # data as a hash:
2606
4287
  #
@@ -2758,6 +4439,31 @@ module Aws::SecurityHub
2758
4439
  # "NonEmptyString" => "NonEmptyString",
2759
4440
  # },
2760
4441
  # details: {
4442
+ # aws_code_build_project: {
4443
+ # encryption_key: "NonEmptyString",
4444
+ # environment: {
4445
+ # certificate: "NonEmptyString",
4446
+ # image_pull_credentials_type: "NonEmptyString",
4447
+ # registry_credential: {
4448
+ # credential: "NonEmptyString",
4449
+ # credential_provider: "NonEmptyString",
4450
+ # },
4451
+ # type: "NonEmptyString",
4452
+ # },
4453
+ # name: "NonEmptyString",
4454
+ # source: {
4455
+ # type: "NonEmptyString",
4456
+ # location: "NonEmptyString",
4457
+ # git_clone_depth: 1,
4458
+ # insecure_ssl: false,
4459
+ # },
4460
+ # service_role: "NonEmptyString",
4461
+ # vpc_config: {
4462
+ # vpc_id: "NonEmptyString",
4463
+ # subnets: ["NonEmptyString"],
4464
+ # security_group_ids: ["NonEmptyString"],
4465
+ # },
4466
+ # },
2761
4467
  # aws_cloud_front_distribution: {
2762
4468
  # domain_name: "NonEmptyString",
2763
4469
  # etag: "NonEmptyString",
@@ -2791,6 +4497,95 @@ module Aws::SecurityHub
2791
4497
  # subnet_id: "NonEmptyString",
2792
4498
  # launched_at: "NonEmptyString",
2793
4499
  # },
4500
+ # aws_ec2_network_interface: {
4501
+ # attachment: {
4502
+ # attach_time: "NonEmptyString",
4503
+ # attachment_id: "NonEmptyString",
4504
+ # delete_on_termination: false,
4505
+ # device_index: 1,
4506
+ # instance_id: "NonEmptyString",
4507
+ # instance_owner_id: "NonEmptyString",
4508
+ # status: "NonEmptyString",
4509
+ # },
4510
+ # network_interface_id: "NonEmptyString",
4511
+ # security_groups: [
4512
+ # {
4513
+ # group_name: "NonEmptyString",
4514
+ # group_id: "NonEmptyString",
4515
+ # },
4516
+ # ],
4517
+ # source_dest_check: false,
4518
+ # },
4519
+ # aws_ec2_security_group: {
4520
+ # group_name: "NonEmptyString",
4521
+ # group_id: "NonEmptyString",
4522
+ # owner_id: "NonEmptyString",
4523
+ # vpc_id: "NonEmptyString",
4524
+ # ip_permissions: [
4525
+ # {
4526
+ # ip_protocol: "NonEmptyString",
4527
+ # from_port: 1,
4528
+ # to_port: 1,
4529
+ # user_id_group_pairs: [
4530
+ # {
4531
+ # group_id: "NonEmptyString",
4532
+ # group_name: "NonEmptyString",
4533
+ # peering_status: "NonEmptyString",
4534
+ # user_id: "NonEmptyString",
4535
+ # vpc_id: "NonEmptyString",
4536
+ # vpc_peering_connection_id: "NonEmptyString",
4537
+ # },
4538
+ # ],
4539
+ # ip_ranges: [
4540
+ # {
4541
+ # cidr_ip: "NonEmptyString",
4542
+ # },
4543
+ # ],
4544
+ # ipv_6_ranges: [
4545
+ # {
4546
+ # cidr_ipv_6: "NonEmptyString",
4547
+ # },
4548
+ # ],
4549
+ # prefix_list_ids: [
4550
+ # {
4551
+ # prefix_list_id: "NonEmptyString",
4552
+ # },
4553
+ # ],
4554
+ # },
4555
+ # ],
4556
+ # ip_permissions_egress: [
4557
+ # {
4558
+ # ip_protocol: "NonEmptyString",
4559
+ # from_port: 1,
4560
+ # to_port: 1,
4561
+ # user_id_group_pairs: [
4562
+ # {
4563
+ # group_id: "NonEmptyString",
4564
+ # group_name: "NonEmptyString",
4565
+ # peering_status: "NonEmptyString",
4566
+ # user_id: "NonEmptyString",
4567
+ # vpc_id: "NonEmptyString",
4568
+ # vpc_peering_connection_id: "NonEmptyString",
4569
+ # },
4570
+ # ],
4571
+ # ip_ranges: [
4572
+ # {
4573
+ # cidr_ip: "NonEmptyString",
4574
+ # },
4575
+ # ],
4576
+ # ipv_6_ranges: [
4577
+ # {
4578
+ # cidr_ipv_6: "NonEmptyString",
4579
+ # },
4580
+ # ],
4581
+ # prefix_list_ids: [
4582
+ # {
4583
+ # prefix_list_id: "NonEmptyString",
4584
+ # },
4585
+ # ],
4586
+ # },
4587
+ # ],
4588
+ # },
2794
4589
  # aws_elbv_2_load_balancer: {
2795
4590
  # availability_zones: [
2796
4591
  # {
@@ -2811,6 +4606,33 @@ module Aws::SecurityHub
2811
4606
  # type: "NonEmptyString",
2812
4607
  # vpc_id: "NonEmptyString",
2813
4608
  # },
4609
+ # aws_elasticsearch_domain: {
4610
+ # access_policies: "NonEmptyString",
4611
+ # domain_endpoint_options: {
4612
+ # enforce_https: false,
4613
+ # tls_security_policy: "NonEmptyString",
4614
+ # },
4615
+ # domain_id: "NonEmptyString",
4616
+ # domain_name: "NonEmptyString",
4617
+ # endpoint: "NonEmptyString",
4618
+ # endpoints: {
4619
+ # "NonEmptyString" => "NonEmptyString",
4620
+ # },
4621
+ # elasticsearch_version: "NonEmptyString",
4622
+ # encryption_at_rest_options: {
4623
+ # enabled: false,
4624
+ # kms_key_id: "NonEmptyString",
4625
+ # },
4626
+ # node_to_node_encryption_options: {
4627
+ # enabled: false,
4628
+ # },
4629
+ # vpc_options: {
4630
+ # availability_zones: ["NonEmptyString"],
4631
+ # security_group_ids: ["NonEmptyString"],
4632
+ # subnet_ids: ["NonEmptyString"],
4633
+ # vpc_id: "NonEmptyString",
4634
+ # },
4635
+ # },
2814
4636
  # aws_s3_bucket: {
2815
4637
  # owner_id: "NonEmptyString",
2816
4638
  # owner_name: "NonEmptyString",
@@ -2883,7 +4705,48 @@ module Aws::SecurityHub
2883
4705
  # subnet_ids: ["NonEmptyString"],
2884
4706
  # vpc_id: "NonEmptyString",
2885
4707
  # },
2886
- # version: "NonEmptyString",
4708
+ # version: "NonEmptyString",
4709
+ # },
4710
+ # aws_lambda_layer_version: {
4711
+ # version: 1,
4712
+ # compatible_runtimes: ["NonEmptyString"],
4713
+ # created_date: "NonEmptyString",
4714
+ # },
4715
+ # aws_rds_db_instance: {
4716
+ # associated_roles: [
4717
+ # {
4718
+ # role_arn: "NonEmptyString",
4719
+ # feature_name: "NonEmptyString",
4720
+ # status: "NonEmptyString",
4721
+ # },
4722
+ # ],
4723
+ # ca_certificate_identifier: "NonEmptyString",
4724
+ # db_cluster_identifier: "NonEmptyString",
4725
+ # db_instance_identifier: "NonEmptyString",
4726
+ # db_instance_class: "NonEmptyString",
4727
+ # db_instance_port: 1,
4728
+ # dbi_resource_id: "NonEmptyString",
4729
+ # db_name: "NonEmptyString",
4730
+ # deletion_protection: false,
4731
+ # endpoint: {
4732
+ # address: "NonEmptyString",
4733
+ # port: 1,
4734
+ # hosted_zone_id: "NonEmptyString",
4735
+ # },
4736
+ # engine: "NonEmptyString",
4737
+ # engine_version: "NonEmptyString",
4738
+ # iam_database_authentication_enabled: false,
4739
+ # instance_create_time: "NonEmptyString",
4740
+ # kms_key_id: "NonEmptyString",
4741
+ # publicly_accessible: false,
4742
+ # storage_encrypted: false,
4743
+ # tde_credential_arn: "NonEmptyString",
4744
+ # vpc_security_groups: [
4745
+ # {
4746
+ # vpc_security_group_id: "NonEmptyString",
4747
+ # status: "NonEmptyString",
4748
+ # },
4749
+ # ],
2887
4750
  # },
2888
4751
  # aws_sns_topic: {
2889
4752
  # kms_master_key_id: "NonEmptyString",
@@ -2902,6 +4765,29 @@ module Aws::SecurityHub
2902
4765
  # queue_name: "NonEmptyString",
2903
4766
  # dead_letter_target_arn: "NonEmptyString",
2904
4767
  # },
4768
+ # aws_waf_web_acl: {
4769
+ # name: "NonEmptyString",
4770
+ # default_action: "NonEmptyString",
4771
+ # rules: [
4772
+ # {
4773
+ # action: {
4774
+ # type: "NonEmptyString",
4775
+ # },
4776
+ # excluded_rules: [
4777
+ # {
4778
+ # rule_id: "NonEmptyString",
4779
+ # },
4780
+ # ],
4781
+ # override_action: {
4782
+ # type: "NonEmptyString",
4783
+ # },
4784
+ # priority: 1,
4785
+ # rule_id: "NonEmptyString",
4786
+ # type: "NonEmptyString",
4787
+ # },
4788
+ # ],
4789
+ # web_acl_id: "NonEmptyString",
4790
+ # },
2905
4791
  # container: {
2906
4792
  # name: "NonEmptyString",
2907
4793
  # image_id: "NonEmptyString",
@@ -2916,6 +4802,7 @@ module Aws::SecurityHub
2916
4802
  # ],
2917
4803
  # compliance: {
2918
4804
  # status: "PASSED", # accepts PASSED, WARNING, FAILED, NOT_AVAILABLE
4805
+ # related_requirements: ["NonEmptyString"],
2919
4806
  # },
2920
4807
  # verification_state: "UNKNOWN", # accepts UNKNOWN, TRUE_POSITIVE, FALSE_POSITIVE, BENIGN_POSITIVE
2921
4808
  # workflow_state: "NEW", # accepts NEW, ASSIGNED, IN_PROGRESS, DEFERRED, RESOLVED
@@ -2961,7 +4848,7 @@ module Aws::SecurityHub
2961
4848
  # @return [Integer]
2962
4849
  #
2963
4850
  # @!attribute [rw] failed_findings
2964
- # The list of the findings that failed to import.
4851
+ # The list of findings that failed to import.
2965
4852
  # @return [Array<Types::ImportFindingsError>]
2966
4853
  #
2967
4854
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindingsResponse AWS API Documentation
@@ -2990,23 +4877,32 @@ module Aws::SecurityHub
2990
4877
  # resource.
2991
4878
  #
2992
4879
  # * `NOT_AVAILABLE` - Check could not be performed due to a service
2993
- # outage or API error.
4880
+ # outage, API error, or because the result of the AWS Config
4881
+ # evaluation was `NOT_APPLICABLE`. If the AWS Config evaluation
4882
+ # result was ` NOT_APPLICABLE`, then after 3 days, Security Hub
4883
+ # automatically archives the finding.
2994
4884
  #
2995
4885
  # @note When making an API call, you may pass Compliance
2996
4886
  # data as a hash:
2997
4887
  #
2998
4888
  # {
2999
4889
  # status: "PASSED", # accepts PASSED, WARNING, FAILED, NOT_AVAILABLE
4890
+ # related_requirements: ["NonEmptyString"],
3000
4891
  # }
3001
4892
  #
3002
4893
  # @!attribute [rw] status
3003
4894
  # The result of a compliance check.
3004
4895
  # @return [String]
3005
4896
  #
4897
+ # @!attribute [rw] related_requirements
4898
+ # List of requirements that are related to a standards control.
4899
+ # @return [Array<String>]
4900
+ #
3006
4901
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/Compliance AWS API Documentation
3007
4902
  #
3008
4903
  class Compliance < Struct.new(
3009
- :status)
4904
+ :status,
4905
+ :related_requirements)
3010
4906
  include Aws::Structure
3011
4907
  end
3012
4908
 
@@ -3652,8 +5548,8 @@ module Aws::SecurityHub
3652
5548
  #
3653
5549
  # @!attribute [rw] filters
3654
5550
  # One or more attributes used to filter the findings included in the
3655
- # insight. Only findings that match the criteria defined in the
3656
- # filters are included in the insight.
5551
+ # insight. The insight only includes findings that match the criteria
5552
+ # defined in the filters.
3657
5553
  # @return [Types::AwsSecurityFindingFilters]
3658
5554
  #
3659
5555
  # @!attribute [rw] group_by_attribute
@@ -3694,8 +5590,9 @@ module Aws::SecurityHub
3694
5590
  # }
3695
5591
  #
3696
5592
  # @!attribute [rw] account_details
3697
- # A list of account ID and email address pairs of the accounts to
3698
- # associate with the Security Hub master account.
5593
+ # The list of accounts to associate with the Security Hub master
5594
+ # account. For each account, the list includes the account ID and the
5595
+ # email address.
3699
5596
  # @return [Array<Types::AccountDetails>]
3700
5597
  #
3701
5598
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembersRequest AWS API Documentation
@@ -3706,8 +5603,8 @@ module Aws::SecurityHub
3706
5603
  end
3707
5604
 
3708
5605
  # @!attribute [rw] unprocessed_accounts
3709
- # A list of account ID and email address pairs of the AWS accounts
3710
- # that weren't processed.
5606
+ # The list of AWS accounts that were not processed. For each account,
5607
+ # the list includes the account ID and the email address.
3711
5608
  # @return [Array<Types::Result>]
3712
5609
  #
3713
5610
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembersResponse AWS API Documentation
@@ -3786,8 +5683,8 @@ module Aws::SecurityHub
3786
5683
  # }
3787
5684
  #
3788
5685
  # @!attribute [rw] account_ids
3789
- # A list of account IDs that specify the accounts that invitations to
3790
- # Security Hub are declined from.
5686
+ # The list of account IDs for the accounts from which to decline the
5687
+ # invitations to Security Hub.
3791
5688
  # @return [Array<String>]
3792
5689
  #
3793
5690
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitationsRequest AWS API Documentation
@@ -3798,8 +5695,8 @@ module Aws::SecurityHub
3798
5695
  end
3799
5696
 
3800
5697
  # @!attribute [rw] unprocessed_accounts
3801
- # A list of account ID and email address pairs of the AWS accounts
3802
- # that weren't processed.
5698
+ # The list of AWS accounts that were not processed. For each account,
5699
+ # the list includes the account ID and the email address.
3803
5700
  # @return [Array<Types::Result>]
3804
5701
  #
3805
5702
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitationsResponse AWS API Documentation
@@ -3875,7 +5772,7 @@ module Aws::SecurityHub
3875
5772
  # }
3876
5773
  #
3877
5774
  # @!attribute [rw] account_ids
3878
- # A list of the account IDs that sent the invitations to delete.
5775
+ # The list of the account IDs that sent the invitations to delete.
3879
5776
  # @return [Array<String>]
3880
5777
  #
3881
5778
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitationsRequest AWS API Documentation
@@ -3886,8 +5783,9 @@ module Aws::SecurityHub
3886
5783
  end
3887
5784
 
3888
5785
  # @!attribute [rw] unprocessed_accounts
3889
- # A list of account ID and email address pairs of the AWS accounts
3890
- # that invitations weren't deleted for.
5786
+ # The list of AWS accounts for which the invitations were not deleted.
5787
+ # For each account, the list includes the account ID and the email
5788
+ # address.
3891
5789
  # @return [Array<Types::Result>]
3892
5790
  #
3893
5791
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitationsResponse AWS API Documentation
@@ -3905,7 +5803,7 @@ module Aws::SecurityHub
3905
5803
  # }
3906
5804
  #
3907
5805
  # @!attribute [rw] account_ids
3908
- # A list of account IDs of the member accounts to delete.
5806
+ # The list of account IDs for the member accounts to delete.
3909
5807
  # @return [Array<String>]
3910
5808
  #
3911
5809
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembersRequest AWS API Documentation
@@ -3916,8 +5814,8 @@ module Aws::SecurityHub
3916
5814
  end
3917
5815
 
3918
5816
  # @!attribute [rw] unprocessed_accounts
3919
- # A list of account ID and email address pairs of the AWS accounts
3920
- # that weren't deleted.
5817
+ # The list of AWS accounts that were not deleted. For each account,
5818
+ # the list includes the account ID and the email address.
3921
5819
  # @return [Array<Types::Result>]
3922
5820
  #
3923
5821
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembersResponse AWS API Documentation
@@ -3995,7 +5893,7 @@ module Aws::SecurityHub
3995
5893
  end
3996
5894
 
3997
5895
  # @!attribute [rw] hub_arn
3998
- # The ARN of the Hub resource retrieved.
5896
+ # The ARN of the Hub resource that was retrieved.
3999
5897
  # @return [String]
4000
5898
  #
4001
5899
  # @!attribute [rw] subscribed_at
@@ -4230,16 +6128,17 @@ module Aws::SecurityHub
4230
6128
  # }
4231
6129
  #
4232
6130
  # @!attribute [rw] standards_subscription_arns
4233
- # A list of the standards subscription ARNs for the standards to
6131
+ # The list of the standards subscription ARNs for the standards to
4234
6132
  # retrieve.
4235
6133
  # @return [Array<String>]
4236
6134
  #
4237
6135
  # @!attribute [rw] next_token
4238
6136
  # Paginates results. On your first call to the `GetEnabledStandards`
4239
- # operation, set the value of this parameter to `NULL`. For subsequent
4240
- # calls to the operation, fill `nextToken` in the request with the
4241
- # value of `nextToken` from the previous response to continue listing
4242
- # data.
6137
+ # operation, set the value of this parameter to `NULL`.
6138
+ #
6139
+ # For subsequent calls to the operation, to continue listing data, set
6140
+ # `nextToken` in the request to the value of `nextToken` from the
6141
+ # previous response.
4243
6142
  # @return [String]
4244
6143
  #
4245
6144
  # @!attribute [rw] max_results
@@ -4256,8 +6155,8 @@ module Aws::SecurityHub
4256
6155
  end
4257
6156
 
4258
6157
  # @!attribute [rw] standards_subscriptions
4259
- # A list of `StandardsSubscriptions` objects that include information
4260
- # about the enabled standards.
6158
+ # The list of `StandardsSubscriptions` objects that include
6159
+ # information about the enabled standards.
4261
6160
  # @return [Array<Types::StandardsSubscription>]
4262
6161
  #
4263
6162
  # @!attribute [rw] next_token
@@ -4836,20 +6735,21 @@ module Aws::SecurityHub
4836
6735
  # }
4837
6736
  #
4838
6737
  # @!attribute [rw] filters
4839
- # The findings attributes used to define a condition to filter the
4840
- # findings returned.
6738
+ # The finding attributes used to define a condition to filter the
6739
+ # returned findings.
4841
6740
  # @return [Types::AwsSecurityFindingFilters]
4842
6741
  #
4843
6742
  # @!attribute [rw] sort_criteria
4844
- # Findings attributes used to sort the list of findings returned.
6743
+ # The finding attributes used to sort the list of returned findings.
4845
6744
  # @return [Array<Types::SortCriterion>]
4846
6745
  #
4847
6746
  # @!attribute [rw] next_token
4848
6747
  # Paginates results. On your first call to the `GetFindings`
4849
- # operation, set the value of this parameter to `NULL`. For subsequent
4850
- # calls to the operation, fill `nextToken` in the request with the
4851
- # value of `nextToken` from the previous response to continue listing
4852
- # data.
6748
+ # operation, set the value of this parameter to `NULL`.
6749
+ #
6750
+ # For subsequent calls to the operation, to continue listing data, set
6751
+ # `nextToken` in the request to the value of `nextToken` from the
6752
+ # previous response.
4853
6753
  # @return [String]
4854
6754
  #
4855
6755
  # @!attribute [rw] max_results
@@ -4890,7 +6790,7 @@ module Aws::SecurityHub
4890
6790
  # }
4891
6791
  #
4892
6792
  # @!attribute [rw] insight_arn
4893
- # The ARN of the insight whose results you want to see.
6793
+ # The ARN of the insight for which to return results.
4894
6794
  # @return [String]
4895
6795
  #
4896
6796
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResultsRequest AWS API Documentation
@@ -4921,19 +6821,18 @@ module Aws::SecurityHub
4921
6821
  # }
4922
6822
  #
4923
6823
  # @!attribute [rw] insight_arns
4924
- # The ARNs of the insights that you want to describe.
6824
+ # The ARNs of the insights to describe.
4925
6825
  # @return [Array<String>]
4926
6826
  #
4927
6827
  # @!attribute [rw] next_token
4928
6828
  # Paginates results. On your first call to the `GetInsights`
4929
6829
  # operation, set the value of this parameter to `NULL`. For subsequent
4930
- # calls to the operation, fill `nextToken` in the request with the
4931
- # value of `nextToken` from the previous response to continue listing
4932
- # data.
6830
+ # calls to the operation, to continue listing data, set `nextToken` in
6831
+ # the request to the value of `nextToken` from the previous response.
4933
6832
  # @return [String]
4934
6833
  #
4935
6834
  # @!attribute [rw] max_results
4936
- # The maximum number of items that you want in the response.
6835
+ # The maximum number of items to return in the response.
4937
6836
  # @return [Integer]
4938
6837
  #
4939
6838
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightsRequest AWS API Documentation
@@ -5005,8 +6904,8 @@ module Aws::SecurityHub
5005
6904
  # }
5006
6905
  #
5007
6906
  # @!attribute [rw] account_ids
5008
- # A list of account IDs for the Security Hub member accounts that you
5009
- # want to return the details for.
6907
+ # The list of account IDs for the Security Hub member accounts to
6908
+ # return the details for.
5010
6909
  # @return [Array<String>]
5011
6910
  #
5012
6911
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembersRequest AWS API Documentation
@@ -5017,12 +6916,12 @@ module Aws::SecurityHub
5017
6916
  end
5018
6917
 
5019
6918
  # @!attribute [rw] members
5020
- # A list of details about the Security Hub member accounts.
6919
+ # The list of details about the Security Hub member accounts.
5021
6920
  # @return [Array<Types::Member>]
5022
6921
  #
5023
6922
  # @!attribute [rw] unprocessed_accounts
5024
- # A list of account ID and email address pairs of the AWS accounts
5025
- # that couldn't be processed.
6923
+ # The list of AWS accounts that could not be processed. For each
6924
+ # account, the list includes the account ID and the email address.
5026
6925
  # @return [Array<Types::Result>]
5027
6926
  #
5028
6927
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembersResponse AWS API Documentation
@@ -5033,7 +6932,7 @@ module Aws::SecurityHub
5033
6932
  include Aws::Structure
5034
6933
  end
5035
6934
 
5036
- # Includes details of the list of the findings that can't be imported.
6935
+ # Includes details of the list of the findings that cannot be imported.
5037
6936
  #
5038
6937
  # @!attribute [rw] id
5039
6938
  # The ID of the error made during the `BatchImportFindings` operation.
@@ -5070,8 +6969,8 @@ module Aws::SecurityHub
5070
6969
  #
5071
6970
  # @!attribute [rw] filters
5072
6971
  # One or more attributes used to filter the findings included in the
5073
- # insight. Only findings that match the criteria defined in the
5074
- # filters are included in the insight.
6972
+ # insight. The insight only includes findings that match the criteria
6973
+ # defined in the filters.
5075
6974
  # @return [Types::AwsSecurityFindingFilters]
5076
6975
  #
5077
6976
  # @!attribute [rw] group_by_attribute
@@ -5204,7 +7103,7 @@ module Aws::SecurityHub
5204
7103
  # @return [Time]
5205
7104
  #
5206
7105
  # @!attribute [rw] member_status
5207
- # The current status of the association between member and master
7106
+ # The current status of the association between the member and master
5208
7107
  # accounts.
5209
7108
  # @return [String]
5210
7109
  #
@@ -5226,8 +7125,8 @@ module Aws::SecurityHub
5226
7125
  # }
5227
7126
  #
5228
7127
  # @!attribute [rw] account_ids
5229
- # A list of IDs of the AWS accounts that you want to invite to
5230
- # Security Hub as members.
7128
+ # The list of account IDs of the AWS accounts to invite to Security
7129
+ # Hub as members.
5231
7130
  # @return [Array<String>]
5232
7131
  #
5233
7132
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembersRequest AWS API Documentation
@@ -5238,8 +7137,8 @@ module Aws::SecurityHub
5238
7137
  end
5239
7138
 
5240
7139
  # @!attribute [rw] unprocessed_accounts
5241
- # A list of account ID and email address pairs of the AWS accounts
5242
- # that couldn't be processed.
7140
+ # The list of AWS accounts that could not be processed. For each
7141
+ # account, the list includes the account ID and the email address.
5243
7142
  # @return [Array<Types::Result>]
5244
7143
  #
5245
7144
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembersResponse AWS API Documentation
@@ -5318,13 +7217,13 @@ module Aws::SecurityHub
5318
7217
  # @!attribute [rw] next_token
5319
7218
  # Paginates results. On your first call to the
5320
7219
  # `ListEnabledProductsForImport` operation, set the value of this
5321
- # parameter to `NULL`. For subsequent calls to the operation, fill
5322
- # `nextToken` in the request with the value of `NextToken` from the
5323
- # previous response to continue listing data.
7220
+ # parameter to `NULL`. For subsequent calls to the operation, to
7221
+ # continue listing data, set `nextToken` in the request to the value
7222
+ # of `NextToken` from the previous response.
5324
7223
  # @return [String]
5325
7224
  #
5326
7225
  # @!attribute [rw] max_results
5327
- # The maximum number of items that you want in the response.
7226
+ # The maximum number of items to return in the response.
5328
7227
  # @return [Integer]
5329
7228
  #
5330
7229
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImportRequest AWS API Documentation
@@ -5336,7 +7235,7 @@ module Aws::SecurityHub
5336
7235
  end
5337
7236
 
5338
7237
  # @!attribute [rw] product_subscriptions
5339
- # A list of ARNs for the resources that represent your subscriptions
7238
+ # The list of ARNs for the resources that represent your subscriptions
5340
7239
  # to products.
5341
7240
  # @return [Array<String>]
5342
7241
  #
@@ -5361,15 +7260,14 @@ module Aws::SecurityHub
5361
7260
  # }
5362
7261
  #
5363
7262
  # @!attribute [rw] max_results
5364
- # The maximum number of items that you want in the response.
7263
+ # The maximum number of items to return in the response.
5365
7264
  # @return [Integer]
5366
7265
  #
5367
7266
  # @!attribute [rw] next_token
5368
7267
  # Paginates results. On your first call to the `ListInvitations`
5369
7268
  # operation, set the value of this parameter to `NULL`. For subsequent
5370
- # calls to the operation, fill `nextToken` in the request with the
5371
- # value of `NextToken` from the previous response to continue listing
5372
- # data.
7269
+ # calls to the operation, to continue listing data, set `nextToken` in
7270
+ # the request to the value of `NextToken` from the previous response.
5373
7271
  # @return [String]
5374
7272
  #
5375
7273
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitationsRequest AWS API Documentation
@@ -5406,23 +7304,27 @@ module Aws::SecurityHub
5406
7304
  # }
5407
7305
  #
5408
7306
  # @!attribute [rw] only_associated
5409
- # Specifies which member accounts the response includes based on their
5410
- # relationship status with the master account. The default value is
5411
- # `TRUE`. If `onlyAssociated` is set to `TRUE`, the response includes
5412
- # member accounts whose relationship status with the master is set to
5413
- # `ENABLED` or `DISABLED`. If `onlyAssociated` is set to `FALSE`, the
5414
- # response includes all existing member accounts.
7307
+ # Specifies which member accounts to include in the response based on
7308
+ # their relationship status with the master account. The default value
7309
+ # is `TRUE`.
7310
+ #
7311
+ # If `onlyAssociated` is set to `TRUE`, the response includes member
7312
+ # accounts whose relationship status with the master is set to
7313
+ # `ENABLED` or `DISABLED`.
7314
+ #
7315
+ # If `onlyAssociated` is set to `FALSE`, the response includes all
7316
+ # existing member accounts.
5415
7317
  # @return [Boolean]
5416
7318
  #
5417
7319
  # @!attribute [rw] max_results
5418
- # The maximum number of items that you want in the response.
7320
+ # The maximum number of items to return in the response.
5419
7321
  # @return [Integer]
5420
7322
  #
5421
7323
  # @!attribute [rw] next_token
5422
- # Paginates results. Set the value of this parameter to `NULL` on your
5423
- # first call to the `ListMembers` operation. For subsequent calls to
5424
- # the operation, fill `nextToken` in the request with the value of
5425
- # `nextToken` from the previous response to continue listing data.
7324
+ # Paginates results. On your first call to the `ListMembers`
7325
+ # operation, set the value of this parameter to `NULL`. For subsequent
7326
+ # calls to the operation, to continue listing data, set `nextToken` in
7327
+ # the request to the value of `nextToken` from the previous response.
5426
7328
  # @return [String]
5427
7329
  #
5428
7330
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembersRequest AWS API Documentation
@@ -5491,9 +7393,12 @@ module Aws::SecurityHub
5491
7393
  #
5492
7394
  # @!attribute [rw] code
5493
7395
  # The state code. The initial state of the load balancer is
5494
- # provisioning. After the load balancer is fully set up and ready to
5495
- # route traffic, its state is active. If the load balancer could not
5496
- # be set up, its state is failed.
7396
+ # provisioning.
7397
+ #
7398
+ # After the load balancer is fully set up and ready to route traffic,
7399
+ # its state is active.
7400
+ #
7401
+ # If the load balancer could not be set up, its state is failed.
5497
7402
  # @return [String]
5498
7403
  #
5499
7404
  # @!attribute [rw] reason
@@ -5992,6 +7897,31 @@ module Aws::SecurityHub
5992
7897
  # "NonEmptyString" => "NonEmptyString",
5993
7898
  # },
5994
7899
  # details: {
7900
+ # aws_code_build_project: {
7901
+ # encryption_key: "NonEmptyString",
7902
+ # environment: {
7903
+ # certificate: "NonEmptyString",
7904
+ # image_pull_credentials_type: "NonEmptyString",
7905
+ # registry_credential: {
7906
+ # credential: "NonEmptyString",
7907
+ # credential_provider: "NonEmptyString",
7908
+ # },
7909
+ # type: "NonEmptyString",
7910
+ # },
7911
+ # name: "NonEmptyString",
7912
+ # source: {
7913
+ # type: "NonEmptyString",
7914
+ # location: "NonEmptyString",
7915
+ # git_clone_depth: 1,
7916
+ # insecure_ssl: false,
7917
+ # },
7918
+ # service_role: "NonEmptyString",
7919
+ # vpc_config: {
7920
+ # vpc_id: "NonEmptyString",
7921
+ # subnets: ["NonEmptyString"],
7922
+ # security_group_ids: ["NonEmptyString"],
7923
+ # },
7924
+ # },
5995
7925
  # aws_cloud_front_distribution: {
5996
7926
  # domain_name: "NonEmptyString",
5997
7927
  # etag: "NonEmptyString",
@@ -6025,6 +7955,95 @@ module Aws::SecurityHub
6025
7955
  # subnet_id: "NonEmptyString",
6026
7956
  # launched_at: "NonEmptyString",
6027
7957
  # },
7958
+ # aws_ec2_network_interface: {
7959
+ # attachment: {
7960
+ # attach_time: "NonEmptyString",
7961
+ # attachment_id: "NonEmptyString",
7962
+ # delete_on_termination: false,
7963
+ # device_index: 1,
7964
+ # instance_id: "NonEmptyString",
7965
+ # instance_owner_id: "NonEmptyString",
7966
+ # status: "NonEmptyString",
7967
+ # },
7968
+ # network_interface_id: "NonEmptyString",
7969
+ # security_groups: [
7970
+ # {
7971
+ # group_name: "NonEmptyString",
7972
+ # group_id: "NonEmptyString",
7973
+ # },
7974
+ # ],
7975
+ # source_dest_check: false,
7976
+ # },
7977
+ # aws_ec2_security_group: {
7978
+ # group_name: "NonEmptyString",
7979
+ # group_id: "NonEmptyString",
7980
+ # owner_id: "NonEmptyString",
7981
+ # vpc_id: "NonEmptyString",
7982
+ # ip_permissions: [
7983
+ # {
7984
+ # ip_protocol: "NonEmptyString",
7985
+ # from_port: 1,
7986
+ # to_port: 1,
7987
+ # user_id_group_pairs: [
7988
+ # {
7989
+ # group_id: "NonEmptyString",
7990
+ # group_name: "NonEmptyString",
7991
+ # peering_status: "NonEmptyString",
7992
+ # user_id: "NonEmptyString",
7993
+ # vpc_id: "NonEmptyString",
7994
+ # vpc_peering_connection_id: "NonEmptyString",
7995
+ # },
7996
+ # ],
7997
+ # ip_ranges: [
7998
+ # {
7999
+ # cidr_ip: "NonEmptyString",
8000
+ # },
8001
+ # ],
8002
+ # ipv_6_ranges: [
8003
+ # {
8004
+ # cidr_ipv_6: "NonEmptyString",
8005
+ # },
8006
+ # ],
8007
+ # prefix_list_ids: [
8008
+ # {
8009
+ # prefix_list_id: "NonEmptyString",
8010
+ # },
8011
+ # ],
8012
+ # },
8013
+ # ],
8014
+ # ip_permissions_egress: [
8015
+ # {
8016
+ # ip_protocol: "NonEmptyString",
8017
+ # from_port: 1,
8018
+ # to_port: 1,
8019
+ # user_id_group_pairs: [
8020
+ # {
8021
+ # group_id: "NonEmptyString",
8022
+ # group_name: "NonEmptyString",
8023
+ # peering_status: "NonEmptyString",
8024
+ # user_id: "NonEmptyString",
8025
+ # vpc_id: "NonEmptyString",
8026
+ # vpc_peering_connection_id: "NonEmptyString",
8027
+ # },
8028
+ # ],
8029
+ # ip_ranges: [
8030
+ # {
8031
+ # cidr_ip: "NonEmptyString",
8032
+ # },
8033
+ # ],
8034
+ # ipv_6_ranges: [
8035
+ # {
8036
+ # cidr_ipv_6: "NonEmptyString",
8037
+ # },
8038
+ # ],
8039
+ # prefix_list_ids: [
8040
+ # {
8041
+ # prefix_list_id: "NonEmptyString",
8042
+ # },
8043
+ # ],
8044
+ # },
8045
+ # ],
8046
+ # },
6028
8047
  # aws_elbv_2_load_balancer: {
6029
8048
  # availability_zones: [
6030
8049
  # {
@@ -6045,6 +8064,33 @@ module Aws::SecurityHub
6045
8064
  # type: "NonEmptyString",
6046
8065
  # vpc_id: "NonEmptyString",
6047
8066
  # },
8067
+ # aws_elasticsearch_domain: {
8068
+ # access_policies: "NonEmptyString",
8069
+ # domain_endpoint_options: {
8070
+ # enforce_https: false,
8071
+ # tls_security_policy: "NonEmptyString",
8072
+ # },
8073
+ # domain_id: "NonEmptyString",
8074
+ # domain_name: "NonEmptyString",
8075
+ # endpoint: "NonEmptyString",
8076
+ # endpoints: {
8077
+ # "NonEmptyString" => "NonEmptyString",
8078
+ # },
8079
+ # elasticsearch_version: "NonEmptyString",
8080
+ # encryption_at_rest_options: {
8081
+ # enabled: false,
8082
+ # kms_key_id: "NonEmptyString",
8083
+ # },
8084
+ # node_to_node_encryption_options: {
8085
+ # enabled: false,
8086
+ # },
8087
+ # vpc_options: {
8088
+ # availability_zones: ["NonEmptyString"],
8089
+ # security_group_ids: ["NonEmptyString"],
8090
+ # subnet_ids: ["NonEmptyString"],
8091
+ # vpc_id: "NonEmptyString",
8092
+ # },
8093
+ # },
6048
8094
  # aws_s3_bucket: {
6049
8095
  # owner_id: "NonEmptyString",
6050
8096
  # owner_name: "NonEmptyString",
@@ -6119,6 +8165,47 @@ module Aws::SecurityHub
6119
8165
  # },
6120
8166
  # version: "NonEmptyString",
6121
8167
  # },
8168
+ # aws_lambda_layer_version: {
8169
+ # version: 1,
8170
+ # compatible_runtimes: ["NonEmptyString"],
8171
+ # created_date: "NonEmptyString",
8172
+ # },
8173
+ # aws_rds_db_instance: {
8174
+ # associated_roles: [
8175
+ # {
8176
+ # role_arn: "NonEmptyString",
8177
+ # feature_name: "NonEmptyString",
8178
+ # status: "NonEmptyString",
8179
+ # },
8180
+ # ],
8181
+ # ca_certificate_identifier: "NonEmptyString",
8182
+ # db_cluster_identifier: "NonEmptyString",
8183
+ # db_instance_identifier: "NonEmptyString",
8184
+ # db_instance_class: "NonEmptyString",
8185
+ # db_instance_port: 1,
8186
+ # dbi_resource_id: "NonEmptyString",
8187
+ # db_name: "NonEmptyString",
8188
+ # deletion_protection: false,
8189
+ # endpoint: {
8190
+ # address: "NonEmptyString",
8191
+ # port: 1,
8192
+ # hosted_zone_id: "NonEmptyString",
8193
+ # },
8194
+ # engine: "NonEmptyString",
8195
+ # engine_version: "NonEmptyString",
8196
+ # iam_database_authentication_enabled: false,
8197
+ # instance_create_time: "NonEmptyString",
8198
+ # kms_key_id: "NonEmptyString",
8199
+ # publicly_accessible: false,
8200
+ # storage_encrypted: false,
8201
+ # tde_credential_arn: "NonEmptyString",
8202
+ # vpc_security_groups: [
8203
+ # {
8204
+ # vpc_security_group_id: "NonEmptyString",
8205
+ # status: "NonEmptyString",
8206
+ # },
8207
+ # ],
8208
+ # },
6122
8209
  # aws_sns_topic: {
6123
8210
  # kms_master_key_id: "NonEmptyString",
6124
8211
  # subscription: [
@@ -6136,6 +8223,29 @@ module Aws::SecurityHub
6136
8223
  # queue_name: "NonEmptyString",
6137
8224
  # dead_letter_target_arn: "NonEmptyString",
6138
8225
  # },
8226
+ # aws_waf_web_acl: {
8227
+ # name: "NonEmptyString",
8228
+ # default_action: "NonEmptyString",
8229
+ # rules: [
8230
+ # {
8231
+ # action: {
8232
+ # type: "NonEmptyString",
8233
+ # },
8234
+ # excluded_rules: [
8235
+ # {
8236
+ # rule_id: "NonEmptyString",
8237
+ # },
8238
+ # ],
8239
+ # override_action: {
8240
+ # type: "NonEmptyString",
8241
+ # },
8242
+ # priority: 1,
8243
+ # rule_id: "NonEmptyString",
8244
+ # type: "NonEmptyString",
8245
+ # },
8246
+ # ],
8247
+ # web_acl_id: "NonEmptyString",
8248
+ # },
6139
8249
  # container: {
6140
8250
  # name: "NonEmptyString",
6141
8251
  # image_id: "NonEmptyString",
@@ -6149,7 +8259,13 @@ module Aws::SecurityHub
6149
8259
  # }
6150
8260
  #
6151
8261
  # @!attribute [rw] type
6152
- # The type of the resource that details are provided for.
8262
+ # The type of the resource that details are provided for. If possible,
8263
+ # set `Type` to one of the supported resource types. For example, if
8264
+ # the resource is an EC2 instance, then set `Type` to
8265
+ # `AwsEc2Instance`.
8266
+ #
8267
+ # If the resource does not match any of the provided types, then set
8268
+ # `Type` to `Other`.
6153
8269
  # @return [String]
6154
8270
  #
6155
8271
  # @!attribute [rw] id
@@ -6205,10 +8321,46 @@ module Aws::SecurityHub
6205
8321
 
6206
8322
  # Additional details about a resource related to a finding.
6207
8323
  #
8324
+ # To provide the details, use the object that corresponds to the
8325
+ # resource type. For example, if the resource type is `AwsEc2Instance`,
8326
+ # then you use the `AwsEc2Instance` object to provide the details.
8327
+ #
8328
+ # If the type-specific object does not contain all of the fields you
8329
+ # want to populate, then you use the `Other` object to populate those
8330
+ # additional fields.
8331
+ #
8332
+ # You also use the `Other` object to populate the details when the
8333
+ # selected type does not have a corresponding object.
8334
+ #
6208
8335
  # @note When making an API call, you may pass ResourceDetails
6209
8336
  # data as a hash:
6210
8337
  #
6211
8338
  # {
8339
+ # aws_code_build_project: {
8340
+ # encryption_key: "NonEmptyString",
8341
+ # environment: {
8342
+ # certificate: "NonEmptyString",
8343
+ # image_pull_credentials_type: "NonEmptyString",
8344
+ # registry_credential: {
8345
+ # credential: "NonEmptyString",
8346
+ # credential_provider: "NonEmptyString",
8347
+ # },
8348
+ # type: "NonEmptyString",
8349
+ # },
8350
+ # name: "NonEmptyString",
8351
+ # source: {
8352
+ # type: "NonEmptyString",
8353
+ # location: "NonEmptyString",
8354
+ # git_clone_depth: 1,
8355
+ # insecure_ssl: false,
8356
+ # },
8357
+ # service_role: "NonEmptyString",
8358
+ # vpc_config: {
8359
+ # vpc_id: "NonEmptyString",
8360
+ # subnets: ["NonEmptyString"],
8361
+ # security_group_ids: ["NonEmptyString"],
8362
+ # },
8363
+ # },
6212
8364
  # aws_cloud_front_distribution: {
6213
8365
  # domain_name: "NonEmptyString",
6214
8366
  # etag: "NonEmptyString",
@@ -6242,6 +8394,95 @@ module Aws::SecurityHub
6242
8394
  # subnet_id: "NonEmptyString",
6243
8395
  # launched_at: "NonEmptyString",
6244
8396
  # },
8397
+ # aws_ec2_network_interface: {
8398
+ # attachment: {
8399
+ # attach_time: "NonEmptyString",
8400
+ # attachment_id: "NonEmptyString",
8401
+ # delete_on_termination: false,
8402
+ # device_index: 1,
8403
+ # instance_id: "NonEmptyString",
8404
+ # instance_owner_id: "NonEmptyString",
8405
+ # status: "NonEmptyString",
8406
+ # },
8407
+ # network_interface_id: "NonEmptyString",
8408
+ # security_groups: [
8409
+ # {
8410
+ # group_name: "NonEmptyString",
8411
+ # group_id: "NonEmptyString",
8412
+ # },
8413
+ # ],
8414
+ # source_dest_check: false,
8415
+ # },
8416
+ # aws_ec2_security_group: {
8417
+ # group_name: "NonEmptyString",
8418
+ # group_id: "NonEmptyString",
8419
+ # owner_id: "NonEmptyString",
8420
+ # vpc_id: "NonEmptyString",
8421
+ # ip_permissions: [
8422
+ # {
8423
+ # ip_protocol: "NonEmptyString",
8424
+ # from_port: 1,
8425
+ # to_port: 1,
8426
+ # user_id_group_pairs: [
8427
+ # {
8428
+ # group_id: "NonEmptyString",
8429
+ # group_name: "NonEmptyString",
8430
+ # peering_status: "NonEmptyString",
8431
+ # user_id: "NonEmptyString",
8432
+ # vpc_id: "NonEmptyString",
8433
+ # vpc_peering_connection_id: "NonEmptyString",
8434
+ # },
8435
+ # ],
8436
+ # ip_ranges: [
8437
+ # {
8438
+ # cidr_ip: "NonEmptyString",
8439
+ # },
8440
+ # ],
8441
+ # ipv_6_ranges: [
8442
+ # {
8443
+ # cidr_ipv_6: "NonEmptyString",
8444
+ # },
8445
+ # ],
8446
+ # prefix_list_ids: [
8447
+ # {
8448
+ # prefix_list_id: "NonEmptyString",
8449
+ # },
8450
+ # ],
8451
+ # },
8452
+ # ],
8453
+ # ip_permissions_egress: [
8454
+ # {
8455
+ # ip_protocol: "NonEmptyString",
8456
+ # from_port: 1,
8457
+ # to_port: 1,
8458
+ # user_id_group_pairs: [
8459
+ # {
8460
+ # group_id: "NonEmptyString",
8461
+ # group_name: "NonEmptyString",
8462
+ # peering_status: "NonEmptyString",
8463
+ # user_id: "NonEmptyString",
8464
+ # vpc_id: "NonEmptyString",
8465
+ # vpc_peering_connection_id: "NonEmptyString",
8466
+ # },
8467
+ # ],
8468
+ # ip_ranges: [
8469
+ # {
8470
+ # cidr_ip: "NonEmptyString",
8471
+ # },
8472
+ # ],
8473
+ # ipv_6_ranges: [
8474
+ # {
8475
+ # cidr_ipv_6: "NonEmptyString",
8476
+ # },
8477
+ # ],
8478
+ # prefix_list_ids: [
8479
+ # {
8480
+ # prefix_list_id: "NonEmptyString",
8481
+ # },
8482
+ # ],
8483
+ # },
8484
+ # ],
8485
+ # },
6245
8486
  # aws_elbv_2_load_balancer: {
6246
8487
  # availability_zones: [
6247
8488
  # {
@@ -6262,6 +8503,33 @@ module Aws::SecurityHub
6262
8503
  # type: "NonEmptyString",
6263
8504
  # vpc_id: "NonEmptyString",
6264
8505
  # },
8506
+ # aws_elasticsearch_domain: {
8507
+ # access_policies: "NonEmptyString",
8508
+ # domain_endpoint_options: {
8509
+ # enforce_https: false,
8510
+ # tls_security_policy: "NonEmptyString",
8511
+ # },
8512
+ # domain_id: "NonEmptyString",
8513
+ # domain_name: "NonEmptyString",
8514
+ # endpoint: "NonEmptyString",
8515
+ # endpoints: {
8516
+ # "NonEmptyString" => "NonEmptyString",
8517
+ # },
8518
+ # elasticsearch_version: "NonEmptyString",
8519
+ # encryption_at_rest_options: {
8520
+ # enabled: false,
8521
+ # kms_key_id: "NonEmptyString",
8522
+ # },
8523
+ # node_to_node_encryption_options: {
8524
+ # enabled: false,
8525
+ # },
8526
+ # vpc_options: {
8527
+ # availability_zones: ["NonEmptyString"],
8528
+ # security_group_ids: ["NonEmptyString"],
8529
+ # subnet_ids: ["NonEmptyString"],
8530
+ # vpc_id: "NonEmptyString",
8531
+ # },
8532
+ # },
6265
8533
  # aws_s3_bucket: {
6266
8534
  # owner_id: "NonEmptyString",
6267
8535
  # owner_name: "NonEmptyString",
@@ -6336,6 +8604,47 @@ module Aws::SecurityHub
6336
8604
  # },
6337
8605
  # version: "NonEmptyString",
6338
8606
  # },
8607
+ # aws_lambda_layer_version: {
8608
+ # version: 1,
8609
+ # compatible_runtimes: ["NonEmptyString"],
8610
+ # created_date: "NonEmptyString",
8611
+ # },
8612
+ # aws_rds_db_instance: {
8613
+ # associated_roles: [
8614
+ # {
8615
+ # role_arn: "NonEmptyString",
8616
+ # feature_name: "NonEmptyString",
8617
+ # status: "NonEmptyString",
8618
+ # },
8619
+ # ],
8620
+ # ca_certificate_identifier: "NonEmptyString",
8621
+ # db_cluster_identifier: "NonEmptyString",
8622
+ # db_instance_identifier: "NonEmptyString",
8623
+ # db_instance_class: "NonEmptyString",
8624
+ # db_instance_port: 1,
8625
+ # dbi_resource_id: "NonEmptyString",
8626
+ # db_name: "NonEmptyString",
8627
+ # deletion_protection: false,
8628
+ # endpoint: {
8629
+ # address: "NonEmptyString",
8630
+ # port: 1,
8631
+ # hosted_zone_id: "NonEmptyString",
8632
+ # },
8633
+ # engine: "NonEmptyString",
8634
+ # engine_version: "NonEmptyString",
8635
+ # iam_database_authentication_enabled: false,
8636
+ # instance_create_time: "NonEmptyString",
8637
+ # kms_key_id: "NonEmptyString",
8638
+ # publicly_accessible: false,
8639
+ # storage_encrypted: false,
8640
+ # tde_credential_arn: "NonEmptyString",
8641
+ # vpc_security_groups: [
8642
+ # {
8643
+ # vpc_security_group_id: "NonEmptyString",
8644
+ # status: "NonEmptyString",
8645
+ # },
8646
+ # ],
8647
+ # },
6339
8648
  # aws_sns_topic: {
6340
8649
  # kms_master_key_id: "NonEmptyString",
6341
8650
  # subscription: [
@@ -6353,6 +8662,29 @@ module Aws::SecurityHub
6353
8662
  # queue_name: "NonEmptyString",
6354
8663
  # dead_letter_target_arn: "NonEmptyString",
6355
8664
  # },
8665
+ # aws_waf_web_acl: {
8666
+ # name: "NonEmptyString",
8667
+ # default_action: "NonEmptyString",
8668
+ # rules: [
8669
+ # {
8670
+ # action: {
8671
+ # type: "NonEmptyString",
8672
+ # },
8673
+ # excluded_rules: [
8674
+ # {
8675
+ # rule_id: "NonEmptyString",
8676
+ # },
8677
+ # ],
8678
+ # override_action: {
8679
+ # type: "NonEmptyString",
8680
+ # },
8681
+ # priority: 1,
8682
+ # rule_id: "NonEmptyString",
8683
+ # type: "NonEmptyString",
8684
+ # },
8685
+ # ],
8686
+ # web_acl_id: "NonEmptyString",
8687
+ # },
6356
8688
  # container: {
6357
8689
  # name: "NonEmptyString",
6358
8690
  # image_id: "NonEmptyString",
@@ -6364,6 +8696,10 @@ module Aws::SecurityHub
6364
8696
  # },
6365
8697
  # }
6366
8698
  #
8699
+ # @!attribute [rw] aws_code_build_project
8700
+ # Details for an AWS CodeBuild project.
8701
+ # @return [Types::AwsCodeBuildProjectDetails]
8702
+ #
6367
8703
  # @!attribute [rw] aws_cloud_front_distribution
6368
8704
  # Details about a CloudFront distribution.
6369
8705
  # @return [Types::AwsCloudFrontDistributionDetails]
@@ -6372,10 +8708,22 @@ module Aws::SecurityHub
6372
8708
  # Details about an Amazon EC2 instance related to a finding.
6373
8709
  # @return [Types::AwsEc2InstanceDetails]
6374
8710
  #
8711
+ # @!attribute [rw] aws_ec2_network_interface
8712
+ # Details for an AWS EC2 network interface.
8713
+ # @return [Types::AwsEc2NetworkInterfaceDetails]
8714
+ #
8715
+ # @!attribute [rw] aws_ec2_security_group
8716
+ # Details for an EC2 security group.
8717
+ # @return [Types::AwsEc2SecurityGroupDetails]
8718
+ #
6375
8719
  # @!attribute [rw] aws_elbv_2_load_balancer
6376
8720
  # Details about a load balancer.
6377
8721
  # @return [Types::AwsElbv2LoadBalancerDetails]
6378
8722
  #
8723
+ # @!attribute [rw] aws_elasticsearch_domain
8724
+ # Details for an Elasticsearch domain.
8725
+ # @return [Types::AwsElasticsearchDomainDetails]
8726
+ #
6379
8727
  # @!attribute [rw] aws_s3_bucket
6380
8728
  # Details about an Amazon S3 Bucket related to a finding.
6381
8729
  # @return [Types::AwsS3BucketDetails]
@@ -6396,6 +8744,14 @@ module Aws::SecurityHub
6396
8744
  # Details about a Lambda function.
6397
8745
  # @return [Types::AwsLambdaFunctionDetails]
6398
8746
  #
8747
+ # @!attribute [rw] aws_lambda_layer_version
8748
+ # Details for a Lambda layer version.
8749
+ # @return [Types::AwsLambdaLayerVersionDetails]
8750
+ #
8751
+ # @!attribute [rw] aws_rds_db_instance
8752
+ # Details for an RDS database instance.
8753
+ # @return [Types::AwsRdsDbInstanceDetails]
8754
+ #
6399
8755
  # @!attribute [rw] aws_sns_topic
6400
8756
  # Details about an SNS topic.
6401
8757
  # @return [Types::AwsSnsTopicDetails]
@@ -6404,27 +8760,48 @@ module Aws::SecurityHub
6404
8760
  # Details about an SQS queue.
6405
8761
  # @return [Types::AwsSqsQueueDetails]
6406
8762
  #
8763
+ # @!attribute [rw] aws_waf_web_acl
8764
+ # Details for a WAF WebACL.
8765
+ # @return [Types::AwsWafWebAclDetails]
8766
+ #
6407
8767
  # @!attribute [rw] container
6408
8768
  # Details about a container resource related to a finding.
6409
8769
  # @return [Types::ContainerDetails]
6410
8770
  #
6411
8771
  # @!attribute [rw] other
6412
- # Details about a resource that doesn't have a specific type defined.
8772
+ # Details about a resource that are not available in a type-specific
8773
+ # details object. Use the `Other` object in the following cases.
8774
+ #
8775
+ # * The type-specific object does not contain all of the fields that
8776
+ # you want to populate. In this case, first use the type-specific
8777
+ # object to populate those fields. Use the `Other` object to
8778
+ # populate the fields that are missing from the type-specific
8779
+ # object.
8780
+ #
8781
+ # * The resource type does not have a corresponding object. This
8782
+ # includes resources for which the type is `Other`.
6413
8783
  # @return [Hash<String,String>]
6414
8784
  #
6415
8785
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ResourceDetails AWS API Documentation
6416
8786
  #
6417
8787
  class ResourceDetails < Struct.new(
8788
+ :aws_code_build_project,
6418
8789
  :aws_cloud_front_distribution,
6419
8790
  :aws_ec2_instance,
8791
+ :aws_ec2_network_interface,
8792
+ :aws_ec2_security_group,
6420
8793
  :aws_elbv_2_load_balancer,
8794
+ :aws_elasticsearch_domain,
6421
8795
  :aws_s3_bucket,
6422
8796
  :aws_iam_access_key,
6423
8797
  :aws_iam_role,
6424
8798
  :aws_kms_key,
6425
8799
  :aws_lambda_function,
8800
+ :aws_lambda_layer_version,
8801
+ :aws_rds_db_instance,
6426
8802
  :aws_sns_topic,
6427
8803
  :aws_sqs_queue,
8804
+ :aws_waf_web_acl,
6428
8805
  :container,
6429
8806
  :other)
6430
8807
  include Aws::Structure
@@ -6447,14 +8824,14 @@ module Aws::SecurityHub
6447
8824
  include Aws::Structure
6448
8825
  end
6449
8826
 
6450
- # Details about the account that wasn't processed.
8827
+ # Details about the account that was not processed.
6451
8828
  #
6452
8829
  # @!attribute [rw] account_id
6453
- # An AWS account ID of the account that wasn't be processed.
8830
+ # An AWS account ID of the account that was not processed.
6454
8831
  # @return [String]
6455
8832
  #
6456
8833
  # @!attribute [rw] processing_result
6457
- # The reason that the account wasn't be processed.
8834
+ # The reason that the account was not processed.
6458
8835
  # @return [String]
6459
8836
  #
6460
8837
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/Result AWS API Documentation
@@ -6705,7 +9082,7 @@ module Aws::SecurityHub
6705
9082
  #
6706
9083
  class TagResourceResponse < Aws::EmptyStructure; end
6707
9084
 
6708
- # Details about the threat intel related to a finding.
9085
+ # Details about the threat intelligence related to a finding.
6709
9086
  #
6710
9087
  # @note When making an API call, you may pass ThreatIntelIndicator
6711
9088
  # data as a hash:
@@ -6720,29 +9097,29 @@ module Aws::SecurityHub
6720
9097
  # }
6721
9098
  #
6722
9099
  # @!attribute [rw] type
6723
- # The type of a threat intel indicator.
9100
+ # The type of threat intelligence indicator.
6724
9101
  # @return [String]
6725
9102
  #
6726
9103
  # @!attribute [rw] value
6727
- # The value of a threat intel indicator.
9104
+ # The value of a threat intelligence indicator.
6728
9105
  # @return [String]
6729
9106
  #
6730
9107
  # @!attribute [rw] category
6731
- # The category of a threat intel indicator.
9108
+ # The category of a threat intelligence indicator.
6732
9109
  # @return [String]
6733
9110
  #
6734
9111
  # @!attribute [rw] last_observed_at
6735
- # The date and time when the most recent instance of a threat intel
6736
- # indicator was observed.
9112
+ # The date and time when the most recent instance of a threat
9113
+ # intelligence indicator was observed.
6737
9114
  # @return [String]
6738
9115
  #
6739
9116
  # @!attribute [rw] source
6740
- # The source of the threat intel indicator.
9117
+ # The source of the threat intelligence indicator.
6741
9118
  # @return [String]
6742
9119
  #
6743
9120
  # @!attribute [rw] source_url
6744
9121
  # The URL to the page or site where you can get more information about
6745
- # the threat intel indicator.
9122
+ # the threat intelligence indicator.
6746
9123
  # @return [String]
6747
9124
  #
6748
9125
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ThreatIntelIndicator AWS API Documentation
@@ -8028,5 +10405,82 @@ module Aws::SecurityHub
8028
10405
  #
8029
10406
  class UpdateStandardsControlResponse < Aws::EmptyStructure; end
8030
10407
 
10408
+ # Details about the action that CloudFront or AWS WAF takes when a web
10409
+ # request matches the conditions in the Rule.
10410
+ #
10411
+ # @note When making an API call, you may pass WafAction
10412
+ # data as a hash:
10413
+ #
10414
+ # {
10415
+ # type: "NonEmptyString",
10416
+ # }
10417
+ #
10418
+ # @!attribute [rw] type
10419
+ # Specifies how you want AWS WAF to respond to requests that match the
10420
+ # settings in a Rule.
10421
+ #
10422
+ # Valid settings include the following:
10423
+ #
10424
+ # * `ALLOW` - AWS WAF allows requests
10425
+ #
10426
+ # * `BLOCK` - AWS WAF blocks requests
10427
+ #
10428
+ # * `COUNT` - AWS WAF increments a counter of the requests that match
10429
+ # all of the conditions in the rule. AWS WAF then continues to
10430
+ # inspect the web request based on the remaining rules in the web
10431
+ # ACL. You can't specify `COUNT` for the default action for a
10432
+ # WebACL.
10433
+ # @return [String]
10434
+ #
10435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/WafAction AWS API Documentation
10436
+ #
10437
+ class WafAction < Struct.new(
10438
+ :type)
10439
+ include Aws::Structure
10440
+ end
10441
+
10442
+ # Details about a rule to exclude from a rule group.
10443
+ #
10444
+ # @note When making an API call, you may pass WafExcludedRule
10445
+ # data as a hash:
10446
+ #
10447
+ # {
10448
+ # rule_id: "NonEmptyString",
10449
+ # }
10450
+ #
10451
+ # @!attribute [rw] rule_id
10452
+ # The unique identifier for the rule to exclude from the rule group.
10453
+ # @return [String]
10454
+ #
10455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/WafExcludedRule AWS API Documentation
10456
+ #
10457
+ class WafExcludedRule < Struct.new(
10458
+ :rule_id)
10459
+ include Aws::Structure
10460
+ end
10461
+
10462
+ # Details about an override action for a rule.
10463
+ #
10464
+ # @note When making an API call, you may pass WafOverrideAction
10465
+ # data as a hash:
10466
+ #
10467
+ # {
10468
+ # type: "NonEmptyString",
10469
+ # }
10470
+ #
10471
+ # @!attribute [rw] type
10472
+ # `COUNT` overrides the action specified by the individual rule within
10473
+ # a RuleGroup .
10474
+ #
10475
+ # If set to `NONE`, the rule's action takes place.
10476
+ # @return [String]
10477
+ #
10478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/WafOverrideAction AWS API Documentation
10479
+ #
10480
+ class WafOverrideAction < Struct.new(
10481
+ :type)
10482
+ include Aws::Structure
10483
+ end
10484
+
8031
10485
  end
8032
10486
  end