aws-sdk-securityhub 1.54.0 → 1.58.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -50,12 +50,21 @@ module Aws::SecurityHub
50
50
  AwsApiGatewayV2ApiDetails = Shapes::StructureShape.new(name: 'AwsApiGatewayV2ApiDetails')
51
51
  AwsApiGatewayV2RouteSettings = Shapes::StructureShape.new(name: 'AwsApiGatewayV2RouteSettings')
52
52
  AwsApiGatewayV2StageDetails = Shapes::StructureShape.new(name: 'AwsApiGatewayV2StageDetails')
53
+ AwsAutoScalingAutoScalingGroupAvailabilityZonesList = Shapes::ListShape.new(name: 'AwsAutoScalingAutoScalingGroupAvailabilityZonesList')
54
+ AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails')
53
55
  AwsAutoScalingAutoScalingGroupDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupDetails')
56
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails')
57
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails')
58
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateDetails')
59
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification')
60
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesList = Shapes::ListShape.new(name: 'AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesList')
61
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesListDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesListDetails')
54
62
  AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails')
55
63
  AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails')
56
64
  AwsAutoScalingLaunchConfigurationBlockDeviceMappingsList = Shapes::ListShape.new(name: 'AwsAutoScalingLaunchConfigurationBlockDeviceMappingsList')
57
65
  AwsAutoScalingLaunchConfigurationDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingLaunchConfigurationDetails')
58
66
  AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails')
67
+ AwsAutoScalingLaunchConfigurationMetadataOptions = Shapes::StructureShape.new(name: 'AwsAutoScalingLaunchConfigurationMetadataOptions')
59
68
  AwsCertificateManagerCertificateDetails = Shapes::StructureShape.new(name: 'AwsCertificateManagerCertificateDetails')
60
69
  AwsCertificateManagerCertificateDomainValidationOption = Shapes::StructureShape.new(name: 'AwsCertificateManagerCertificateDomainValidationOption')
61
70
  AwsCertificateManagerCertificateDomainValidationOptions = Shapes::ListShape.new(name: 'AwsCertificateManagerCertificateDomainValidationOptions')
@@ -320,6 +329,11 @@ module Aws::SecurityHub
320
329
  AwsLambdaFunctionVpcConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionVpcConfig')
321
330
  AwsLambdaLayerVersionDetails = Shapes::StructureShape.new(name: 'AwsLambdaLayerVersionDetails')
322
331
  AwsLambdaLayerVersionNumber = Shapes::IntegerShape.new(name: 'AwsLambdaLayerVersionNumber')
332
+ AwsNetworkFirewallFirewallDetails = Shapes::StructureShape.new(name: 'AwsNetworkFirewallFirewallDetails')
333
+ AwsNetworkFirewallFirewallPolicyDetails = Shapes::StructureShape.new(name: 'AwsNetworkFirewallFirewallPolicyDetails')
334
+ AwsNetworkFirewallFirewallSubnetMappingsDetails = Shapes::StructureShape.new(name: 'AwsNetworkFirewallFirewallSubnetMappingsDetails')
335
+ AwsNetworkFirewallFirewallSubnetMappingsList = Shapes::ListShape.new(name: 'AwsNetworkFirewallFirewallSubnetMappingsList')
336
+ AwsNetworkFirewallRuleGroupDetails = Shapes::StructureShape.new(name: 'AwsNetworkFirewallRuleGroupDetails')
323
337
  AwsOpenSearchServiceDomainClusterConfigDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainClusterConfigDetails')
324
338
  AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails')
325
339
  AwsOpenSearchServiceDomainDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainDetails')
@@ -399,6 +413,7 @@ module Aws::SecurityHub
399
413
  AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList = Shapes::ListShape.new(name: 'AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList')
400
414
  AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails = Shapes::StructureShape.new(name: 'AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails')
401
415
  AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList = Shapes::ListShape.new(name: 'AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList')
416
+ AwsS3BucketBucketVersioningConfiguration = Shapes::StructureShape.new(name: 'AwsS3BucketBucketVersioningConfiguration')
402
417
  AwsS3BucketDetails = Shapes::StructureShape.new(name: 'AwsS3BucketDetails')
403
418
  AwsS3BucketLoggingConfiguration = Shapes::StructureShape.new(name: 'AwsS3BucketLoggingConfiguration')
404
419
  AwsS3BucketNotificationConfiguration = Shapes::StructureShape.new(name: 'AwsS3BucketNotificationConfiguration')
@@ -472,6 +487,8 @@ module Aws::SecurityHub
472
487
  Country = Shapes::StructureShape.new(name: 'Country')
473
488
  CreateActionTargetRequest = Shapes::StructureShape.new(name: 'CreateActionTargetRequest')
474
489
  CreateActionTargetResponse = Shapes::StructureShape.new(name: 'CreateActionTargetResponse')
490
+ CreateFindingAggregatorRequest = Shapes::StructureShape.new(name: 'CreateFindingAggregatorRequest')
491
+ CreateFindingAggregatorResponse = Shapes::StructureShape.new(name: 'CreateFindingAggregatorResponse')
475
492
  CreateInsightRequest = Shapes::StructureShape.new(name: 'CreateInsightRequest')
476
493
  CreateInsightResponse = Shapes::StructureShape.new(name: 'CreateInsightResponse')
477
494
  CreateMembersRequest = Shapes::StructureShape.new(name: 'CreateMembersRequest')
@@ -491,6 +508,8 @@ module Aws::SecurityHub
491
508
  DeclineInvitationsResponse = Shapes::StructureShape.new(name: 'DeclineInvitationsResponse')
492
509
  DeleteActionTargetRequest = Shapes::StructureShape.new(name: 'DeleteActionTargetRequest')
493
510
  DeleteActionTargetResponse = Shapes::StructureShape.new(name: 'DeleteActionTargetResponse')
511
+ DeleteFindingAggregatorRequest = Shapes::StructureShape.new(name: 'DeleteFindingAggregatorRequest')
512
+ DeleteFindingAggregatorResponse = Shapes::StructureShape.new(name: 'DeleteFindingAggregatorResponse')
494
513
  DeleteInsightRequest = Shapes::StructureShape.new(name: 'DeleteInsightRequest')
495
514
  DeleteInsightResponse = Shapes::StructureShape.new(name: 'DeleteInsightResponse')
496
515
  DeleteInvitationsRequest = Shapes::StructureShape.new(name: 'DeleteInvitationsRequest')
@@ -530,13 +549,24 @@ module Aws::SecurityHub
530
549
  EnableSecurityHubRequest = Shapes::StructureShape.new(name: 'EnableSecurityHubRequest')
531
550
  EnableSecurityHubResponse = Shapes::StructureShape.new(name: 'EnableSecurityHubResponse')
532
551
  FieldMap = Shapes::MapShape.new(name: 'FieldMap')
552
+ FindingAggregator = Shapes::StructureShape.new(name: 'FindingAggregator')
553
+ FindingAggregatorList = Shapes::ListShape.new(name: 'FindingAggregatorList')
533
554
  FindingProviderFields = Shapes::StructureShape.new(name: 'FindingProviderFields')
534
555
  FindingProviderSeverity = Shapes::StructureShape.new(name: 'FindingProviderSeverity')
556
+ FirewallPolicyDetails = Shapes::StructureShape.new(name: 'FirewallPolicyDetails')
557
+ FirewallPolicyStatefulRuleGroupReferencesDetails = Shapes::StructureShape.new(name: 'FirewallPolicyStatefulRuleGroupReferencesDetails')
558
+ FirewallPolicyStatefulRuleGroupReferencesList = Shapes::ListShape.new(name: 'FirewallPolicyStatefulRuleGroupReferencesList')
559
+ FirewallPolicyStatelessCustomActionsDetails = Shapes::StructureShape.new(name: 'FirewallPolicyStatelessCustomActionsDetails')
560
+ FirewallPolicyStatelessCustomActionsList = Shapes::ListShape.new(name: 'FirewallPolicyStatelessCustomActionsList')
561
+ FirewallPolicyStatelessRuleGroupReferencesDetails = Shapes::StructureShape.new(name: 'FirewallPolicyStatelessRuleGroupReferencesDetails')
562
+ FirewallPolicyStatelessRuleGroupReferencesList = Shapes::ListShape.new(name: 'FirewallPolicyStatelessRuleGroupReferencesList')
535
563
  GeoLocation = Shapes::StructureShape.new(name: 'GeoLocation')
536
564
  GetAdministratorAccountRequest = Shapes::StructureShape.new(name: 'GetAdministratorAccountRequest')
537
565
  GetAdministratorAccountResponse = Shapes::StructureShape.new(name: 'GetAdministratorAccountResponse')
538
566
  GetEnabledStandardsRequest = Shapes::StructureShape.new(name: 'GetEnabledStandardsRequest')
539
567
  GetEnabledStandardsResponse = Shapes::StructureShape.new(name: 'GetEnabledStandardsResponse')
568
+ GetFindingAggregatorRequest = Shapes::StructureShape.new(name: 'GetFindingAggregatorRequest')
569
+ GetFindingAggregatorResponse = Shapes::StructureShape.new(name: 'GetFindingAggregatorResponse')
540
570
  GetFindingsRequest = Shapes::StructureShape.new(name: 'GetFindingsRequest')
541
571
  GetFindingsResponse = Shapes::StructureShape.new(name: 'GetFindingsResponse')
542
572
  GetInsightResultsRequest = Shapes::StructureShape.new(name: 'GetInsightResultsRequest')
@@ -578,6 +608,8 @@ module Aws::SecurityHub
578
608
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
579
609
  ListEnabledProductsForImportRequest = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportRequest')
580
610
  ListEnabledProductsForImportResponse = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportResponse')
611
+ ListFindingAggregatorsRequest = Shapes::StructureShape.new(name: 'ListFindingAggregatorsRequest')
612
+ ListFindingAggregatorsResponse = Shapes::StructureShape.new(name: 'ListFindingAggregatorsResponse')
581
613
  ListInvitationsRequest = Shapes::StructureShape.new(name: 'ListInvitationsRequest')
582
614
  ListInvitationsResponse = Shapes::StructureShape.new(name: 'ListInvitationsResponse')
583
615
  ListMembersRequest = Shapes::StructureShape.new(name: 'ListMembersRequest')
@@ -646,6 +678,36 @@ module Aws::SecurityHub
646
678
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
647
679
  Result = Shapes::StructureShape.new(name: 'Result')
648
680
  ResultList = Shapes::ListShape.new(name: 'ResultList')
681
+ RuleGroupDetails = Shapes::StructureShape.new(name: 'RuleGroupDetails')
682
+ RuleGroupSource = Shapes::StructureShape.new(name: 'RuleGroupSource')
683
+ RuleGroupSourceCustomActionsDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceCustomActionsDetails')
684
+ RuleGroupSourceCustomActionsList = Shapes::ListShape.new(name: 'RuleGroupSourceCustomActionsList')
685
+ RuleGroupSourceListDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceListDetails')
686
+ RuleGroupSourceStatefulRulesDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceStatefulRulesDetails')
687
+ RuleGroupSourceStatefulRulesHeaderDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceStatefulRulesHeaderDetails')
688
+ RuleGroupSourceStatefulRulesList = Shapes::ListShape.new(name: 'RuleGroupSourceStatefulRulesList')
689
+ RuleGroupSourceStatefulRulesOptionsDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceStatefulRulesOptionsDetails')
690
+ RuleGroupSourceStatefulRulesOptionsList = Shapes::ListShape.new(name: 'RuleGroupSourceStatefulRulesOptionsList')
691
+ RuleGroupSourceStatefulRulesRuleOptionsSettingsList = Shapes::ListShape.new(name: 'RuleGroupSourceStatefulRulesRuleOptionsSettingsList')
692
+ RuleGroupSourceStatelessRuleDefinition = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRuleDefinition')
693
+ RuleGroupSourceStatelessRuleMatchAttributes = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributes')
694
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationPorts = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesDestinationPorts')
695
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationPortsList = Shapes::ListShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesDestinationPortsList')
696
+ RuleGroupSourceStatelessRuleMatchAttributesDestinations = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesDestinations')
697
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationsList = Shapes::ListShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesDestinationsList')
698
+ RuleGroupSourceStatelessRuleMatchAttributesProtocolsList = Shapes::ListShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesProtocolsList')
699
+ RuleGroupSourceStatelessRuleMatchAttributesSourcePorts = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesSourcePorts')
700
+ RuleGroupSourceStatelessRuleMatchAttributesSourcePortsList = Shapes::ListShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesSourcePortsList')
701
+ RuleGroupSourceStatelessRuleMatchAttributesSources = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesSources')
702
+ RuleGroupSourceStatelessRuleMatchAttributesSourcesList = Shapes::ListShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesSourcesList')
703
+ RuleGroupSourceStatelessRuleMatchAttributesTcpFlags = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesTcpFlags')
704
+ RuleGroupSourceStatelessRuleMatchAttributesTcpFlagsList = Shapes::ListShape.new(name: 'RuleGroupSourceStatelessRuleMatchAttributesTcpFlagsList')
705
+ RuleGroupSourceStatelessRulesAndCustomActionsDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRulesAndCustomActionsDetails')
706
+ RuleGroupSourceStatelessRulesDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceStatelessRulesDetails')
707
+ RuleGroupSourceStatelessRulesList = Shapes::ListShape.new(name: 'RuleGroupSourceStatelessRulesList')
708
+ RuleGroupVariables = Shapes::StructureShape.new(name: 'RuleGroupVariables')
709
+ RuleGroupVariablesIpSetsDetails = Shapes::StructureShape.new(name: 'RuleGroupVariablesIpSetsDetails')
710
+ RuleGroupVariablesPortSetsDetails = Shapes::StructureShape.new(name: 'RuleGroupVariablesPortSetsDetails')
649
711
  SecurityGroups = Shapes::ListShape.new(name: 'SecurityGroups')
650
712
  SensitiveDataDetections = Shapes::StructureShape.new(name: 'SensitiveDataDetections')
651
713
  SensitiveDataDetectionsList = Shapes::ListShape.new(name: 'SensitiveDataDetectionsList')
@@ -667,12 +729,18 @@ module Aws::SecurityHub
667
729
  StandardsControls = Shapes::ListShape.new(name: 'StandardsControls')
668
730
  StandardsInputParameterMap = Shapes::MapShape.new(name: 'StandardsInputParameterMap')
669
731
  StandardsStatus = Shapes::StringShape.new(name: 'StandardsStatus')
732
+ StandardsStatusReason = Shapes::StructureShape.new(name: 'StandardsStatusReason')
670
733
  StandardsSubscription = Shapes::StructureShape.new(name: 'StandardsSubscription')
671
734
  StandardsSubscriptionArns = Shapes::ListShape.new(name: 'StandardsSubscriptionArns')
672
735
  StandardsSubscriptionRequest = Shapes::StructureShape.new(name: 'StandardsSubscriptionRequest')
673
736
  StandardsSubscriptionRequests = Shapes::ListShape.new(name: 'StandardsSubscriptionRequests')
674
737
  StandardsSubscriptions = Shapes::ListShape.new(name: 'StandardsSubscriptions')
738
+ StatelessCustomActionDefinition = Shapes::StructureShape.new(name: 'StatelessCustomActionDefinition')
739
+ StatelessCustomPublishMetricAction = Shapes::StructureShape.new(name: 'StatelessCustomPublishMetricAction')
740
+ StatelessCustomPublishMetricActionDimension = Shapes::StructureShape.new(name: 'StatelessCustomPublishMetricActionDimension')
741
+ StatelessCustomPublishMetricActionDimensionsList = Shapes::ListShape.new(name: 'StatelessCustomPublishMetricActionDimensionsList')
675
742
  StatusReason = Shapes::StructureShape.new(name: 'StatusReason')
743
+ StatusReasonCode = Shapes::StringShape.new(name: 'StatusReasonCode')
676
744
  StatusReasonsList = Shapes::ListShape.new(name: 'StatusReasonsList')
677
745
  StringFilter = Shapes::StructureShape.new(name: 'StringFilter')
678
746
  StringFilterComparison = Shapes::StringShape.new(name: 'StringFilterComparison')
@@ -694,6 +762,8 @@ module Aws::SecurityHub
694
762
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
695
763
  UpdateActionTargetRequest = Shapes::StructureShape.new(name: 'UpdateActionTargetRequest')
696
764
  UpdateActionTargetResponse = Shapes::StructureShape.new(name: 'UpdateActionTargetResponse')
765
+ UpdateFindingAggregatorRequest = Shapes::StructureShape.new(name: 'UpdateFindingAggregatorRequest')
766
+ UpdateFindingAggregatorResponse = Shapes::StructureShape.new(name: 'UpdateFindingAggregatorResponse')
697
767
  UpdateFindingsRequest = Shapes::StructureShape.new(name: 'UpdateFindingsRequest')
698
768
  UpdateFindingsResponse = Shapes::StructureShape.new(name: 'UpdateFindingsResponse')
699
769
  UpdateInsightRequest = Shapes::StructureShape.new(name: 'UpdateInsightRequest')
@@ -898,13 +968,47 @@ module Aws::SecurityHub
898
968
  AwsApiGatewayV2StageDetails.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: Boolean, location_name: "ApiGatewayManaged"))
899
969
  AwsApiGatewayV2StageDetails.struct_class = Types::AwsApiGatewayV2StageDetails
900
970
 
971
+ AwsAutoScalingAutoScalingGroupAvailabilityZonesList.member = Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails)
972
+
973
+ AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
974
+ AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails.struct_class = Types::AwsAutoScalingAutoScalingGroupAvailabilityZonesListDetails
975
+
901
976
  AwsAutoScalingAutoScalingGroupDetails.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LaunchConfigurationName"))
902
977
  AwsAutoScalingAutoScalingGroupDetails.add_member(:load_balancer_names, Shapes::ShapeRef.new(shape: StringList, location_name: "LoadBalancerNames"))
903
978
  AwsAutoScalingAutoScalingGroupDetails.add_member(:health_check_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HealthCheckType"))
904
979
  AwsAutoScalingAutoScalingGroupDetails.add_member(:health_check_grace_period, Shapes::ShapeRef.new(shape: Integer, location_name: "HealthCheckGracePeriod"))
905
980
  AwsAutoScalingAutoScalingGroupDetails.add_member(:created_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedTime"))
981
+ AwsAutoScalingAutoScalingGroupDetails.add_member(:mixed_instances_policy, Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails, location_name: "MixedInstancesPolicy"))
982
+ AwsAutoScalingAutoScalingGroupDetails.add_member(:availability_zones, Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupAvailabilityZonesList, location_name: "AvailabilityZones"))
906
983
  AwsAutoScalingAutoScalingGroupDetails.struct_class = Types::AwsAutoScalingAutoScalingGroupDetails
907
984
 
985
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails.add_member(:instances_distribution, Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails, location_name: "InstancesDistribution"))
986
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails.add_member(:launch_template, Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateDetails, location_name: "LaunchTemplate"))
987
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails.struct_class = Types::AwsAutoScalingAutoScalingGroupMixedInstancesPolicyDetails
988
+
989
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails.add_member(:on_demand_allocation_strategy, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OnDemandAllocationStrategy"))
990
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails.add_member(:on_demand_base_capacity, Shapes::ShapeRef.new(shape: Integer, location_name: "OnDemandBaseCapacity"))
991
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails.add_member(:on_demand_percentage_above_base_capacity, Shapes::ShapeRef.new(shape: Integer, location_name: "OnDemandPercentageAboveBaseCapacity"))
992
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails.add_member(:spot_allocation_strategy, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SpotAllocationStrategy"))
993
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails.add_member(:spot_instance_pools, Shapes::ShapeRef.new(shape: Integer, location_name: "SpotInstancePools"))
994
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails.add_member(:spot_max_price, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SpotMaxPrice"))
995
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails.struct_class = Types::AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails
996
+
997
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateDetails.add_member(:launch_template_specification, Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification, location_name: "LaunchTemplateSpecification"))
998
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateDetails.add_member(:overrides, Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesList, location_name: "Overrides"))
999
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateDetails.struct_class = Types::AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateDetails
1000
+
1001
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification.add_member(:launch_template_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LaunchTemplateId"))
1002
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification.add_member(:launch_template_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LaunchTemplateName"))
1003
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification.add_member(:version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Version"))
1004
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification.struct_class = Types::AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification
1005
+
1006
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesList.member = Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesListDetails)
1007
+
1008
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesListDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceType"))
1009
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesListDetails.add_member(:weighted_capacity, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "WeightedCapacity"))
1010
+ AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesListDetails.struct_class = Types::AwsAutoScalingAutoScalingGroupMixedInstancesPolicyLaunchTemplateOverridesListDetails
1011
+
908
1012
  AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails.add_member(:device_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DeviceName"))
909
1013
  AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails.add_member(:ebs, Shapes::ShapeRef.new(shape: AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails, location_name: "Ebs"))
910
1014
  AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails.add_member(:no_device, Shapes::ShapeRef.new(shape: Boolean, location_name: "NoDevice"))
@@ -939,11 +1043,17 @@ module Aws::SecurityHub
939
1043
  AwsAutoScalingLaunchConfigurationDetails.add_member(:security_groups, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroups"))
940
1044
  AwsAutoScalingLaunchConfigurationDetails.add_member(:spot_price, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SpotPrice"))
941
1045
  AwsAutoScalingLaunchConfigurationDetails.add_member(:user_data, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UserData"))
1046
+ AwsAutoScalingLaunchConfigurationDetails.add_member(:metadata_options, Shapes::ShapeRef.new(shape: AwsAutoScalingLaunchConfigurationMetadataOptions, location_name: "MetadataOptions"))
942
1047
  AwsAutoScalingLaunchConfigurationDetails.struct_class = Types::AwsAutoScalingLaunchConfigurationDetails
943
1048
 
944
1049
  AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
945
1050
  AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails.struct_class = Types::AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails
946
1051
 
1052
+ AwsAutoScalingLaunchConfigurationMetadataOptions.add_member(:http_endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HttpEndpoint"))
1053
+ AwsAutoScalingLaunchConfigurationMetadataOptions.add_member(:http_put_response_hop_limit, Shapes::ShapeRef.new(shape: Integer, location_name: "HttpPutResponseHopLimit"))
1054
+ AwsAutoScalingLaunchConfigurationMetadataOptions.add_member(:http_tokens, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HttpTokens"))
1055
+ AwsAutoScalingLaunchConfigurationMetadataOptions.struct_class = Types::AwsAutoScalingLaunchConfigurationMetadataOptions
1056
+
947
1057
  AwsCertificateManagerCertificateDetails.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CertificateAuthorityArn"))
948
1058
  AwsCertificateManagerCertificateDetails.add_member(:created_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedAt"))
949
1059
  AwsCertificateManagerCertificateDetails.add_member(:domain_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainName"))
@@ -2306,6 +2416,39 @@ module Aws::SecurityHub
2306
2416
  AwsLambdaLayerVersionDetails.add_member(:created_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedDate"))
2307
2417
  AwsLambdaLayerVersionDetails.struct_class = Types::AwsLambdaLayerVersionDetails
2308
2418
 
2419
+ AwsNetworkFirewallFirewallDetails.add_member(:delete_protection, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeleteProtection"))
2420
+ AwsNetworkFirewallFirewallDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
2421
+ AwsNetworkFirewallFirewallDetails.add_member(:firewall_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirewallArn"))
2422
+ AwsNetworkFirewallFirewallDetails.add_member(:firewall_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirewallId"))
2423
+ AwsNetworkFirewallFirewallDetails.add_member(:firewall_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirewallName"))
2424
+ AwsNetworkFirewallFirewallDetails.add_member(:firewall_policy_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirewallPolicyArn"))
2425
+ AwsNetworkFirewallFirewallDetails.add_member(:firewall_policy_change_protection, Shapes::ShapeRef.new(shape: Boolean, location_name: "FirewallPolicyChangeProtection"))
2426
+ AwsNetworkFirewallFirewallDetails.add_member(:subnet_change_protection, Shapes::ShapeRef.new(shape: Boolean, location_name: "SubnetChangeProtection"))
2427
+ AwsNetworkFirewallFirewallDetails.add_member(:subnet_mappings, Shapes::ShapeRef.new(shape: AwsNetworkFirewallFirewallSubnetMappingsList, location_name: "SubnetMappings"))
2428
+ AwsNetworkFirewallFirewallDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
2429
+ AwsNetworkFirewallFirewallDetails.struct_class = Types::AwsNetworkFirewallFirewallDetails
2430
+
2431
+ AwsNetworkFirewallFirewallPolicyDetails.add_member(:firewall_policy, Shapes::ShapeRef.new(shape: FirewallPolicyDetails, location_name: "FirewallPolicy"))
2432
+ AwsNetworkFirewallFirewallPolicyDetails.add_member(:firewall_policy_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirewallPolicyArn"))
2433
+ AwsNetworkFirewallFirewallPolicyDetails.add_member(:firewall_policy_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirewallPolicyId"))
2434
+ AwsNetworkFirewallFirewallPolicyDetails.add_member(:firewall_policy_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirewallPolicyName"))
2435
+ AwsNetworkFirewallFirewallPolicyDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
2436
+ AwsNetworkFirewallFirewallPolicyDetails.struct_class = Types::AwsNetworkFirewallFirewallPolicyDetails
2437
+
2438
+ AwsNetworkFirewallFirewallSubnetMappingsDetails.add_member(:subnet_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubnetId"))
2439
+ AwsNetworkFirewallFirewallSubnetMappingsDetails.struct_class = Types::AwsNetworkFirewallFirewallSubnetMappingsDetails
2440
+
2441
+ AwsNetworkFirewallFirewallSubnetMappingsList.member = Shapes::ShapeRef.new(shape: AwsNetworkFirewallFirewallSubnetMappingsDetails)
2442
+
2443
+ AwsNetworkFirewallRuleGroupDetails.add_member(:capacity, Shapes::ShapeRef.new(shape: Integer, location_name: "Capacity"))
2444
+ AwsNetworkFirewallRuleGroupDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
2445
+ AwsNetworkFirewallRuleGroupDetails.add_member(:rule_group, Shapes::ShapeRef.new(shape: RuleGroupDetails, location_name: "RuleGroup"))
2446
+ AwsNetworkFirewallRuleGroupDetails.add_member(:rule_group_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RuleGroupArn"))
2447
+ AwsNetworkFirewallRuleGroupDetails.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RuleGroupId"))
2448
+ AwsNetworkFirewallRuleGroupDetails.add_member(:rule_group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RuleGroupName"))
2449
+ AwsNetworkFirewallRuleGroupDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
2450
+ AwsNetworkFirewallRuleGroupDetails.struct_class = Types::AwsNetworkFirewallRuleGroupDetails
2451
+
2309
2452
  AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "InstanceCount"))
2310
2453
  AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:warm_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "WarmEnabled"))
2311
2454
  AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:warm_count, Shapes::ShapeRef.new(shape: Integer, location_name: "WarmCount"))
@@ -2843,6 +2986,10 @@ module Aws::SecurityHub
2843
2986
 
2844
2987
  AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList.member = Shapes::ShapeRef.new(shape: AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails)
2845
2988
 
2989
+ AwsS3BucketBucketVersioningConfiguration.add_member(:is_mfa_delete_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsMfaDeleteEnabled"))
2990
+ AwsS3BucketBucketVersioningConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
2991
+ AwsS3BucketBucketVersioningConfiguration.struct_class = Types::AwsS3BucketBucketVersioningConfiguration
2992
+
2846
2993
  AwsS3BucketDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
2847
2994
  AwsS3BucketDetails.add_member(:owner_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerName"))
2848
2995
  AwsS3BucketDetails.add_member(:owner_account_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerAccountId"))
@@ -2854,6 +3001,7 @@ module Aws::SecurityHub
2854
3001
  AwsS3BucketDetails.add_member(:bucket_logging_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketLoggingConfiguration, location_name: "BucketLoggingConfiguration"))
2855
3002
  AwsS3BucketDetails.add_member(:bucket_website_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketWebsiteConfiguration, location_name: "BucketWebsiteConfiguration"))
2856
3003
  AwsS3BucketDetails.add_member(:bucket_notification_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketNotificationConfiguration, location_name: "BucketNotificationConfiguration"))
3004
+ AwsS3BucketDetails.add_member(:bucket_versioning_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketBucketVersioningConfiguration, location_name: "BucketVersioningConfiguration"))
2857
3005
  AwsS3BucketDetails.struct_class = Types::AwsS3BucketDetails
2858
3006
 
2859
3007
  AwsS3BucketLoggingConfiguration.add_member(:destination_bucket_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationBucketName"))
@@ -3285,6 +3433,16 @@ module Aws::SecurityHub
3285
3433
  CreateActionTargetResponse.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ActionTargetArn"))
3286
3434
  CreateActionTargetResponse.struct_class = Types::CreateActionTargetResponse
3287
3435
 
3436
+ CreateFindingAggregatorRequest.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RegionLinkingMode"))
3437
+ CreateFindingAggregatorRequest.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3438
+ CreateFindingAggregatorRequest.struct_class = Types::CreateFindingAggregatorRequest
3439
+
3440
+ CreateFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3441
+ CreateFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
3442
+ CreateFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
3443
+ CreateFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3444
+ CreateFindingAggregatorResponse.struct_class = Types::CreateFindingAggregatorResponse
3445
+
3288
3446
  CreateInsightRequest.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
3289
3447
  CreateInsightRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, required: true, location_name: "Filters"))
3290
3448
  CreateInsightRequest.add_member(:group_by_attribute, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "GroupByAttribute"))
@@ -3347,6 +3505,11 @@ module Aws::SecurityHub
3347
3505
  DeleteActionTargetResponse.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ActionTargetArn"))
3348
3506
  DeleteActionTargetResponse.struct_class = Types::DeleteActionTargetResponse
3349
3507
 
3508
+ DeleteFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "FindingAggregatorArn"))
3509
+ DeleteFindingAggregatorRequest.struct_class = Types::DeleteFindingAggregatorRequest
3510
+
3511
+ DeleteFindingAggregatorResponse.struct_class = Types::DeleteFindingAggregatorResponse
3512
+
3350
3513
  DeleteInsightRequest.add_member(:insight_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "InsightArn"))
3351
3514
  DeleteInsightRequest.struct_class = Types::DeleteInsightRequest
3352
3515
 
@@ -3466,6 +3629,11 @@ module Aws::SecurityHub
3466
3629
  FieldMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
3467
3630
  FieldMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
3468
3631
 
3632
+ FindingAggregator.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3633
+ FindingAggregator.struct_class = Types::FindingAggregator
3634
+
3635
+ FindingAggregatorList.member = Shapes::ShapeRef.new(shape: FindingAggregator)
3636
+
3469
3637
  FindingProviderFields.add_member(:confidence, Shapes::ShapeRef.new(shape: RatioScale, location_name: "Confidence"))
3470
3638
  FindingProviderFields.add_member(:criticality, Shapes::ShapeRef.new(shape: RatioScale, location_name: "Criticality"))
3471
3639
  FindingProviderFields.add_member(:related_findings, Shapes::ShapeRef.new(shape: RelatedFindingList, location_name: "RelatedFindings"))
@@ -3477,6 +3645,30 @@ module Aws::SecurityHub
3477
3645
  FindingProviderSeverity.add_member(:original, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Original"))
3478
3646
  FindingProviderSeverity.struct_class = Types::FindingProviderSeverity
3479
3647
 
3648
+ FirewallPolicyDetails.add_member(:stateful_rule_group_references, Shapes::ShapeRef.new(shape: FirewallPolicyStatefulRuleGroupReferencesList, location_name: "StatefulRuleGroupReferences"))
3649
+ FirewallPolicyDetails.add_member(:stateless_custom_actions, Shapes::ShapeRef.new(shape: FirewallPolicyStatelessCustomActionsList, location_name: "StatelessCustomActions"))
3650
+ FirewallPolicyDetails.add_member(:stateless_default_actions, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "StatelessDefaultActions"))
3651
+ FirewallPolicyDetails.add_member(:stateless_fragment_default_actions, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "StatelessFragmentDefaultActions"))
3652
+ FirewallPolicyDetails.add_member(:stateless_rule_group_references, Shapes::ShapeRef.new(shape: FirewallPolicyStatelessRuleGroupReferencesList, location_name: "StatelessRuleGroupReferences"))
3653
+ FirewallPolicyDetails.struct_class = Types::FirewallPolicyDetails
3654
+
3655
+ FirewallPolicyStatefulRuleGroupReferencesDetails.add_member(:resource_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceArn"))
3656
+ FirewallPolicyStatefulRuleGroupReferencesDetails.struct_class = Types::FirewallPolicyStatefulRuleGroupReferencesDetails
3657
+
3658
+ FirewallPolicyStatefulRuleGroupReferencesList.member = Shapes::ShapeRef.new(shape: FirewallPolicyStatefulRuleGroupReferencesDetails)
3659
+
3660
+ FirewallPolicyStatelessCustomActionsDetails.add_member(:action_definition, Shapes::ShapeRef.new(shape: StatelessCustomActionDefinition, location_name: "ActionDefinition"))
3661
+ FirewallPolicyStatelessCustomActionsDetails.add_member(:action_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ActionName"))
3662
+ FirewallPolicyStatelessCustomActionsDetails.struct_class = Types::FirewallPolicyStatelessCustomActionsDetails
3663
+
3664
+ FirewallPolicyStatelessCustomActionsList.member = Shapes::ShapeRef.new(shape: FirewallPolicyStatelessCustomActionsDetails)
3665
+
3666
+ FirewallPolicyStatelessRuleGroupReferencesDetails.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, location_name: "Priority"))
3667
+ FirewallPolicyStatelessRuleGroupReferencesDetails.add_member(:resource_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceArn"))
3668
+ FirewallPolicyStatelessRuleGroupReferencesDetails.struct_class = Types::FirewallPolicyStatelessRuleGroupReferencesDetails
3669
+
3670
+ FirewallPolicyStatelessRuleGroupReferencesList.member = Shapes::ShapeRef.new(shape: FirewallPolicyStatelessRuleGroupReferencesDetails)
3671
+
3480
3672
  GeoLocation.add_member(:lon, Shapes::ShapeRef.new(shape: Double, location_name: "Lon"))
3481
3673
  GeoLocation.add_member(:lat, Shapes::ShapeRef.new(shape: Double, location_name: "Lat"))
3482
3674
  GeoLocation.struct_class = Types::GeoLocation
@@ -3495,6 +3687,15 @@ module Aws::SecurityHub
3495
3687
  GetEnabledStandardsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3496
3688
  GetEnabledStandardsResponse.struct_class = Types::GetEnabledStandardsResponse
3497
3689
 
3690
+ GetFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "FindingAggregatorArn"))
3691
+ GetFindingAggregatorRequest.struct_class = Types::GetFindingAggregatorRequest
3692
+
3693
+ GetFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3694
+ GetFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
3695
+ GetFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
3696
+ GetFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3697
+ GetFindingAggregatorResponse.struct_class = Types::GetFindingAggregatorResponse
3698
+
3498
3699
  GetFindingsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, location_name: "Filters"))
3499
3700
  GetFindingsRequest.add_member(:sort_criteria, Shapes::ShapeRef.new(shape: SortCriteria, location_name: "SortCriteria"))
3500
3701
  GetFindingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -3632,6 +3833,14 @@ module Aws::SecurityHub
3632
3833
  ListEnabledProductsForImportResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3633
3834
  ListEnabledProductsForImportResponse.struct_class = Types::ListEnabledProductsForImportResponse
3634
3835
 
3836
+ ListFindingAggregatorsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
3837
+ ListFindingAggregatorsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
3838
+ ListFindingAggregatorsRequest.struct_class = Types::ListFindingAggregatorsRequest
3839
+
3840
+ ListFindingAggregatorsResponse.add_member(:finding_aggregators, Shapes::ShapeRef.new(shape: FindingAggregatorList, location_name: "FindingAggregators"))
3841
+ ListFindingAggregatorsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3842
+ ListFindingAggregatorsResponse.struct_class = Types::ListFindingAggregatorsResponse
3843
+
3635
3844
  ListInvitationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CrossAccountMaxResults, location: "querystring", location_name: "MaxResults"))
3636
3845
  ListInvitationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
3637
3846
  ListInvitationsRequest.struct_class = Types::ListInvitationsRequest
@@ -3922,6 +4131,9 @@ module Aws::SecurityHub
3922
4131
  ResourceDetails.add_member(:aws_waf_regional_rate_based_rule, Shapes::ShapeRef.new(shape: AwsWafRegionalRateBasedRuleDetails, location_name: "AwsWafRegionalRateBasedRule"))
3923
4132
  ResourceDetails.add_member(:aws_ecr_repository, Shapes::ShapeRef.new(shape: AwsEcrRepositoryDetails, location_name: "AwsEcrRepository"))
3924
4133
  ResourceDetails.add_member(:aws_eks_cluster, Shapes::ShapeRef.new(shape: AwsEksClusterDetails, location_name: "AwsEksCluster"))
4134
+ ResourceDetails.add_member(:aws_network_firewall_firewall_policy, Shapes::ShapeRef.new(shape: AwsNetworkFirewallFirewallPolicyDetails, location_name: "AwsNetworkFirewallFirewallPolicy"))
4135
+ ResourceDetails.add_member(:aws_network_firewall_firewall, Shapes::ShapeRef.new(shape: AwsNetworkFirewallFirewallDetails, location_name: "AwsNetworkFirewallFirewall"))
4136
+ ResourceDetails.add_member(:aws_network_firewall_rule_group, Shapes::ShapeRef.new(shape: AwsNetworkFirewallRuleGroupDetails, location_name: "AwsNetworkFirewallRuleGroup"))
3925
4137
  ResourceDetails.struct_class = Types::ResourceDetails
3926
4138
 
3927
4139
  ResourceList.member = Shapes::ShapeRef.new(shape: Resource)
@@ -3936,6 +4148,112 @@ module Aws::SecurityHub
3936
4148
 
3937
4149
  ResultList.member = Shapes::ShapeRef.new(shape: Result)
3938
4150
 
4151
+ RuleGroupDetails.add_member(:rule_variables, Shapes::ShapeRef.new(shape: RuleGroupVariables, location_name: "RuleVariables"))
4152
+ RuleGroupDetails.add_member(:rules_source, Shapes::ShapeRef.new(shape: RuleGroupSource, location_name: "RulesSource"))
4153
+ RuleGroupDetails.struct_class = Types::RuleGroupDetails
4154
+
4155
+ RuleGroupSource.add_member(:rules_source_list, Shapes::ShapeRef.new(shape: RuleGroupSourceListDetails, location_name: "RulesSourceList"))
4156
+ RuleGroupSource.add_member(:rules_string, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RulesString"))
4157
+ RuleGroupSource.add_member(:stateful_rules, Shapes::ShapeRef.new(shape: RuleGroupSourceStatefulRulesList, location_name: "StatefulRules"))
4158
+ RuleGroupSource.add_member(:stateless_rules_and_custom_actions, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRulesAndCustomActionsDetails, location_name: "StatelessRulesAndCustomActions"))
4159
+ RuleGroupSource.struct_class = Types::RuleGroupSource
4160
+
4161
+ RuleGroupSourceCustomActionsDetails.add_member(:action_definition, Shapes::ShapeRef.new(shape: StatelessCustomActionDefinition, location_name: "ActionDefinition"))
4162
+ RuleGroupSourceCustomActionsDetails.add_member(:action_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ActionName"))
4163
+ RuleGroupSourceCustomActionsDetails.struct_class = Types::RuleGroupSourceCustomActionsDetails
4164
+
4165
+ RuleGroupSourceCustomActionsList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceCustomActionsDetails)
4166
+
4167
+ RuleGroupSourceListDetails.add_member(:generated_rules_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GeneratedRulesType"))
4168
+ RuleGroupSourceListDetails.add_member(:target_types, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "TargetTypes"))
4169
+ RuleGroupSourceListDetails.add_member(:targets, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Targets"))
4170
+ RuleGroupSourceListDetails.struct_class = Types::RuleGroupSourceListDetails
4171
+
4172
+ RuleGroupSourceStatefulRulesDetails.add_member(:action, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Action"))
4173
+ RuleGroupSourceStatefulRulesDetails.add_member(:header, Shapes::ShapeRef.new(shape: RuleGroupSourceStatefulRulesHeaderDetails, location_name: "Header"))
4174
+ RuleGroupSourceStatefulRulesDetails.add_member(:rule_options, Shapes::ShapeRef.new(shape: RuleGroupSourceStatefulRulesOptionsList, location_name: "RuleOptions"))
4175
+ RuleGroupSourceStatefulRulesDetails.struct_class = Types::RuleGroupSourceStatefulRulesDetails
4176
+
4177
+ RuleGroupSourceStatefulRulesHeaderDetails.add_member(:destination, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Destination"))
4178
+ RuleGroupSourceStatefulRulesHeaderDetails.add_member(:destination_port, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationPort"))
4179
+ RuleGroupSourceStatefulRulesHeaderDetails.add_member(:direction, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Direction"))
4180
+ RuleGroupSourceStatefulRulesHeaderDetails.add_member(:protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Protocol"))
4181
+ RuleGroupSourceStatefulRulesHeaderDetails.add_member(:source, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Source"))
4182
+ RuleGroupSourceStatefulRulesHeaderDetails.add_member(:source_port, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SourcePort"))
4183
+ RuleGroupSourceStatefulRulesHeaderDetails.struct_class = Types::RuleGroupSourceStatefulRulesHeaderDetails
4184
+
4185
+ RuleGroupSourceStatefulRulesList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatefulRulesDetails)
4186
+
4187
+ RuleGroupSourceStatefulRulesOptionsDetails.add_member(:keyword, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Keyword"))
4188
+ RuleGroupSourceStatefulRulesOptionsDetails.add_member(:settings, Shapes::ShapeRef.new(shape: RuleGroupSourceStatefulRulesRuleOptionsSettingsList, location_name: "Settings"))
4189
+ RuleGroupSourceStatefulRulesOptionsDetails.struct_class = Types::RuleGroupSourceStatefulRulesOptionsDetails
4190
+
4191
+ RuleGroupSourceStatefulRulesOptionsList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatefulRulesOptionsDetails)
4192
+
4193
+ RuleGroupSourceStatefulRulesRuleOptionsSettingsList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
4194
+
4195
+ RuleGroupSourceStatelessRuleDefinition.add_member(:actions, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Actions"))
4196
+ RuleGroupSourceStatelessRuleDefinition.add_member(:match_attributes, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributes, location_name: "MatchAttributes"))
4197
+ RuleGroupSourceStatelessRuleDefinition.struct_class = Types::RuleGroupSourceStatelessRuleDefinition
4198
+
4199
+ RuleGroupSourceStatelessRuleMatchAttributes.add_member(:destination_ports, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesDestinationPortsList, location_name: "DestinationPorts"))
4200
+ RuleGroupSourceStatelessRuleMatchAttributes.add_member(:destinations, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesDestinationsList, location_name: "Destinations"))
4201
+ RuleGroupSourceStatelessRuleMatchAttributes.add_member(:protocols, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesProtocolsList, location_name: "Protocols"))
4202
+ RuleGroupSourceStatelessRuleMatchAttributes.add_member(:source_ports, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesSourcePortsList, location_name: "SourcePorts"))
4203
+ RuleGroupSourceStatelessRuleMatchAttributes.add_member(:sources, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesSourcesList, location_name: "Sources"))
4204
+ RuleGroupSourceStatelessRuleMatchAttributes.add_member(:tcp_flags, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesTcpFlagsList, location_name: "TcpFlags"))
4205
+ RuleGroupSourceStatelessRuleMatchAttributes.struct_class = Types::RuleGroupSourceStatelessRuleMatchAttributes
4206
+
4207
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationPorts.add_member(:from_port, Shapes::ShapeRef.new(shape: Integer, location_name: "FromPort"))
4208
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationPorts.add_member(:to_port, Shapes::ShapeRef.new(shape: Integer, location_name: "ToPort"))
4209
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationPorts.struct_class = Types::RuleGroupSourceStatelessRuleMatchAttributesDestinationPorts
4210
+
4211
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationPortsList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesDestinationPorts)
4212
+
4213
+ RuleGroupSourceStatelessRuleMatchAttributesDestinations.add_member(:address_definition, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AddressDefinition"))
4214
+ RuleGroupSourceStatelessRuleMatchAttributesDestinations.struct_class = Types::RuleGroupSourceStatelessRuleMatchAttributesDestinations
4215
+
4216
+ RuleGroupSourceStatelessRuleMatchAttributesDestinationsList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesDestinations)
4217
+
4218
+ RuleGroupSourceStatelessRuleMatchAttributesProtocolsList.member = Shapes::ShapeRef.new(shape: Integer)
4219
+
4220
+ RuleGroupSourceStatelessRuleMatchAttributesSourcePorts.add_member(:from_port, Shapes::ShapeRef.new(shape: Integer, location_name: "FromPort"))
4221
+ RuleGroupSourceStatelessRuleMatchAttributesSourcePorts.add_member(:to_port, Shapes::ShapeRef.new(shape: Integer, location_name: "ToPort"))
4222
+ RuleGroupSourceStatelessRuleMatchAttributesSourcePorts.struct_class = Types::RuleGroupSourceStatelessRuleMatchAttributesSourcePorts
4223
+
4224
+ RuleGroupSourceStatelessRuleMatchAttributesSourcePortsList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesSourcePorts)
4225
+
4226
+ RuleGroupSourceStatelessRuleMatchAttributesSources.add_member(:address_definition, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AddressDefinition"))
4227
+ RuleGroupSourceStatelessRuleMatchAttributesSources.struct_class = Types::RuleGroupSourceStatelessRuleMatchAttributesSources
4228
+
4229
+ RuleGroupSourceStatelessRuleMatchAttributesSourcesList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesSources)
4230
+
4231
+ RuleGroupSourceStatelessRuleMatchAttributesTcpFlags.add_member(:flags, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Flags"))
4232
+ RuleGroupSourceStatelessRuleMatchAttributesTcpFlags.add_member(:masks, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Masks"))
4233
+ RuleGroupSourceStatelessRuleMatchAttributesTcpFlags.struct_class = Types::RuleGroupSourceStatelessRuleMatchAttributesTcpFlags
4234
+
4235
+ RuleGroupSourceStatelessRuleMatchAttributesTcpFlagsList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleMatchAttributesTcpFlags)
4236
+
4237
+ RuleGroupSourceStatelessRulesAndCustomActionsDetails.add_member(:custom_actions, Shapes::ShapeRef.new(shape: RuleGroupSourceCustomActionsList, location_name: "CustomActions"))
4238
+ RuleGroupSourceStatelessRulesAndCustomActionsDetails.add_member(:stateless_rules, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRulesList, location_name: "StatelessRules"))
4239
+ RuleGroupSourceStatelessRulesAndCustomActionsDetails.struct_class = Types::RuleGroupSourceStatelessRulesAndCustomActionsDetails
4240
+
4241
+ RuleGroupSourceStatelessRulesDetails.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, location_name: "Priority"))
4242
+ RuleGroupSourceStatelessRulesDetails.add_member(:rule_definition, Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRuleDefinition, location_name: "RuleDefinition"))
4243
+ RuleGroupSourceStatelessRulesDetails.struct_class = Types::RuleGroupSourceStatelessRulesDetails
4244
+
4245
+ RuleGroupSourceStatelessRulesList.member = Shapes::ShapeRef.new(shape: RuleGroupSourceStatelessRulesDetails)
4246
+
4247
+ RuleGroupVariables.add_member(:ip_sets, Shapes::ShapeRef.new(shape: RuleGroupVariablesIpSetsDetails, location_name: "IpSets"))
4248
+ RuleGroupVariables.add_member(:port_sets, Shapes::ShapeRef.new(shape: RuleGroupVariablesPortSetsDetails, location_name: "PortSets"))
4249
+ RuleGroupVariables.struct_class = Types::RuleGroupVariables
4250
+
4251
+ RuleGroupVariablesIpSetsDetails.add_member(:definition, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Definition"))
4252
+ RuleGroupVariablesIpSetsDetails.struct_class = Types::RuleGroupVariablesIpSetsDetails
4253
+
4254
+ RuleGroupVariablesPortSetsDetails.add_member(:definition, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Definition"))
4255
+ RuleGroupVariablesPortSetsDetails.struct_class = Types::RuleGroupVariablesPortSetsDetails
4256
+
3939
4257
  SecurityGroups.member = Shapes::ShapeRef.new(shape: NonEmptyString)
3940
4258
 
3941
4259
  SensitiveDataDetections.add_member(:count, Shapes::ShapeRef.new(shape: Long, location_name: "Count"))
@@ -4005,10 +4323,14 @@ module Aws::SecurityHub
4005
4323
  StandardsInputParameterMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
4006
4324
  StandardsInputParameterMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
4007
4325
 
4326
+ StandardsStatusReason.add_member(:status_reason_code, Shapes::ShapeRef.new(shape: StatusReasonCode, required: true, location_name: "StatusReasonCode"))
4327
+ StandardsStatusReason.struct_class = Types::StandardsStatusReason
4328
+
4008
4329
  StandardsSubscription.add_member(:standards_subscription_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsSubscriptionArn"))
4009
4330
  StandardsSubscription.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
4010
4331
  StandardsSubscription.add_member(:standards_input, Shapes::ShapeRef.new(shape: StandardsInputParameterMap, required: true, location_name: "StandardsInput"))
4011
4332
  StandardsSubscription.add_member(:standards_status, Shapes::ShapeRef.new(shape: StandardsStatus, required: true, location_name: "StandardsStatus"))
4333
+ StandardsSubscription.add_member(:standards_status_reason, Shapes::ShapeRef.new(shape: StandardsStatusReason, location_name: "StandardsStatusReason"))
4012
4334
  StandardsSubscription.struct_class = Types::StandardsSubscription
4013
4335
 
4014
4336
  StandardsSubscriptionArns.member = Shapes::ShapeRef.new(shape: NonEmptyString)
@@ -4021,6 +4343,17 @@ module Aws::SecurityHub
4021
4343
 
4022
4344
  StandardsSubscriptions.member = Shapes::ShapeRef.new(shape: StandardsSubscription)
4023
4345
 
4346
+ StatelessCustomActionDefinition.add_member(:publish_metric_action, Shapes::ShapeRef.new(shape: StatelessCustomPublishMetricAction, location_name: "PublishMetricAction"))
4347
+ StatelessCustomActionDefinition.struct_class = Types::StatelessCustomActionDefinition
4348
+
4349
+ StatelessCustomPublishMetricAction.add_member(:dimensions, Shapes::ShapeRef.new(shape: StatelessCustomPublishMetricActionDimensionsList, location_name: "Dimensions"))
4350
+ StatelessCustomPublishMetricAction.struct_class = Types::StatelessCustomPublishMetricAction
4351
+
4352
+ StatelessCustomPublishMetricActionDimension.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
4353
+ StatelessCustomPublishMetricActionDimension.struct_class = Types::StatelessCustomPublishMetricActionDimension
4354
+
4355
+ StatelessCustomPublishMetricActionDimensionsList.member = Shapes::ShapeRef.new(shape: StatelessCustomPublishMetricActionDimension)
4356
+
4024
4357
  StatusReason.add_member(:reason_code, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ReasonCode"))
4025
4358
  StatusReason.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
4026
4359
  StatusReason.struct_class = Types::StatusReason
@@ -4071,6 +4404,17 @@ module Aws::SecurityHub
4071
4404
 
4072
4405
  UpdateActionTargetResponse.struct_class = Types::UpdateActionTargetResponse
4073
4406
 
4407
+ UpdateFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "FindingAggregatorArn"))
4408
+ UpdateFindingAggregatorRequest.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RegionLinkingMode"))
4409
+ UpdateFindingAggregatorRequest.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
4410
+ UpdateFindingAggregatorRequest.struct_class = Types::UpdateFindingAggregatorRequest
4411
+
4412
+ UpdateFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
4413
+ UpdateFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
4414
+ UpdateFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
4415
+ UpdateFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
4416
+ UpdateFindingAggregatorResponse.struct_class = Types::UpdateFindingAggregatorResponse
4417
+
4074
4418
  UpdateFindingsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, required: true, location_name: "Filters"))
4075
4419
  UpdateFindingsRequest.add_member(:note, Shapes::ShapeRef.new(shape: NoteUpdate, location_name: "Note"))
4076
4420
  UpdateFindingsRequest.add_member(:record_state, Shapes::ShapeRef.new(shape: RecordState, location_name: "RecordState"))
@@ -4243,6 +4587,19 @@ module Aws::SecurityHub
4243
4587
  o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException)
4244
4588
  end)
4245
4589
 
4590
+ api.add_operation(:create_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4591
+ o.name = "CreateFindingAggregator"
4592
+ o.http_method = "POST"
4593
+ o.http_request_uri = "/findingAggregator/create"
4594
+ o.input = Shapes::ShapeRef.new(shape: CreateFindingAggregatorRequest)
4595
+ o.output = Shapes::ShapeRef.new(shape: CreateFindingAggregatorResponse)
4596
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4597
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4598
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4599
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4600
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4601
+ end)
4602
+
4246
4603
  api.add_operation(:create_insight, Seahorse::Model::Operation.new.tap do |o|
4247
4604
  o.name = "CreateInsight"
4248
4605
  o.http_method = "POST"
@@ -4293,6 +4650,20 @@ module Aws::SecurityHub
4293
4650
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4294
4651
  end)
4295
4652
 
4653
+ api.add_operation(:delete_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4654
+ o.name = "DeleteFindingAggregator"
4655
+ o.http_method = "DELETE"
4656
+ o.http_request_uri = "/findingAggregator/delete/{FindingAggregatorArn+}"
4657
+ o.input = Shapes::ShapeRef.new(shape: DeleteFindingAggregatorRequest)
4658
+ o.output = Shapes::ShapeRef.new(shape: DeleteFindingAggregatorResponse)
4659
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4660
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4661
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4662
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4663
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4664
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4665
+ end)
4666
+
4296
4667
  api.add_operation(:delete_insight, Seahorse::Model::Operation.new.tap do |o|
4297
4668
  o.name = "DeleteInsight"
4298
4669
  o.http_method = "DELETE"
@@ -4574,6 +4945,20 @@ module Aws::SecurityHub
4574
4945
  )
4575
4946
  end)
4576
4947
 
4948
+ api.add_operation(:get_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4949
+ o.name = "GetFindingAggregator"
4950
+ o.http_method = "GET"
4951
+ o.http_request_uri = "/findingAggregator/get/{FindingAggregatorArn+}"
4952
+ o.input = Shapes::ShapeRef.new(shape: GetFindingAggregatorRequest)
4953
+ o.output = Shapes::ShapeRef.new(shape: GetFindingAggregatorResponse)
4954
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4955
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4956
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4957
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4958
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4959
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4960
+ end)
4961
+
4577
4962
  api.add_operation(:get_findings, Seahorse::Model::Operation.new.tap do |o|
4578
4963
  o.name = "GetFindings"
4579
4964
  o.http_method = "POST"
@@ -4693,6 +5078,25 @@ module Aws::SecurityHub
4693
5078
  )
4694
5079
  end)
4695
5080
 
5081
+ api.add_operation(:list_finding_aggregators, Seahorse::Model::Operation.new.tap do |o|
5082
+ o.name = "ListFindingAggregators"
5083
+ o.http_method = "GET"
5084
+ o.http_request_uri = "/findingAggregator/list"
5085
+ o.input = Shapes::ShapeRef.new(shape: ListFindingAggregatorsRequest)
5086
+ o.output = Shapes::ShapeRef.new(shape: ListFindingAggregatorsResponse)
5087
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5088
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5089
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5090
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
5091
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5092
+ o[:pager] = Aws::Pager.new(
5093
+ limit_key: "max_results",
5094
+ tokens: {
5095
+ "next_token" => "next_token"
5096
+ }
5097
+ )
5098
+ end)
5099
+
4696
5100
  api.add_operation(:list_invitations, Seahorse::Model::Operation.new.tap do |o|
4697
5101
  o.name = "ListInvitations"
4698
5102
  o.http_method = "GET"
@@ -4793,6 +5197,20 @@ module Aws::SecurityHub
4793
5197
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4794
5198
  end)
4795
5199
 
5200
+ api.add_operation(:update_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
5201
+ o.name = "UpdateFindingAggregator"
5202
+ o.http_method = "PATCH"
5203
+ o.http_request_uri = "/findingAggregator/update"
5204
+ o.input = Shapes::ShapeRef.new(shape: UpdateFindingAggregatorRequest)
5205
+ o.output = Shapes::ShapeRef.new(shape: UpdateFindingAggregatorResponse)
5206
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5207
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5208
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5209
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
5210
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5211
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5212
+ end)
5213
+
4796
5214
  api.add_operation(:update_findings, Seahorse::Model::Operation.new.tap do |o|
4797
5215
  o.name = "UpdateFindings"
4798
5216
  o.http_method = "PATCH"