aws-sdk-securityhub 1.14.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d3fb50025b4a690e3c88dd82c871ecd21a0fc170
4
- data.tar.gz: d694e7b4306ab70a45a7fec6ebaa8cc670383343
3
+ metadata.gz: 1c05a52e7fa6f9df651af11efde048a6977ad574
4
+ data.tar.gz: 35c8e5d58f0c8eff8a2dc2f12d3c8d2b27ee5cd6
5
5
  SHA512:
6
- metadata.gz: 2e1560a2fa7d3e41e17a4e4a19f7aac3f270dee45527420ec167a1f2b95ff784ef04737f30c9a7d10ceb1f2bf608fcb9d5151a4464162d6a938be9d0b021fa96
7
- data.tar.gz: 0f231a1ec5e5f41dded071aa1d104ffeef94c4e6ceefb43ea9f880d3d6676ccd8acb92b9cbb4a27ad9add032d32112c1552af402b90d19fa9478f45ed1bdab15
6
+ metadata.gz: 5efc69312ab83b36848d4bd32a1ec4f2195404f35b8f437bbac997cf64f94a71c4f49cf8c32074c4135c0b2e95b53de09d25bdd3b15dd3d211761daeebd98c8b
7
+ data.tar.gz: cb77197f10ea6058699efff2a50eb24c5546e4d186d718d6bbfde7b4f3c494a894ca486e4b20e12a8a56eec9164a282b4de56e637e41c6355b5bda9644045998
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-securityhub/customizations'
42
42
  # @service
43
43
  module Aws::SecurityHub
44
44
 
45
- GEM_VERSION = '1.14.0'
45
+ GEM_VERSION = '1.15.0'
46
46
 
47
47
  end
@@ -383,7 +383,8 @@ module Aws::SecurityHub
383
383
  #
384
384
  # @option params [required, Array<Types::AwsSecurityFinding>] :findings
385
385
  # A list of findings to import. To successfully import a finding, it
386
- # must follow the [AWS Security Finding Format][1].
386
+ # must follow the [AWS Security Finding Format][1]. Maximum of 100
387
+ # findings per request.
387
388
  #
388
389
  #
389
390
  #
@@ -480,6 +481,28 @@ module Aws::SecurityHub
480
481
  # "NonEmptyString" => "NonEmptyString",
481
482
  # },
482
483
  # details: {
484
+ # aws_cloud_front_distribution: {
485
+ # domain_name: "NonEmptyString",
486
+ # etag: "NonEmptyString",
487
+ # last_modified_time: "NonEmptyString",
488
+ # logging: {
489
+ # bucket: "NonEmptyString",
490
+ # enabled: false,
491
+ # include_cookies: false,
492
+ # prefix: "NonEmptyString",
493
+ # },
494
+ # origins: {
495
+ # items: [
496
+ # {
497
+ # domain_name: "NonEmptyString",
498
+ # id: "NonEmptyString",
499
+ # origin_path: "NonEmptyString",
500
+ # },
501
+ # ],
502
+ # },
503
+ # status: "NonEmptyString",
504
+ # web_acl_id: "NonEmptyString",
505
+ # },
483
506
  # aws_ec2_instance: {
484
507
  # type: "NonEmptyString",
485
508
  # image_id: "NonEmptyString",
@@ -491,6 +514,26 @@ module Aws::SecurityHub
491
514
  # subnet_id: "NonEmptyString",
492
515
  # launched_at: "NonEmptyString",
493
516
  # },
517
+ # aws_elbv_2_load_balancer: {
518
+ # availability_zones: [
519
+ # {
520
+ # zone_name: "NonEmptyString",
521
+ # subnet_id: "NonEmptyString",
522
+ # },
523
+ # ],
524
+ # canonical_hosted_zone_id: "NonEmptyString",
525
+ # created_time: "NonEmptyString",
526
+ # dns_name: "NonEmptyString",
527
+ # ip_address_type: "NonEmptyString",
528
+ # scheme: "NonEmptyString",
529
+ # security_groups: ["NonEmptyString"],
530
+ # state: {
531
+ # code: "NonEmptyString",
532
+ # reason: "NonEmptyString",
533
+ # },
534
+ # type: "NonEmptyString",
535
+ # vpc_id: "NonEmptyString",
536
+ # },
494
537
  # aws_s3_bucket: {
495
538
  # owner_id: "NonEmptyString",
496
539
  # owner_name: "NonEmptyString",
@@ -499,6 +542,88 @@ module Aws::SecurityHub
499
542
  # user_name: "NonEmptyString",
500
543
  # status: "Active", # accepts Active, Inactive
501
544
  # created_at: "NonEmptyString",
545
+ # principal_id: "NonEmptyString",
546
+ # principal_type: "NonEmptyString",
547
+ # principal_name: "NonEmptyString",
548
+ # },
549
+ # aws_iam_role: {
550
+ # assume_role_policy_document: "AwsIamRoleAssumeRolePolicyDocument",
551
+ # create_date: "NonEmptyString",
552
+ # role_id: "NonEmptyString",
553
+ # role_name: "NonEmptyString",
554
+ # max_session_duration: 1,
555
+ # path: "NonEmptyString",
556
+ # },
557
+ # aws_kms_key: {
558
+ # aws_account_id: "NonEmptyString",
559
+ # creation_date: 1.0,
560
+ # key_id: "NonEmptyString",
561
+ # key_manager: "NonEmptyString",
562
+ # key_state: "NonEmptyString",
563
+ # origin: "NonEmptyString",
564
+ # },
565
+ # aws_lambda_function: {
566
+ # code: {
567
+ # s3_bucket: "NonEmptyString",
568
+ # s3_key: "NonEmptyString",
569
+ # s3_object_version: "NonEmptyString",
570
+ # zip_file: "NonEmptyString",
571
+ # },
572
+ # code_sha_256: "NonEmptyString",
573
+ # dead_letter_config: {
574
+ # target_arn: "NonEmptyString",
575
+ # },
576
+ # environment: {
577
+ # variables: {
578
+ # "NonEmptyString" => "NonEmptyString",
579
+ # },
580
+ # error: {
581
+ # error_code: "NonEmptyString",
582
+ # message: "NonEmptyString",
583
+ # },
584
+ # },
585
+ # function_name: "NonEmptyString",
586
+ # handler: "NonEmptyString",
587
+ # kms_key_arn: "NonEmptyString",
588
+ # last_modified: "NonEmptyString",
589
+ # layers: [
590
+ # {
591
+ # arn: "NonEmptyString",
592
+ # code_size: 1,
593
+ # },
594
+ # ],
595
+ # master_arn: "NonEmptyString",
596
+ # memory_size: 1,
597
+ # revision_id: "NonEmptyString",
598
+ # role: "NonEmptyString",
599
+ # runtime: "NonEmptyString",
600
+ # timeout: 1,
601
+ # tracing_config: {
602
+ # mode: "NonEmptyString",
603
+ # },
604
+ # vpc_config: {
605
+ # security_group_ids: ["NonEmptyString"],
606
+ # subnet_ids: ["NonEmptyString"],
607
+ # vpc_id: "NonEmptyString",
608
+ # },
609
+ # version: "NonEmptyString",
610
+ # },
611
+ # aws_sns_topic: {
612
+ # kms_master_key_id: "NonEmptyString",
613
+ # subscription: [
614
+ # {
615
+ # endpoint: "NonEmptyString",
616
+ # protocol: "NonEmptyString",
617
+ # },
618
+ # ],
619
+ # topic_name: "NonEmptyString",
620
+ # owner: "NonEmptyString",
621
+ # },
622
+ # aws_sqs_queue: {
623
+ # kms_data_key_reuse_period_seconds: 1,
624
+ # kms_master_key_id: "NonEmptyString",
625
+ # queue_name: "NonEmptyString",
626
+ # dead_letter_target_arn: "NonEmptyString",
502
627
  # },
503
628
  # container: {
504
629
  # name: "NonEmptyString",
@@ -1619,7 +1744,8 @@ module Aws::SecurityHub
1619
1744
  end
1620
1745
 
1621
1746
  # Enables Security Hub for your account in the current Region or the
1622
- # Region you specify in the request. When you enable Security Hub, you
1747
+ # Region you specify in the request. Enabling Security Hub also enables
1748
+ # the CIS AWS Foundations standard. When you enable Security Hub, you
1623
1749
  # grant to Security Hub the permissions necessary to gather findings
1624
1750
  # from AWS Config, Amazon GuardDuty, Amazon Inspector, and Amazon Macie.
1625
1751
  # To learn more, see [Setting Up AWS Security Hub][1].
@@ -2345,6 +2471,19 @@ module Aws::SecurityHub
2345
2471
  # resp.findings[0].resources[0].region #=> String
2346
2472
  # resp.findings[0].resources[0].tags #=> Hash
2347
2473
  # resp.findings[0].resources[0].tags["NonEmptyString"] #=> String
2474
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.domain_name #=> String
2475
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.etag #=> String
2476
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.last_modified_time #=> String
2477
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.logging.bucket #=> String
2478
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.logging.enabled #=> Boolean
2479
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.logging.include_cookies #=> Boolean
2480
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.logging.prefix #=> String
2481
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.origins.items #=> Array
2482
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.origins.items[0].domain_name #=> String
2483
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.origins.items[0].id #=> String
2484
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.origins.items[0].origin_path #=> String
2485
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.status #=> String
2486
+ # resp.findings[0].resources[0].details.aws_cloud_front_distribution.web_acl_id #=> String
2348
2487
  # resp.findings[0].resources[0].details.aws_ec2_instance.type #=> String
2349
2488
  # resp.findings[0].resources[0].details.aws_ec2_instance.image_id #=> String
2350
2489
  # resp.findings[0].resources[0].details.aws_ec2_instance.ip_v4_addresses #=> Array
@@ -2356,11 +2495,80 @@ module Aws::SecurityHub
2356
2495
  # resp.findings[0].resources[0].details.aws_ec2_instance.vpc_id #=> String
2357
2496
  # resp.findings[0].resources[0].details.aws_ec2_instance.subnet_id #=> String
2358
2497
  # resp.findings[0].resources[0].details.aws_ec2_instance.launched_at #=> String
2498
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.availability_zones #=> Array
2499
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.availability_zones[0].zone_name #=> String
2500
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.availability_zones[0].subnet_id #=> String
2501
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.canonical_hosted_zone_id #=> String
2502
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.created_time #=> String
2503
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.dns_name #=> String
2504
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.ip_address_type #=> String
2505
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.scheme #=> String
2506
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.security_groups #=> Array
2507
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.security_groups[0] #=> String
2508
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.state.code #=> String
2509
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.state.reason #=> String
2510
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.type #=> String
2511
+ # resp.findings[0].resources[0].details.aws_elbv_2_load_balancer.vpc_id #=> String
2359
2512
  # resp.findings[0].resources[0].details.aws_s3_bucket.owner_id #=> String
2360
2513
  # resp.findings[0].resources[0].details.aws_s3_bucket.owner_name #=> String
2361
2514
  # resp.findings[0].resources[0].details.aws_iam_access_key.user_name #=> String
2362
2515
  # resp.findings[0].resources[0].details.aws_iam_access_key.status #=> String, one of "Active", "Inactive"
2363
2516
  # resp.findings[0].resources[0].details.aws_iam_access_key.created_at #=> String
2517
+ # resp.findings[0].resources[0].details.aws_iam_access_key.principal_id #=> String
2518
+ # resp.findings[0].resources[0].details.aws_iam_access_key.principal_type #=> String
2519
+ # resp.findings[0].resources[0].details.aws_iam_access_key.principal_name #=> String
2520
+ # resp.findings[0].resources[0].details.aws_iam_role.assume_role_policy_document #=> String
2521
+ # resp.findings[0].resources[0].details.aws_iam_role.create_date #=> String
2522
+ # resp.findings[0].resources[0].details.aws_iam_role.role_id #=> String
2523
+ # resp.findings[0].resources[0].details.aws_iam_role.role_name #=> String
2524
+ # resp.findings[0].resources[0].details.aws_iam_role.max_session_duration #=> Integer
2525
+ # resp.findings[0].resources[0].details.aws_iam_role.path #=> String
2526
+ # resp.findings[0].resources[0].details.aws_kms_key.aws_account_id #=> String
2527
+ # resp.findings[0].resources[0].details.aws_kms_key.creation_date #=> Float
2528
+ # resp.findings[0].resources[0].details.aws_kms_key.key_id #=> String
2529
+ # resp.findings[0].resources[0].details.aws_kms_key.key_manager #=> String
2530
+ # resp.findings[0].resources[0].details.aws_kms_key.key_state #=> String
2531
+ # resp.findings[0].resources[0].details.aws_kms_key.origin #=> String
2532
+ # resp.findings[0].resources[0].details.aws_lambda_function.code.s3_bucket #=> String
2533
+ # resp.findings[0].resources[0].details.aws_lambda_function.code.s3_key #=> String
2534
+ # resp.findings[0].resources[0].details.aws_lambda_function.code.s3_object_version #=> String
2535
+ # resp.findings[0].resources[0].details.aws_lambda_function.code.zip_file #=> String
2536
+ # resp.findings[0].resources[0].details.aws_lambda_function.code_sha_256 #=> String
2537
+ # resp.findings[0].resources[0].details.aws_lambda_function.dead_letter_config.target_arn #=> String
2538
+ # resp.findings[0].resources[0].details.aws_lambda_function.environment.variables #=> Hash
2539
+ # resp.findings[0].resources[0].details.aws_lambda_function.environment.variables["NonEmptyString"] #=> String
2540
+ # resp.findings[0].resources[0].details.aws_lambda_function.environment.error.error_code #=> String
2541
+ # resp.findings[0].resources[0].details.aws_lambda_function.environment.error.message #=> String
2542
+ # resp.findings[0].resources[0].details.aws_lambda_function.function_name #=> String
2543
+ # resp.findings[0].resources[0].details.aws_lambda_function.handler #=> String
2544
+ # resp.findings[0].resources[0].details.aws_lambda_function.kms_key_arn #=> String
2545
+ # resp.findings[0].resources[0].details.aws_lambda_function.last_modified #=> String
2546
+ # resp.findings[0].resources[0].details.aws_lambda_function.layers #=> Array
2547
+ # resp.findings[0].resources[0].details.aws_lambda_function.layers[0].arn #=> String
2548
+ # resp.findings[0].resources[0].details.aws_lambda_function.layers[0].code_size #=> Integer
2549
+ # resp.findings[0].resources[0].details.aws_lambda_function.master_arn #=> String
2550
+ # resp.findings[0].resources[0].details.aws_lambda_function.memory_size #=> Integer
2551
+ # resp.findings[0].resources[0].details.aws_lambda_function.revision_id #=> String
2552
+ # resp.findings[0].resources[0].details.aws_lambda_function.role #=> String
2553
+ # resp.findings[0].resources[0].details.aws_lambda_function.runtime #=> String
2554
+ # resp.findings[0].resources[0].details.aws_lambda_function.timeout #=> Integer
2555
+ # resp.findings[0].resources[0].details.aws_lambda_function.tracing_config.mode #=> String
2556
+ # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.security_group_ids #=> Array
2557
+ # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.security_group_ids[0] #=> String
2558
+ # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.subnet_ids #=> Array
2559
+ # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.subnet_ids[0] #=> String
2560
+ # resp.findings[0].resources[0].details.aws_lambda_function.vpc_config.vpc_id #=> String
2561
+ # resp.findings[0].resources[0].details.aws_lambda_function.version #=> String
2562
+ # resp.findings[0].resources[0].details.aws_sns_topic.kms_master_key_id #=> String
2563
+ # resp.findings[0].resources[0].details.aws_sns_topic.subscription #=> Array
2564
+ # resp.findings[0].resources[0].details.aws_sns_topic.subscription[0].endpoint #=> String
2565
+ # resp.findings[0].resources[0].details.aws_sns_topic.subscription[0].protocol #=> String
2566
+ # resp.findings[0].resources[0].details.aws_sns_topic.topic_name #=> String
2567
+ # resp.findings[0].resources[0].details.aws_sns_topic.owner #=> String
2568
+ # resp.findings[0].resources[0].details.aws_sqs_queue.kms_data_key_reuse_period_seconds #=> Integer
2569
+ # resp.findings[0].resources[0].details.aws_sqs_queue.kms_master_key_id #=> String
2570
+ # resp.findings[0].resources[0].details.aws_sqs_queue.queue_name #=> String
2571
+ # resp.findings[0].resources[0].details.aws_sqs_queue.dead_letter_target_arn #=> String
2364
2572
  # resp.findings[0].resources[0].details.container.name #=> String
2365
2573
  # resp.findings[0].resources[0].details.container.image_id #=> String
2366
2574
  # resp.findings[0].resources[0].details.container.image_name #=> String
@@ -4290,7 +4498,7 @@ module Aws::SecurityHub
4290
4498
  params: params,
4291
4499
  config: config)
4292
4500
  context[:gem_name] = 'aws-sdk-securityhub'
4293
- context[:gem_version] = '1.14.0'
4501
+ context[:gem_version] = '1.15.0'
4294
4502
  Seahorse::Client::Request.new(handlers, context)
4295
4503
  end
4296
4504
 
@@ -21,13 +21,37 @@ module Aws::SecurityHub
21
21
  ActionTarget = Shapes::StructureShape.new(name: 'ActionTarget')
22
22
  ActionTargetList = Shapes::ListShape.new(name: 'ActionTargetList')
23
23
  ArnList = Shapes::ListShape.new(name: 'ArnList')
24
+ AvailabilityZone = Shapes::StructureShape.new(name: 'AvailabilityZone')
25
+ AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
26
+ AwsCloudFrontDistributionDetails = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionDetails')
27
+ AwsCloudFrontDistributionLogging = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionLogging')
28
+ AwsCloudFrontDistributionOriginItem = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionOriginItem')
29
+ AwsCloudFrontDistributionOriginItemList = Shapes::ListShape.new(name: 'AwsCloudFrontDistributionOriginItemList')
30
+ AwsCloudFrontDistributionOrigins = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionOrigins')
24
31
  AwsEc2InstanceDetails = Shapes::StructureShape.new(name: 'AwsEc2InstanceDetails')
32
+ AwsElbv2LoadBalancerDetails = Shapes::StructureShape.new(name: 'AwsElbv2LoadBalancerDetails')
25
33
  AwsIamAccessKeyDetails = Shapes::StructureShape.new(name: 'AwsIamAccessKeyDetails')
26
34
  AwsIamAccessKeyStatus = Shapes::StringShape.new(name: 'AwsIamAccessKeyStatus')
35
+ AwsIamRoleAssumeRolePolicyDocument = Shapes::StringShape.new(name: 'AwsIamRoleAssumeRolePolicyDocument')
36
+ AwsIamRoleDetails = Shapes::StructureShape.new(name: 'AwsIamRoleDetails')
37
+ AwsKmsKeyDetails = Shapes::StructureShape.new(name: 'AwsKmsKeyDetails')
38
+ AwsLambdaFunctionCode = Shapes::StructureShape.new(name: 'AwsLambdaFunctionCode')
39
+ AwsLambdaFunctionDeadLetterConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionDeadLetterConfig')
40
+ AwsLambdaFunctionDetails = Shapes::StructureShape.new(name: 'AwsLambdaFunctionDetails')
41
+ AwsLambdaFunctionEnvironment = Shapes::StructureShape.new(name: 'AwsLambdaFunctionEnvironment')
42
+ AwsLambdaFunctionEnvironmentError = Shapes::StructureShape.new(name: 'AwsLambdaFunctionEnvironmentError')
43
+ AwsLambdaFunctionLayer = Shapes::StructureShape.new(name: 'AwsLambdaFunctionLayer')
44
+ AwsLambdaFunctionLayerList = Shapes::ListShape.new(name: 'AwsLambdaFunctionLayerList')
45
+ AwsLambdaFunctionTracingConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionTracingConfig')
46
+ AwsLambdaFunctionVpcConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionVpcConfig')
27
47
  AwsS3BucketDetails = Shapes::StructureShape.new(name: 'AwsS3BucketDetails')
28
48
  AwsSecurityFinding = Shapes::StructureShape.new(name: 'AwsSecurityFinding')
29
49
  AwsSecurityFindingFilters = Shapes::StructureShape.new(name: 'AwsSecurityFindingFilters')
30
50
  AwsSecurityFindingList = Shapes::ListShape.new(name: 'AwsSecurityFindingList')
51
+ AwsSnsTopicDetails = Shapes::StructureShape.new(name: 'AwsSnsTopicDetails')
52
+ AwsSnsTopicSubscription = Shapes::StructureShape.new(name: 'AwsSnsTopicSubscription')
53
+ AwsSnsTopicSubscriptionList = Shapes::ListShape.new(name: 'AwsSnsTopicSubscriptionList')
54
+ AwsSqsQueueDetails = Shapes::StructureShape.new(name: 'AwsSqsQueueDetails')
31
55
  BatchDisableStandardsRequest = Shapes::StructureShape.new(name: 'BatchDisableStandardsRequest')
32
56
  BatchDisableStandardsResponse = Shapes::StructureShape.new(name: 'BatchDisableStandardsResponse')
33
57
  BatchEnableStandardsRequest = Shapes::StructureShape.new(name: 'BatchEnableStandardsRequest')
@@ -121,6 +145,7 @@ module Aws::SecurityHub
121
145
  ListMembersResponse = Shapes::StructureShape.new(name: 'ListMembersResponse')
122
146
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
123
147
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
148
+ LoadBalancerState = Shapes::StructureShape.new(name: 'LoadBalancerState')
124
149
  Malware = Shapes::StructureShape.new(name: 'Malware')
125
150
  MalwareList = Shapes::ListShape.new(name: 'MalwareList')
126
151
  MalwareState = Shapes::StringShape.new(name: 'MalwareState')
@@ -135,6 +160,7 @@ module Aws::SecurityHub
135
160
  NetworkDirection = Shapes::StringShape.new(name: 'NetworkDirection')
136
161
  NextToken = Shapes::StringShape.new(name: 'NextToken')
137
162
  NonEmptyString = Shapes::StringShape.new(name: 'NonEmptyString')
163
+ NonEmptyStringList = Shapes::ListShape.new(name: 'NonEmptyStringList')
138
164
  Note = Shapes::StructureShape.new(name: 'Note')
139
165
  NoteUpdate = Shapes::StructureShape.new(name: 'NoteUpdate')
140
166
  NumberFilter = Shapes::StructureShape.new(name: 'NumberFilter')
@@ -157,6 +183,7 @@ module Aws::SecurityHub
157
183
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
158
184
  Result = Shapes::StructureShape.new(name: 'Result')
159
185
  ResultList = Shapes::ListShape.new(name: 'ResultList')
186
+ SecurityGroups = Shapes::ListShape.new(name: 'SecurityGroups')
160
187
  Severity = Shapes::StructureShape.new(name: 'Severity')
161
188
  SortCriteria = Shapes::ListShape.new(name: 'SortCriteria')
162
189
  SortCriterion = Shapes::StructureShape.new(name: 'SortCriterion')
@@ -222,6 +249,37 @@ module Aws::SecurityHub
222
249
 
223
250
  ArnList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
224
251
 
252
+ AvailabilityZone.add_member(:zone_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ZoneName"))
253
+ AvailabilityZone.add_member(:subnet_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubnetId"))
254
+ AvailabilityZone.struct_class = Types::AvailabilityZone
255
+
256
+ AvailabilityZones.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
257
+
258
+ AwsCloudFrontDistributionDetails.add_member(:domain_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainName"))
259
+ AwsCloudFrontDistributionDetails.add_member(:etag, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ETag"))
260
+ AwsCloudFrontDistributionDetails.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LastModifiedTime"))
261
+ AwsCloudFrontDistributionDetails.add_member(:logging, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionLogging, location_name: "Logging"))
262
+ AwsCloudFrontDistributionDetails.add_member(:origins, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionOrigins, location_name: "Origins"))
263
+ AwsCloudFrontDistributionDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
264
+ AwsCloudFrontDistributionDetails.add_member(:web_acl_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "WebAclId"))
265
+ AwsCloudFrontDistributionDetails.struct_class = Types::AwsCloudFrontDistributionDetails
266
+
267
+ AwsCloudFrontDistributionLogging.add_member(:bucket, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Bucket"))
268
+ AwsCloudFrontDistributionLogging.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
269
+ AwsCloudFrontDistributionLogging.add_member(:include_cookies, Shapes::ShapeRef.new(shape: Boolean, location_name: "IncludeCookies"))
270
+ AwsCloudFrontDistributionLogging.add_member(:prefix, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Prefix"))
271
+ AwsCloudFrontDistributionLogging.struct_class = Types::AwsCloudFrontDistributionLogging
272
+
273
+ AwsCloudFrontDistributionOriginItem.add_member(:domain_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainName"))
274
+ AwsCloudFrontDistributionOriginItem.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Id"))
275
+ AwsCloudFrontDistributionOriginItem.add_member(:origin_path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OriginPath"))
276
+ AwsCloudFrontDistributionOriginItem.struct_class = Types::AwsCloudFrontDistributionOriginItem
277
+
278
+ AwsCloudFrontDistributionOriginItemList.member = Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionOriginItem)
279
+
280
+ AwsCloudFrontDistributionOrigins.add_member(:items, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionOriginItemList, location_name: "Items"))
281
+ AwsCloudFrontDistributionOrigins.struct_class = Types::AwsCloudFrontDistributionOrigins
282
+
225
283
  AwsEc2InstanceDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
226
284
  AwsEc2InstanceDetails.add_member(:image_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ImageId"))
227
285
  AwsEc2InstanceDetails.add_member(:ip_v4_addresses, Shapes::ShapeRef.new(shape: StringList, location_name: "IpV4Addresses"))
@@ -233,11 +291,93 @@ module Aws::SecurityHub
233
291
  AwsEc2InstanceDetails.add_member(:launched_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LaunchedAt"))
234
292
  AwsEc2InstanceDetails.struct_class = Types::AwsEc2InstanceDetails
235
293
 
236
- AwsIamAccessKeyDetails.add_member(:user_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UserName"))
294
+ AwsElbv2LoadBalancerDetails.add_member(:availability_zones, Shapes::ShapeRef.new(shape: AvailabilityZones, location_name: "AvailabilityZones"))
295
+ AwsElbv2LoadBalancerDetails.add_member(:canonical_hosted_zone_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CanonicalHostedZoneId"))
296
+ AwsElbv2LoadBalancerDetails.add_member(:created_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedTime"))
297
+ AwsElbv2LoadBalancerDetails.add_member(:dns_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DNSName"))
298
+ AwsElbv2LoadBalancerDetails.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IpAddressType"))
299
+ AwsElbv2LoadBalancerDetails.add_member(:scheme, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Scheme"))
300
+ AwsElbv2LoadBalancerDetails.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroups"))
301
+ AwsElbv2LoadBalancerDetails.add_member(:state, Shapes::ShapeRef.new(shape: LoadBalancerState, location_name: "State"))
302
+ AwsElbv2LoadBalancerDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
303
+ AwsElbv2LoadBalancerDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
304
+ AwsElbv2LoadBalancerDetails.struct_class = Types::AwsElbv2LoadBalancerDetails
305
+
306
+ AwsIamAccessKeyDetails.add_member(:user_name, Shapes::ShapeRef.new(shape: NonEmptyString, deprecated: true, location_name: "UserName", metadata: {"deprecatedMessage"=>"This field is deprecated, use PrincipalName instead."}))
237
307
  AwsIamAccessKeyDetails.add_member(:status, Shapes::ShapeRef.new(shape: AwsIamAccessKeyStatus, location_name: "Status"))
238
308
  AwsIamAccessKeyDetails.add_member(:created_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedAt"))
309
+ AwsIamAccessKeyDetails.add_member(:principal_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrincipalId"))
310
+ AwsIamAccessKeyDetails.add_member(:principal_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrincipalType"))
311
+ AwsIamAccessKeyDetails.add_member(:principal_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrincipalName"))
239
312
  AwsIamAccessKeyDetails.struct_class = Types::AwsIamAccessKeyDetails
240
313
 
314
+ AwsIamRoleDetails.add_member(:assume_role_policy_document, Shapes::ShapeRef.new(shape: AwsIamRoleAssumeRolePolicyDocument, location_name: "AssumeRolePolicyDocument"))
315
+ AwsIamRoleDetails.add_member(:create_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreateDate"))
316
+ AwsIamRoleDetails.add_member(:role_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleId"))
317
+ AwsIamRoleDetails.add_member(:role_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleName"))
318
+ AwsIamRoleDetails.add_member(:max_session_duration, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxSessionDuration"))
319
+ AwsIamRoleDetails.add_member(:path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Path"))
320
+ AwsIamRoleDetails.struct_class = Types::AwsIamRoleDetails
321
+
322
+ AwsKmsKeyDetails.add_member(:aws_account_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AWSAccountId"))
323
+ AwsKmsKeyDetails.add_member(:creation_date, Shapes::ShapeRef.new(shape: Double, location_name: "CreationDate"))
324
+ AwsKmsKeyDetails.add_member(:key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyId"))
325
+ AwsKmsKeyDetails.add_member(:key_manager, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyManager"))
326
+ AwsKmsKeyDetails.add_member(:key_state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyState"))
327
+ AwsKmsKeyDetails.add_member(:origin, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Origin"))
328
+ AwsKmsKeyDetails.struct_class = Types::AwsKmsKeyDetails
329
+
330
+ AwsLambdaFunctionCode.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "S3Bucket"))
331
+ AwsLambdaFunctionCode.add_member(:s3_key, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "S3Key"))
332
+ AwsLambdaFunctionCode.add_member(:s3_object_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "S3ObjectVersion"))
333
+ AwsLambdaFunctionCode.add_member(:zip_file, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ZipFile"))
334
+ AwsLambdaFunctionCode.struct_class = Types::AwsLambdaFunctionCode
335
+
336
+ AwsLambdaFunctionDeadLetterConfig.add_member(:target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TargetArn"))
337
+ AwsLambdaFunctionDeadLetterConfig.struct_class = Types::AwsLambdaFunctionDeadLetterConfig
338
+
339
+ AwsLambdaFunctionDetails.add_member(:code, Shapes::ShapeRef.new(shape: AwsLambdaFunctionCode, location_name: "Code"))
340
+ AwsLambdaFunctionDetails.add_member(:code_sha_256, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CodeSha256"))
341
+ AwsLambdaFunctionDetails.add_member(:dead_letter_config, Shapes::ShapeRef.new(shape: AwsLambdaFunctionDeadLetterConfig, location_name: "DeadLetterConfig"))
342
+ AwsLambdaFunctionDetails.add_member(:environment, Shapes::ShapeRef.new(shape: AwsLambdaFunctionEnvironment, location_name: "Environment"))
343
+ AwsLambdaFunctionDetails.add_member(:function_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FunctionName"))
344
+ AwsLambdaFunctionDetails.add_member(:handler, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Handler"))
345
+ AwsLambdaFunctionDetails.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyArn"))
346
+ AwsLambdaFunctionDetails.add_member(:last_modified, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LastModified"))
347
+ AwsLambdaFunctionDetails.add_member(:layers, Shapes::ShapeRef.new(shape: AwsLambdaFunctionLayerList, location_name: "Layers"))
348
+ AwsLambdaFunctionDetails.add_member(:master_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MasterArn"))
349
+ AwsLambdaFunctionDetails.add_member(:memory_size, Shapes::ShapeRef.new(shape: Integer, location_name: "MemorySize"))
350
+ AwsLambdaFunctionDetails.add_member(:revision_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RevisionId"))
351
+ AwsLambdaFunctionDetails.add_member(:role, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Role"))
352
+ AwsLambdaFunctionDetails.add_member(:runtime, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Runtime"))
353
+ AwsLambdaFunctionDetails.add_member(:timeout, Shapes::ShapeRef.new(shape: Integer, location_name: "Timeout"))
354
+ AwsLambdaFunctionDetails.add_member(:tracing_config, Shapes::ShapeRef.new(shape: AwsLambdaFunctionTracingConfig, location_name: "TracingConfig"))
355
+ AwsLambdaFunctionDetails.add_member(:vpc_config, Shapes::ShapeRef.new(shape: AwsLambdaFunctionVpcConfig, location_name: "VpcConfig"))
356
+ AwsLambdaFunctionDetails.add_member(:version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Version"))
357
+ AwsLambdaFunctionDetails.struct_class = Types::AwsLambdaFunctionDetails
358
+
359
+ AwsLambdaFunctionEnvironment.add_member(:variables, Shapes::ShapeRef.new(shape: FieldMap, location_name: "Variables"))
360
+ AwsLambdaFunctionEnvironment.add_member(:error, Shapes::ShapeRef.new(shape: AwsLambdaFunctionEnvironmentError, location_name: "Error"))
361
+ AwsLambdaFunctionEnvironment.struct_class = Types::AwsLambdaFunctionEnvironment
362
+
363
+ AwsLambdaFunctionEnvironmentError.add_member(:error_code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ErrorCode"))
364
+ AwsLambdaFunctionEnvironmentError.add_member(:message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Message"))
365
+ AwsLambdaFunctionEnvironmentError.struct_class = Types::AwsLambdaFunctionEnvironmentError
366
+
367
+ AwsLambdaFunctionLayer.add_member(:arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Arn"))
368
+ AwsLambdaFunctionLayer.add_member(:code_size, Shapes::ShapeRef.new(shape: Integer, location_name: "CodeSize"))
369
+ AwsLambdaFunctionLayer.struct_class = Types::AwsLambdaFunctionLayer
370
+
371
+ AwsLambdaFunctionLayerList.member = Shapes::ShapeRef.new(shape: AwsLambdaFunctionLayer)
372
+
373
+ AwsLambdaFunctionTracingConfig.add_member(:mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Mode"))
374
+ AwsLambdaFunctionTracingConfig.struct_class = Types::AwsLambdaFunctionTracingConfig
375
+
376
+ AwsLambdaFunctionVpcConfig.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroupIds"))
377
+ AwsLambdaFunctionVpcConfig.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SubnetIds"))
378
+ AwsLambdaFunctionVpcConfig.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
379
+ AwsLambdaFunctionVpcConfig.struct_class = Types::AwsLambdaFunctionVpcConfig
380
+
241
381
  AwsS3BucketDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
242
382
  AwsS3BucketDetails.add_member(:owner_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerName"))
243
383
  AwsS3BucketDetails.struct_class = Types::AwsS3BucketDetails
@@ -361,6 +501,24 @@ module Aws::SecurityHub
361
501
 
362
502
  AwsSecurityFindingList.member = Shapes::ShapeRef.new(shape: AwsSecurityFinding)
363
503
 
504
+ AwsSnsTopicDetails.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsMasterKeyId"))
505
+ AwsSnsTopicDetails.add_member(:subscription, Shapes::ShapeRef.new(shape: AwsSnsTopicSubscriptionList, location_name: "Subscription"))
506
+ AwsSnsTopicDetails.add_member(:topic_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TopicName"))
507
+ AwsSnsTopicDetails.add_member(:owner, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Owner"))
508
+ AwsSnsTopicDetails.struct_class = Types::AwsSnsTopicDetails
509
+
510
+ AwsSnsTopicSubscription.add_member(:endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Endpoint"))
511
+ AwsSnsTopicSubscription.add_member(:protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Protocol"))
512
+ AwsSnsTopicSubscription.struct_class = Types::AwsSnsTopicSubscription
513
+
514
+ AwsSnsTopicSubscriptionList.member = Shapes::ShapeRef.new(shape: AwsSnsTopicSubscription)
515
+
516
+ AwsSqsQueueDetails.add_member(:kms_data_key_reuse_period_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "KmsDataKeyReusePeriodSeconds"))
517
+ AwsSqsQueueDetails.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsMasterKeyId"))
518
+ AwsSqsQueueDetails.add_member(:queue_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "QueueName"))
519
+ AwsSqsQueueDetails.add_member(:dead_letter_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DeadLetterTargetArn"))
520
+ AwsSqsQueueDetails.struct_class = Types::AwsSqsQueueDetails
521
+
364
522
  BatchDisableStandardsRequest.add_member(:standards_subscription_arns, Shapes::ShapeRef.new(shape: StandardsSubscriptionArns, required: true, location_name: "StandardsSubscriptionArns"))
365
523
  BatchDisableStandardsRequest.struct_class = Types::BatchDisableStandardsRequest
366
524
 
@@ -659,6 +817,10 @@ module Aws::SecurityHub
659
817
  ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
660
818
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
661
819
 
820
+ LoadBalancerState.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Code"))
821
+ LoadBalancerState.add_member(:reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Reason"))
822
+ LoadBalancerState.struct_class = Types::LoadBalancerState
823
+
662
824
  Malware.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
663
825
  Malware.add_member(:type, Shapes::ShapeRef.new(shape: MalwareType, location_name: "Type"))
664
826
  Malware.add_member(:path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Path"))
@@ -697,6 +859,8 @@ module Aws::SecurityHub
697
859
  Network.add_member(:destination_domain, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationDomain"))
698
860
  Network.struct_class = Types::Network
699
861
 
862
+ NonEmptyStringList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
863
+
700
864
  Note.add_member(:text, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Text"))
701
865
  Note.add_member(:updated_by, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "UpdatedBy"))
702
866
  Note.add_member(:updated_at, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "UpdatedAt"))
@@ -760,9 +924,16 @@ module Aws::SecurityHub
760
924
  ResourceConflictException.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Code"))
761
925
  ResourceConflictException.struct_class = Types::ResourceConflictException
762
926
 
927
+ ResourceDetails.add_member(:aws_cloud_front_distribution, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionDetails, location_name: "AwsCloudFrontDistribution"))
763
928
  ResourceDetails.add_member(:aws_ec2_instance, Shapes::ShapeRef.new(shape: AwsEc2InstanceDetails, location_name: "AwsEc2Instance"))
929
+ ResourceDetails.add_member(:aws_elbv_2_load_balancer, Shapes::ShapeRef.new(shape: AwsElbv2LoadBalancerDetails, location_name: "AwsElbv2LoadBalancer"))
764
930
  ResourceDetails.add_member(:aws_s3_bucket, Shapes::ShapeRef.new(shape: AwsS3BucketDetails, location_name: "AwsS3Bucket"))
765
931
  ResourceDetails.add_member(:aws_iam_access_key, Shapes::ShapeRef.new(shape: AwsIamAccessKeyDetails, location_name: "AwsIamAccessKey"))
932
+ ResourceDetails.add_member(:aws_iam_role, Shapes::ShapeRef.new(shape: AwsIamRoleDetails, location_name: "AwsIamRole"))
933
+ ResourceDetails.add_member(:aws_kms_key, Shapes::ShapeRef.new(shape: AwsKmsKeyDetails, location_name: "AwsKmsKey"))
934
+ ResourceDetails.add_member(:aws_lambda_function, Shapes::ShapeRef.new(shape: AwsLambdaFunctionDetails, location_name: "AwsLambdaFunction"))
935
+ ResourceDetails.add_member(:aws_sns_topic, Shapes::ShapeRef.new(shape: AwsSnsTopicDetails, location_name: "AwsSnsTopic"))
936
+ ResourceDetails.add_member(:aws_sqs_queue, Shapes::ShapeRef.new(shape: AwsSqsQueueDetails, location_name: "AwsSqsQueue"))
766
937
  ResourceDetails.add_member(:container, Shapes::ShapeRef.new(shape: ContainerDetails, location_name: "Container"))
767
938
  ResourceDetails.add_member(:other, Shapes::ShapeRef.new(shape: FieldMap, location_name: "Other"))
768
939
  ResourceDetails.struct_class = Types::ResourceDetails
@@ -779,6 +950,8 @@ module Aws::SecurityHub
779
950
 
780
951
  ResultList.member = Shapes::ShapeRef.new(shape: Result)
781
952
 
953
+ SecurityGroups.member = Shapes::ShapeRef.new(shape: NonEmptyString)
954
+
782
955
  Severity.add_member(:product, Shapes::ShapeRef.new(shape: Double, location_name: "Product"))
783
956
  Severity.add_member(:normalized, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "Normalized"))
784
957
  Severity.struct_class = Types::Severity