aws-sdk-securityhub 1.77.0 → 1.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,6 +38,10 @@ module Aws::SecurityHub
38
38
  ArnList = Shapes::ListShape.new(name: 'ArnList')
39
39
  AssociatedStandard = Shapes::StructureShape.new(name: 'AssociatedStandard')
40
40
  AssociatedStandardsList = Shapes::ListShape.new(name: 'AssociatedStandardsList')
41
+ AssociationSetDetails = Shapes::StructureShape.new(name: 'AssociationSetDetails')
42
+ AssociationSetList = Shapes::ListShape.new(name: 'AssociationSetList')
43
+ AssociationStateDetails = Shapes::StructureShape.new(name: 'AssociationStateDetails')
44
+ AssociationStatus = Shapes::StringShape.new(name: 'AssociationStatus')
41
45
  AutoEnableStandards = Shapes::StringShape.new(name: 'AutoEnableStandards')
42
46
  AvailabilityZone = Shapes::StructureShape.new(name: 'AvailabilityZone')
43
47
  AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
@@ -157,6 +161,7 @@ module Aws::SecurityHub
157
161
  AwsEc2EipDetails = Shapes::StructureShape.new(name: 'AwsEc2EipDetails')
158
162
  AwsEc2InstanceDetails = Shapes::StructureShape.new(name: 'AwsEc2InstanceDetails')
159
163
  AwsEc2InstanceMetadataOptions = Shapes::StructureShape.new(name: 'AwsEc2InstanceMetadataOptions')
164
+ AwsEc2InstanceMonitoringDetails = Shapes::StructureShape.new(name: 'AwsEc2InstanceMonitoringDetails')
160
165
  AwsEc2InstanceNetworkInterfacesDetails = Shapes::StructureShape.new(name: 'AwsEc2InstanceNetworkInterfacesDetails')
161
166
  AwsEc2InstanceNetworkInterfacesList = Shapes::ListShape.new(name: 'AwsEc2InstanceNetworkInterfacesList')
162
167
  AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails = Shapes::StructureShape.new(name: 'AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails')
@@ -216,6 +221,7 @@ module Aws::SecurityHub
216
221
  AwsEc2NetworkInterfacePrivateIpAddressList = Shapes::ListShape.new(name: 'AwsEc2NetworkInterfacePrivateIpAddressList')
217
222
  AwsEc2NetworkInterfaceSecurityGroup = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceSecurityGroup')
218
223
  AwsEc2NetworkInterfaceSecurityGroupList = Shapes::ListShape.new(name: 'AwsEc2NetworkInterfaceSecurityGroupList')
224
+ AwsEc2RouteTableDetails = Shapes::StructureShape.new(name: 'AwsEc2RouteTableDetails')
219
225
  AwsEc2SecurityGroupDetails = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupDetails')
220
226
  AwsEc2SecurityGroupIpPermission = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupIpPermission')
221
227
  AwsEc2SecurityGroupIpPermissionList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupIpPermissionList')
@@ -526,6 +532,9 @@ module Aws::SecurityHub
526
532
  AwsS3BucketNotificationConfigurationS3KeyFilterRule = Shapes::StructureShape.new(name: 'AwsS3BucketNotificationConfigurationS3KeyFilterRule')
527
533
  AwsS3BucketNotificationConfigurationS3KeyFilterRuleName = Shapes::StringShape.new(name: 'AwsS3BucketNotificationConfigurationS3KeyFilterRuleName')
528
534
  AwsS3BucketNotificationConfigurationS3KeyFilterRules = Shapes::ListShape.new(name: 'AwsS3BucketNotificationConfigurationS3KeyFilterRules')
535
+ AwsS3BucketObjectLockConfiguration = Shapes::StructureShape.new(name: 'AwsS3BucketObjectLockConfiguration')
536
+ AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails = Shapes::StructureShape.new(name: 'AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails')
537
+ AwsS3BucketObjectLockConfigurationRuleDetails = Shapes::StructureShape.new(name: 'AwsS3BucketObjectLockConfigurationRuleDetails')
529
538
  AwsS3BucketServerSideEncryptionByDefault = Shapes::StructureShape.new(name: 'AwsS3BucketServerSideEncryptionByDefault')
530
539
  AwsS3BucketServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'AwsS3BucketServerSideEncryptionConfiguration')
531
540
  AwsS3BucketServerSideEncryptionRule = Shapes::StructureShape.new(name: 'AwsS3BucketServerSideEncryptionRule')
@@ -603,6 +612,10 @@ module Aws::SecurityHub
603
612
  BatchDisableStandardsResponse = Shapes::StructureShape.new(name: 'BatchDisableStandardsResponse')
604
613
  BatchEnableStandardsRequest = Shapes::StructureShape.new(name: 'BatchEnableStandardsRequest')
605
614
  BatchEnableStandardsResponse = Shapes::StructureShape.new(name: 'BatchEnableStandardsResponse')
615
+ BatchGetSecurityControlsRequest = Shapes::StructureShape.new(name: 'BatchGetSecurityControlsRequest')
616
+ BatchGetSecurityControlsResponse = Shapes::StructureShape.new(name: 'BatchGetSecurityControlsResponse')
617
+ BatchGetStandardsControlAssociationsRequest = Shapes::StructureShape.new(name: 'BatchGetStandardsControlAssociationsRequest')
618
+ BatchGetStandardsControlAssociationsResponse = Shapes::StructureShape.new(name: 'BatchGetStandardsControlAssociationsResponse')
606
619
  BatchImportFindingsRequest = Shapes::StructureShape.new(name: 'BatchImportFindingsRequest')
607
620
  BatchImportFindingsRequestFindingList = Shapes::ListShape.new(name: 'BatchImportFindingsRequestFindingList')
608
621
  BatchImportFindingsResponse = Shapes::StructureShape.new(name: 'BatchImportFindingsResponse')
@@ -610,6 +623,8 @@ module Aws::SecurityHub
610
623
  BatchUpdateFindingsResponse = Shapes::StructureShape.new(name: 'BatchUpdateFindingsResponse')
611
624
  BatchUpdateFindingsUnprocessedFinding = Shapes::StructureShape.new(name: 'BatchUpdateFindingsUnprocessedFinding')
612
625
  BatchUpdateFindingsUnprocessedFindingsList = Shapes::ListShape.new(name: 'BatchUpdateFindingsUnprocessedFindingsList')
626
+ BatchUpdateStandardsControlAssociationsRequest = Shapes::StructureShape.new(name: 'BatchUpdateStandardsControlAssociationsRequest')
627
+ BatchUpdateStandardsControlAssociationsResponse = Shapes::StructureShape.new(name: 'BatchUpdateStandardsControlAssociationsResponse')
613
628
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
614
629
  BooleanFilter = Shapes::StructureShape.new(name: 'BooleanFilter')
615
630
  BooleanFilterList = Shapes::ListShape.new(name: 'BooleanFilterList')
@@ -624,6 +639,7 @@ module Aws::SecurityHub
624
639
  Compliance = Shapes::StructureShape.new(name: 'Compliance')
625
640
  ComplianceStatus = Shapes::StringShape.new(name: 'ComplianceStatus')
626
641
  ContainerDetails = Shapes::StructureShape.new(name: 'ContainerDetails')
642
+ ControlFindingGenerator = Shapes::StringShape.new(name: 'ControlFindingGenerator')
627
643
  ControlStatus = Shapes::StringShape.new(name: 'ControlStatus')
628
644
  Country = Shapes::StructureShape.new(name: 'Country')
629
645
  CreateActionTargetRequest = Shapes::StructureShape.new(name: 'CreateActionTargetRequest')
@@ -759,6 +775,10 @@ module Aws::SecurityHub
759
775
  ListMembersResponse = Shapes::StructureShape.new(name: 'ListMembersResponse')
760
776
  ListOrganizationAdminAccountsRequest = Shapes::StructureShape.new(name: 'ListOrganizationAdminAccountsRequest')
761
777
  ListOrganizationAdminAccountsResponse = Shapes::StructureShape.new(name: 'ListOrganizationAdminAccountsResponse')
778
+ ListSecurityControlDefinitionsRequest = Shapes::StructureShape.new(name: 'ListSecurityControlDefinitionsRequest')
779
+ ListSecurityControlDefinitionsResponse = Shapes::StructureShape.new(name: 'ListSecurityControlDefinitionsResponse')
780
+ ListStandardsControlAssociationsRequest = Shapes::StructureShape.new(name: 'ListStandardsControlAssociationsRequest')
781
+ ListStandardsControlAssociationsResponse = Shapes::StructureShape.new(name: 'ListStandardsControlAssociationsResponse')
762
782
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
763
783
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
764
784
  LoadBalancerState = Shapes::StructureShape.new(name: 'LoadBalancerState')
@@ -802,6 +822,8 @@ module Aws::SecurityHub
802
822
  Product = Shapes::StructureShape.new(name: 'Product')
803
823
  ProductSubscriptionArnList = Shapes::ListShape.new(name: 'ProductSubscriptionArnList')
804
824
  ProductsList = Shapes::ListShape.new(name: 'ProductsList')
825
+ PropagatingVgwSetDetails = Shapes::StructureShape.new(name: 'PropagatingVgwSetDetails')
826
+ PropagatingVgwSetList = Shapes::ListShape.new(name: 'PropagatingVgwSetList')
805
827
  Range = Shapes::StructureShape.new(name: 'Range')
806
828
  Ranges = Shapes::ListShape.new(name: 'Ranges')
807
829
  RatioScale = Shapes::IntegerShape.new(name: 'RatioScale')
@@ -809,6 +831,7 @@ module Aws::SecurityHub
809
831
  Record = Shapes::StructureShape.new(name: 'Record')
810
832
  RecordState = Shapes::StringShape.new(name: 'RecordState')
811
833
  Records = Shapes::ListShape.new(name: 'Records')
834
+ RegionAvailabilityStatus = Shapes::StringShape.new(name: 'RegionAvailabilityStatus')
812
835
  RelatedFinding = Shapes::StructureShape.new(name: 'RelatedFinding')
813
836
  RelatedFindingList = Shapes::ListShape.new(name: 'RelatedFindingList')
814
837
  RelatedRequirementsList = Shapes::ListShape.new(name: 'RelatedRequirementsList')
@@ -821,6 +844,8 @@ module Aws::SecurityHub
821
844
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
822
845
  Result = Shapes::StructureShape.new(name: 'Result')
823
846
  ResultList = Shapes::ListShape.new(name: 'ResultList')
847
+ RouteSetDetails = Shapes::StructureShape.new(name: 'RouteSetDetails')
848
+ RouteSetList = Shapes::ListShape.new(name: 'RouteSetList')
824
849
  RuleGroupDetails = Shapes::StructureShape.new(name: 'RuleGroupDetails')
825
850
  RuleGroupSource = Shapes::StructureShape.new(name: 'RuleGroupSource')
826
851
  RuleGroupSourceCustomActionsDetails = Shapes::StructureShape.new(name: 'RuleGroupSourceCustomActionsDetails')
@@ -851,6 +876,10 @@ module Aws::SecurityHub
851
876
  RuleGroupVariables = Shapes::StructureShape.new(name: 'RuleGroupVariables')
852
877
  RuleGroupVariablesIpSetsDetails = Shapes::StructureShape.new(name: 'RuleGroupVariablesIpSetsDetails')
853
878
  RuleGroupVariablesPortSetsDetails = Shapes::StructureShape.new(name: 'RuleGroupVariablesPortSetsDetails')
879
+ SecurityControl = Shapes::StructureShape.new(name: 'SecurityControl')
880
+ SecurityControlDefinition = Shapes::StructureShape.new(name: 'SecurityControlDefinition')
881
+ SecurityControlDefinitions = Shapes::ListShape.new(name: 'SecurityControlDefinitions')
882
+ SecurityControls = Shapes::ListShape.new(name: 'SecurityControls')
854
883
  SecurityGroups = Shapes::ListShape.new(name: 'SecurityGroups')
855
884
  SensitiveDataDetections = Shapes::StructureShape.new(name: 'SensitiveDataDetections')
856
885
  SensitiveDataDetectionsList = Shapes::ListShape.new(name: 'SensitiveDataDetectionsList')
@@ -869,6 +898,15 @@ module Aws::SecurityHub
869
898
  Standard = Shapes::StructureShape.new(name: 'Standard')
870
899
  Standards = Shapes::ListShape.new(name: 'Standards')
871
900
  StandardsControl = Shapes::StructureShape.new(name: 'StandardsControl')
901
+ StandardsControlArnList = Shapes::ListShape.new(name: 'StandardsControlArnList')
902
+ StandardsControlAssociationDetail = Shapes::StructureShape.new(name: 'StandardsControlAssociationDetail')
903
+ StandardsControlAssociationDetails = Shapes::ListShape.new(name: 'StandardsControlAssociationDetails')
904
+ StandardsControlAssociationId = Shapes::StructureShape.new(name: 'StandardsControlAssociationId')
905
+ StandardsControlAssociationIds = Shapes::ListShape.new(name: 'StandardsControlAssociationIds')
906
+ StandardsControlAssociationSummaries = Shapes::ListShape.new(name: 'StandardsControlAssociationSummaries')
907
+ StandardsControlAssociationSummary = Shapes::StructureShape.new(name: 'StandardsControlAssociationSummary')
908
+ StandardsControlAssociationUpdate = Shapes::StructureShape.new(name: 'StandardsControlAssociationUpdate')
909
+ StandardsControlAssociationUpdates = Shapes::ListShape.new(name: 'StandardsControlAssociationUpdates')
872
910
  StandardsControls = Shapes::ListShape.new(name: 'StandardsControls')
873
911
  StandardsInputParameterMap = Shapes::MapShape.new(name: 'StandardsInputParameterMap')
874
912
  StandardsManagedBy = Shapes::StructureShape.new(name: 'StandardsManagedBy')
@@ -904,6 +942,13 @@ module Aws::SecurityHub
904
942
  ThreatList = Shapes::ListShape.new(name: 'ThreatList')
905
943
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp', timestampFormat: "iso8601")
906
944
  TypeList = Shapes::ListShape.new(name: 'TypeList')
945
+ UnprocessedErrorCode = Shapes::StringShape.new(name: 'UnprocessedErrorCode')
946
+ UnprocessedSecurityControl = Shapes::StructureShape.new(name: 'UnprocessedSecurityControl')
947
+ UnprocessedSecurityControls = Shapes::ListShape.new(name: 'UnprocessedSecurityControls')
948
+ UnprocessedStandardsControlAssociation = Shapes::StructureShape.new(name: 'UnprocessedStandardsControlAssociation')
949
+ UnprocessedStandardsControlAssociationUpdate = Shapes::StructureShape.new(name: 'UnprocessedStandardsControlAssociationUpdate')
950
+ UnprocessedStandardsControlAssociationUpdates = Shapes::ListShape.new(name: 'UnprocessedStandardsControlAssociationUpdates')
951
+ UnprocessedStandardsControlAssociations = Shapes::ListShape.new(name: 'UnprocessedStandardsControlAssociations')
907
952
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
908
953
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
909
954
  UpdateActionTargetRequest = Shapes::StructureShape.new(name: 'UpdateActionTargetRequest')
@@ -1016,6 +1061,20 @@ module Aws::SecurityHub
1016
1061
 
1017
1062
  AssociatedStandardsList.member = Shapes::ShapeRef.new(shape: AssociatedStandard)
1018
1063
 
1064
+ AssociationSetDetails.add_member(:association_state, Shapes::ShapeRef.new(shape: AssociationStateDetails, location_name: "AssociationState"))
1065
+ AssociationSetDetails.add_member(:gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GatewayId"))
1066
+ AssociationSetDetails.add_member(:main, Shapes::ShapeRef.new(shape: Boolean, location_name: "Main"))
1067
+ AssociationSetDetails.add_member(:route_table_association_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RouteTableAssociationId"))
1068
+ AssociationSetDetails.add_member(:route_table_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RouteTableId"))
1069
+ AssociationSetDetails.add_member(:subnet_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubnetId"))
1070
+ AssociationSetDetails.struct_class = Types::AssociationSetDetails
1071
+
1072
+ AssociationSetList.member = Shapes::ShapeRef.new(shape: AssociationSetDetails)
1073
+
1074
+ AssociationStateDetails.add_member(:state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "State"))
1075
+ AssociationStateDetails.add_member(:status_message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StatusMessage"))
1076
+ AssociationStateDetails.struct_class = Types::AssociationStateDetails
1077
+
1019
1078
  AvailabilityZone.add_member(:zone_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ZoneName"))
1020
1079
  AvailabilityZone.add_member(:subnet_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubnetId"))
1021
1080
  AvailabilityZone.struct_class = Types::AvailabilityZone
@@ -1728,6 +1787,7 @@ module Aws::SecurityHub
1728
1787
  AwsEc2InstanceDetails.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: AwsEc2InstanceNetworkInterfacesList, location_name: "NetworkInterfaces"))
1729
1788
  AwsEc2InstanceDetails.add_member(:virtualization_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VirtualizationType"))
1730
1789
  AwsEc2InstanceDetails.add_member(:metadata_options, Shapes::ShapeRef.new(shape: AwsEc2InstanceMetadataOptions, location_name: "MetadataOptions"))
1790
+ AwsEc2InstanceDetails.add_member(:monitoring, Shapes::ShapeRef.new(shape: AwsEc2InstanceMonitoringDetails, location_name: "Monitoring"))
1731
1791
  AwsEc2InstanceDetails.struct_class = Types::AwsEc2InstanceDetails
1732
1792
 
1733
1793
  AwsEc2InstanceMetadataOptions.add_member(:http_endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HttpEndpoint"))
@@ -1737,6 +1797,9 @@ module Aws::SecurityHub
1737
1797
  AwsEc2InstanceMetadataOptions.add_member(:instance_metadata_tags, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceMetadataTags"))
1738
1798
  AwsEc2InstanceMetadataOptions.struct_class = Types::AwsEc2InstanceMetadataOptions
1739
1799
 
1800
+ AwsEc2InstanceMonitoringDetails.add_member(:state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "State"))
1801
+ AwsEc2InstanceMonitoringDetails.struct_class = Types::AwsEc2InstanceMonitoringDetails
1802
+
1740
1803
  AwsEc2InstanceNetworkInterfacesDetails.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NetworkInterfaceId"))
1741
1804
  AwsEc2InstanceNetworkInterfacesDetails.struct_class = Types::AwsEc2InstanceNetworkInterfacesDetails
1742
1805
 
@@ -2041,6 +2104,14 @@ module Aws::SecurityHub
2041
2104
 
2042
2105
  AwsEc2NetworkInterfaceSecurityGroupList.member = Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceSecurityGroup)
2043
2106
 
2107
+ AwsEc2RouteTableDetails.add_member(:association_set, Shapes::ShapeRef.new(shape: AssociationSetList, location_name: "AssociationSet"))
2108
+ AwsEc2RouteTableDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
2109
+ AwsEc2RouteTableDetails.add_member(:propagating_vgw_set, Shapes::ShapeRef.new(shape: PropagatingVgwSetList, location_name: "PropagatingVgwSet"))
2110
+ AwsEc2RouteTableDetails.add_member(:route_table_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RouteTableId"))
2111
+ AwsEc2RouteTableDetails.add_member(:route_set, Shapes::ShapeRef.new(shape: RouteSetList, location_name: "RouteSet"))
2112
+ AwsEc2RouteTableDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
2113
+ AwsEc2RouteTableDetails.struct_class = Types::AwsEc2RouteTableDetails
2114
+
2044
2115
  AwsEc2SecurityGroupDetails.add_member(:group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupName"))
2045
2116
  AwsEc2SecurityGroupDetails.add_member(:group_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupId"))
2046
2117
  AwsEc2SecurityGroupDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
@@ -2678,6 +2749,7 @@ module Aws::SecurityHub
2678
2749
 
2679
2750
  AwsEksClusterResourcesVpcConfigDetails.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroupIds"))
2680
2751
  AwsEksClusterResourcesVpcConfigDetails.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SubnetIds"))
2752
+ AwsEksClusterResourcesVpcConfigDetails.add_member(:endpoint_public_access, Shapes::ShapeRef.new(shape: Boolean, location_name: "EndpointPublicAccess"))
2681
2753
  AwsEksClusterResourcesVpcConfigDetails.struct_class = Types::AwsEksClusterResourcesVpcConfigDetails
2682
2754
 
2683
2755
  AwsElasticBeanstalkEnvironmentDetails.add_member(:application_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ApplicationName"))
@@ -3733,6 +3805,7 @@ module Aws::SecurityHub
3733
3805
  AwsS3BucketDetails.add_member(:bucket_website_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketWebsiteConfiguration, location_name: "BucketWebsiteConfiguration"))
3734
3806
  AwsS3BucketDetails.add_member(:bucket_notification_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketNotificationConfiguration, location_name: "BucketNotificationConfiguration"))
3735
3807
  AwsS3BucketDetails.add_member(:bucket_versioning_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketBucketVersioningConfiguration, location_name: "BucketVersioningConfiguration"))
3808
+ AwsS3BucketDetails.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketObjectLockConfiguration, location_name: "ObjectLockConfiguration"))
3736
3809
  AwsS3BucketDetails.struct_class = Types::AwsS3BucketDetails
3737
3810
 
3738
3811
  AwsS3BucketLoggingConfiguration.add_member(:destination_bucket_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationBucketName"))
@@ -3764,6 +3837,18 @@ module Aws::SecurityHub
3764
3837
 
3765
3838
  AwsS3BucketNotificationConfigurationS3KeyFilterRules.member = Shapes::ShapeRef.new(shape: AwsS3BucketNotificationConfigurationS3KeyFilterRule)
3766
3839
 
3840
+ AwsS3BucketObjectLockConfiguration.add_member(:object_lock_enabled, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ObjectLockEnabled"))
3841
+ AwsS3BucketObjectLockConfiguration.add_member(:rule, Shapes::ShapeRef.new(shape: AwsS3BucketObjectLockConfigurationRuleDetails, location_name: "Rule"))
3842
+ AwsS3BucketObjectLockConfiguration.struct_class = Types::AwsS3BucketObjectLockConfiguration
3843
+
3844
+ AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails.add_member(:days, Shapes::ShapeRef.new(shape: Integer, location_name: "Days"))
3845
+ AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails.add_member(:mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Mode"))
3846
+ AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails.add_member(:years, Shapes::ShapeRef.new(shape: Integer, location_name: "Years"))
3847
+ AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails.struct_class = Types::AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails
3848
+
3849
+ AwsS3BucketObjectLockConfigurationRuleDetails.add_member(:default_retention, Shapes::ShapeRef.new(shape: AwsS3BucketObjectLockConfigurationRuleDefaultRetentionDetails, location_name: "DefaultRetention"))
3850
+ AwsS3BucketObjectLockConfigurationRuleDetails.struct_class = Types::AwsS3BucketObjectLockConfigurationRuleDetails
3851
+
3767
3852
  AwsS3BucketServerSideEncryptionByDefault.add_member(:sse_algorithm, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SSEAlgorithm"))
3768
3853
  AwsS3BucketServerSideEncryptionByDefault.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KMSMasterKeyID"))
3769
3854
  AwsS3BucketServerSideEncryptionByDefault.struct_class = Types::AwsS3BucketServerSideEncryptionByDefault
@@ -4273,6 +4358,20 @@ module Aws::SecurityHub
4273
4358
  BatchEnableStandardsResponse.add_member(:standards_subscriptions, Shapes::ShapeRef.new(shape: StandardsSubscriptions, location_name: "StandardsSubscriptions"))
4274
4359
  BatchEnableStandardsResponse.struct_class = Types::BatchEnableStandardsResponse
4275
4360
 
4361
+ BatchGetSecurityControlsRequest.add_member(:security_control_ids, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "SecurityControlIds"))
4362
+ BatchGetSecurityControlsRequest.struct_class = Types::BatchGetSecurityControlsRequest
4363
+
4364
+ BatchGetSecurityControlsResponse.add_member(:security_controls, Shapes::ShapeRef.new(shape: SecurityControls, required: true, location_name: "SecurityControls"))
4365
+ BatchGetSecurityControlsResponse.add_member(:unprocessed_ids, Shapes::ShapeRef.new(shape: UnprocessedSecurityControls, location_name: "UnprocessedIds"))
4366
+ BatchGetSecurityControlsResponse.struct_class = Types::BatchGetSecurityControlsResponse
4367
+
4368
+ BatchGetStandardsControlAssociationsRequest.add_member(:standards_control_association_ids, Shapes::ShapeRef.new(shape: StandardsControlAssociationIds, required: true, location_name: "StandardsControlAssociationIds"))
4369
+ BatchGetStandardsControlAssociationsRequest.struct_class = Types::BatchGetStandardsControlAssociationsRequest
4370
+
4371
+ BatchGetStandardsControlAssociationsResponse.add_member(:standards_control_association_details, Shapes::ShapeRef.new(shape: StandardsControlAssociationDetails, required: true, location_name: "StandardsControlAssociationDetails"))
4372
+ BatchGetStandardsControlAssociationsResponse.add_member(:unprocessed_associations, Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociations, location_name: "UnprocessedAssociations"))
4373
+ BatchGetStandardsControlAssociationsResponse.struct_class = Types::BatchGetStandardsControlAssociationsResponse
4374
+
4276
4375
  BatchImportFindingsRequest.add_member(:findings, Shapes::ShapeRef.new(shape: BatchImportFindingsRequestFindingList, required: true, location_name: "Findings"))
4277
4376
  BatchImportFindingsRequest.struct_class = Types::BatchImportFindingsRequest
4278
4377
 
@@ -4306,6 +4405,12 @@ module Aws::SecurityHub
4306
4405
 
4307
4406
  BatchUpdateFindingsUnprocessedFindingsList.member = Shapes::ShapeRef.new(shape: BatchUpdateFindingsUnprocessedFinding)
4308
4407
 
4408
+ BatchUpdateStandardsControlAssociationsRequest.add_member(:standards_control_association_updates, Shapes::ShapeRef.new(shape: StandardsControlAssociationUpdates, required: true, location_name: "StandardsControlAssociationUpdates"))
4409
+ BatchUpdateStandardsControlAssociationsRequest.struct_class = Types::BatchUpdateStandardsControlAssociationsRequest
4410
+
4411
+ BatchUpdateStandardsControlAssociationsResponse.add_member(:unprocessed_association_updates, Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociationUpdates, location_name: "UnprocessedAssociationUpdates"))
4412
+ BatchUpdateStandardsControlAssociationsResponse.struct_class = Types::BatchUpdateStandardsControlAssociationsResponse
4413
+
4309
4414
  BooleanFilter.add_member(:value, Shapes::ShapeRef.new(shape: Boolean, location_name: "Value"))
4310
4415
  BooleanFilter.struct_class = Types::BooleanFilter
4311
4416
 
@@ -4481,6 +4586,7 @@ module Aws::SecurityHub
4481
4586
  DescribeHubResponse.add_member(:hub_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HubArn"))
4482
4587
  DescribeHubResponse.add_member(:subscribed_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubscribedAt"))
4483
4588
  DescribeHubResponse.add_member(:auto_enable_controls, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnableControls"))
4589
+ DescribeHubResponse.add_member(:control_finding_generator, Shapes::ShapeRef.new(shape: ControlFindingGenerator, location_name: "ControlFindingGenerator"))
4484
4590
  DescribeHubResponse.struct_class = Types::DescribeHubResponse
4485
4591
 
4486
4592
  DescribeOrganizationConfigurationRequest.struct_class = Types::DescribeOrganizationConfigurationRequest
@@ -4561,6 +4667,7 @@ module Aws::SecurityHub
4561
4667
 
4562
4668
  EnableSecurityHubRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
4563
4669
  EnableSecurityHubRequest.add_member(:enable_default_standards, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableDefaultStandards"))
4670
+ EnableSecurityHubRequest.add_member(:control_finding_generator, Shapes::ShapeRef.new(shape: ControlFindingGenerator, location_name: "ControlFindingGenerator"))
4564
4671
  EnableSecurityHubRequest.struct_class = Types::EnableSecurityHubRequest
4565
4672
 
4566
4673
  EnableSecurityHubResponse.struct_class = Types::EnableSecurityHubResponse
@@ -4813,6 +4920,24 @@ module Aws::SecurityHub
4813
4920
  ListOrganizationAdminAccountsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
4814
4921
  ListOrganizationAdminAccountsResponse.struct_class = Types::ListOrganizationAdminAccountsResponse
4815
4922
 
4923
+ ListSecurityControlDefinitionsRequest.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location: "querystring", location_name: "StandardsArn"))
4924
+ ListSecurityControlDefinitionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
4925
+ ListSecurityControlDefinitionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
4926
+ ListSecurityControlDefinitionsRequest.struct_class = Types::ListSecurityControlDefinitionsRequest
4927
+
4928
+ ListSecurityControlDefinitionsResponse.add_member(:security_control_definitions, Shapes::ShapeRef.new(shape: SecurityControlDefinitions, required: true, location_name: "SecurityControlDefinitions"))
4929
+ ListSecurityControlDefinitionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
4930
+ ListSecurityControlDefinitionsResponse.struct_class = Types::ListSecurityControlDefinitionsResponse
4931
+
4932
+ ListStandardsControlAssociationsRequest.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "querystring", location_name: "SecurityControlId"))
4933
+ ListStandardsControlAssociationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
4934
+ ListStandardsControlAssociationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
4935
+ ListStandardsControlAssociationsRequest.struct_class = Types::ListStandardsControlAssociationsRequest
4936
+
4937
+ ListStandardsControlAssociationsResponse.add_member(:standards_control_association_summaries, Shapes::ShapeRef.new(shape: StandardsControlAssociationSummaries, required: true, location_name: "StandardsControlAssociationSummaries"))
4938
+ ListStandardsControlAssociationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
4939
+ ListStandardsControlAssociationsResponse.struct_class = Types::ListStandardsControlAssociationsResponse
4940
+
4816
4941
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location: "uri", location_name: "ResourceArn"))
4817
4942
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
4818
4943
 
@@ -4977,6 +5102,11 @@ module Aws::SecurityHub
4977
5102
 
4978
5103
  ProductsList.member = Shapes::ShapeRef.new(shape: Product)
4979
5104
 
5105
+ PropagatingVgwSetDetails.add_member(:gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GatewayId"))
5106
+ PropagatingVgwSetDetails.struct_class = Types::PropagatingVgwSetDetails
5107
+
5108
+ PropagatingVgwSetList.member = Shapes::ShapeRef.new(shape: PropagatingVgwSetDetails)
5109
+
4980
5110
  Range.add_member(:start, Shapes::ShapeRef.new(shape: Long, location_name: "Start"))
4981
5111
  Range.add_member(:end, Shapes::ShapeRef.new(shape: Long, location_name: "End"))
4982
5112
  Range.add_member(:start_column, Shapes::ShapeRef.new(shape: Long, location_name: "StartColumn"))
@@ -5102,6 +5232,7 @@ module Aws::SecurityHub
5102
5232
  ResourceDetails.add_member(:aws_sage_maker_notebook_instance, Shapes::ShapeRef.new(shape: AwsSageMakerNotebookInstanceDetails, location_name: "AwsSageMakerNotebookInstance"))
5103
5233
  ResourceDetails.add_member(:aws_wafv_2_web_acl, Shapes::ShapeRef.new(shape: AwsWafv2WebAclDetails, location_name: "AwsWafv2WebAcl"))
5104
5234
  ResourceDetails.add_member(:aws_wafv_2_rule_group, Shapes::ShapeRef.new(shape: AwsWafv2RuleGroupDetails, location_name: "AwsWafv2RuleGroup"))
5235
+ ResourceDetails.add_member(:aws_ec2_route_table, Shapes::ShapeRef.new(shape: AwsEc2RouteTableDetails, location_name: "AwsEc2RouteTable"))
5105
5236
  ResourceDetails.struct_class = Types::ResourceDetails
5106
5237
 
5107
5238
  ResourceList.member = Shapes::ShapeRef.new(shape: Resource)
@@ -5116,6 +5247,26 @@ module Aws::SecurityHub
5116
5247
 
5117
5248
  ResultList.member = Shapes::ShapeRef.new(shape: Result)
5118
5249
 
5250
+ RouteSetDetails.add_member(:carrier_gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CarrierGatewayId"))
5251
+ RouteSetDetails.add_member(:core_network_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CoreNetworkArn"))
5252
+ RouteSetDetails.add_member(:destination_cidr_block, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationCidrBlock"))
5253
+ RouteSetDetails.add_member(:destination_ipv_6_cidr_block, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationIpv6CidrBlock"))
5254
+ RouteSetDetails.add_member(:destination_prefix_list_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationPrefixListId"))
5255
+ RouteSetDetails.add_member(:egress_only_internet_gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EgressOnlyInternetGatewayId"))
5256
+ RouteSetDetails.add_member(:gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GatewayId"))
5257
+ RouteSetDetails.add_member(:instance_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceId"))
5258
+ RouteSetDetails.add_member(:instance_owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceOwnerId"))
5259
+ RouteSetDetails.add_member(:local_gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LocalGatewayId"))
5260
+ RouteSetDetails.add_member(:nat_gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NatGatewayId"))
5261
+ RouteSetDetails.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NetworkInterfaceId"))
5262
+ RouteSetDetails.add_member(:origin, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Origin"))
5263
+ RouteSetDetails.add_member(:state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "State"))
5264
+ RouteSetDetails.add_member(:transit_gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TransitGatewayId"))
5265
+ RouteSetDetails.add_member(:vpc_peering_connection_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcPeeringConnectionId"))
5266
+ RouteSetDetails.struct_class = Types::RouteSetDetails
5267
+
5268
+ RouteSetList.member = Shapes::ShapeRef.new(shape: RouteSetDetails)
5269
+
5119
5270
  RuleGroupDetails.add_member(:rule_variables, Shapes::ShapeRef.new(shape: RuleGroupVariables, location_name: "RuleVariables"))
5120
5271
  RuleGroupDetails.add_member(:rules_source, Shapes::ShapeRef.new(shape: RuleGroupSource, location_name: "RulesSource"))
5121
5272
  RuleGroupDetails.struct_class = Types::RuleGroupDetails
@@ -5222,6 +5373,27 @@ module Aws::SecurityHub
5222
5373
  RuleGroupVariablesPortSetsDetails.add_member(:definition, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Definition"))
5223
5374
  RuleGroupVariablesPortSetsDetails.struct_class = Types::RuleGroupVariablesPortSetsDetails
5224
5375
 
5376
+ SecurityControl.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5377
+ SecurityControl.add_member(:security_control_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlArn"))
5378
+ SecurityControl.add_member(:title, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Title"))
5379
+ SecurityControl.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
5380
+ SecurityControl.add_member(:remediation_url, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RemediationUrl"))
5381
+ SecurityControl.add_member(:severity_rating, Shapes::ShapeRef.new(shape: SeverityRating, required: true, location_name: "SeverityRating"))
5382
+ SecurityControl.add_member(:security_control_status, Shapes::ShapeRef.new(shape: ControlStatus, required: true, location_name: "SecurityControlStatus"))
5383
+ SecurityControl.struct_class = Types::SecurityControl
5384
+
5385
+ SecurityControlDefinition.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5386
+ SecurityControlDefinition.add_member(:title, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Title"))
5387
+ SecurityControlDefinition.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
5388
+ SecurityControlDefinition.add_member(:remediation_url, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RemediationUrl"))
5389
+ SecurityControlDefinition.add_member(:severity_rating, Shapes::ShapeRef.new(shape: SeverityRating, required: true, location_name: "SeverityRating"))
5390
+ SecurityControlDefinition.add_member(:current_region_availability, Shapes::ShapeRef.new(shape: RegionAvailabilityStatus, required: true, location_name: "CurrentRegionAvailability"))
5391
+ SecurityControlDefinition.struct_class = Types::SecurityControlDefinition
5392
+
5393
+ SecurityControlDefinitions.member = Shapes::ShapeRef.new(shape: SecurityControlDefinition)
5394
+
5395
+ SecurityControls.member = Shapes::ShapeRef.new(shape: SecurityControl)
5396
+
5225
5397
  SecurityGroups.member = Shapes::ShapeRef.new(shape: NonEmptyString)
5226
5398
 
5227
5399
  SensitiveDataDetections.add_member(:count, Shapes::ShapeRef.new(shape: Long, location_name: "Count"))
@@ -5291,6 +5463,49 @@ module Aws::SecurityHub
5291
5463
  StandardsControl.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
5292
5464
  StandardsControl.struct_class = Types::StandardsControl
5293
5465
 
5466
+ StandardsControlArnList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
5467
+
5468
+ StandardsControlAssociationDetail.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5469
+ StandardsControlAssociationDetail.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5470
+ StandardsControlAssociationDetail.add_member(:security_control_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlArn"))
5471
+ StandardsControlAssociationDetail.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, required: true, location_name: "AssociationStatus"))
5472
+ StandardsControlAssociationDetail.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
5473
+ StandardsControlAssociationDetail.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdatedAt"))
5474
+ StandardsControlAssociationDetail.add_member(:updated_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdatedReason"))
5475
+ StandardsControlAssociationDetail.add_member(:standards_control_title, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlTitle"))
5476
+ StandardsControlAssociationDetail.add_member(:standards_control_description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlDescription"))
5477
+ StandardsControlAssociationDetail.add_member(:standards_control_arns, Shapes::ShapeRef.new(shape: StandardsControlArnList, location_name: "StandardsControlArns"))
5478
+ StandardsControlAssociationDetail.struct_class = Types::StandardsControlAssociationDetail
5479
+
5480
+ StandardsControlAssociationDetails.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationDetail)
5481
+
5482
+ StandardsControlAssociationId.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5483
+ StandardsControlAssociationId.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5484
+ StandardsControlAssociationId.struct_class = Types::StandardsControlAssociationId
5485
+
5486
+ StandardsControlAssociationIds.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationId)
5487
+
5488
+ StandardsControlAssociationSummaries.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationSummary)
5489
+
5490
+ StandardsControlAssociationSummary.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5491
+ StandardsControlAssociationSummary.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5492
+ StandardsControlAssociationSummary.add_member(:security_control_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlArn"))
5493
+ StandardsControlAssociationSummary.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, required: true, location_name: "AssociationStatus"))
5494
+ StandardsControlAssociationSummary.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
5495
+ StandardsControlAssociationSummary.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdatedAt"))
5496
+ StandardsControlAssociationSummary.add_member(:updated_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdatedReason"))
5497
+ StandardsControlAssociationSummary.add_member(:standards_control_title, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlTitle"))
5498
+ StandardsControlAssociationSummary.add_member(:standards_control_description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlDescription"))
5499
+ StandardsControlAssociationSummary.struct_class = Types::StandardsControlAssociationSummary
5500
+
5501
+ StandardsControlAssociationUpdate.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5502
+ StandardsControlAssociationUpdate.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5503
+ StandardsControlAssociationUpdate.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, required: true, location_name: "AssociationStatus"))
5504
+ StandardsControlAssociationUpdate.add_member(:updated_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdatedReason"))
5505
+ StandardsControlAssociationUpdate.struct_class = Types::StandardsControlAssociationUpdate
5506
+
5507
+ StandardsControlAssociationUpdates.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationUpdate)
5508
+
5294
5509
  StandardsControls.member = Shapes::ShapeRef.new(shape: StandardsControl)
5295
5510
 
5296
5511
  StandardsInputParameterMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
@@ -5376,6 +5591,27 @@ module Aws::SecurityHub
5376
5591
 
5377
5592
  TypeList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
5378
5593
 
5594
+ UnprocessedSecurityControl.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5595
+ UnprocessedSecurityControl.add_member(:error_code, Shapes::ShapeRef.new(shape: UnprocessedErrorCode, required: true, location_name: "ErrorCode"))
5596
+ UnprocessedSecurityControl.add_member(:error_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ErrorReason"))
5597
+ UnprocessedSecurityControl.struct_class = Types::UnprocessedSecurityControl
5598
+
5599
+ UnprocessedSecurityControls.member = Shapes::ShapeRef.new(shape: UnprocessedSecurityControl)
5600
+
5601
+ UnprocessedStandardsControlAssociation.add_member(:standards_control_association_id, Shapes::ShapeRef.new(shape: StandardsControlAssociationId, required: true, location_name: "StandardsControlAssociationId"))
5602
+ UnprocessedStandardsControlAssociation.add_member(:error_code, Shapes::ShapeRef.new(shape: UnprocessedErrorCode, required: true, location_name: "ErrorCode"))
5603
+ UnprocessedStandardsControlAssociation.add_member(:error_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ErrorReason"))
5604
+ UnprocessedStandardsControlAssociation.struct_class = Types::UnprocessedStandardsControlAssociation
5605
+
5606
+ UnprocessedStandardsControlAssociationUpdate.add_member(:standards_control_association_update, Shapes::ShapeRef.new(shape: StandardsControlAssociationUpdate, required: true, location_name: "StandardsControlAssociationUpdate"))
5607
+ UnprocessedStandardsControlAssociationUpdate.add_member(:error_code, Shapes::ShapeRef.new(shape: UnprocessedErrorCode, required: true, location_name: "ErrorCode"))
5608
+ UnprocessedStandardsControlAssociationUpdate.add_member(:error_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ErrorReason"))
5609
+ UnprocessedStandardsControlAssociationUpdate.struct_class = Types::UnprocessedStandardsControlAssociationUpdate
5610
+
5611
+ UnprocessedStandardsControlAssociationUpdates.member = Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociationUpdate)
5612
+
5613
+ UnprocessedStandardsControlAssociations.member = Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociation)
5614
+
5379
5615
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location: "uri", location_name: "ResourceArn"))
5380
5616
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
5381
5617
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -5422,6 +5658,7 @@ module Aws::SecurityHub
5422
5658
  UpdateOrganizationConfigurationResponse.struct_class = Types::UpdateOrganizationConfigurationResponse
5423
5659
 
5424
5660
  UpdateSecurityHubConfigurationRequest.add_member(:auto_enable_controls, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnableControls"))
5661
+ UpdateSecurityHubConfigurationRequest.add_member(:control_finding_generator, Shapes::ShapeRef.new(shape: ControlFindingGenerator, location_name: "ControlFindingGenerator"))
5425
5662
  UpdateSecurityHubConfigurationRequest.struct_class = Types::UpdateSecurityHubConfigurationRequest
5426
5663
 
5427
5664
  UpdateSecurityHubConfigurationResponse.struct_class = Types::UpdateSecurityHubConfigurationResponse
@@ -5558,6 +5795,30 @@ module Aws::SecurityHub
5558
5795
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5559
5796
  end)
5560
5797
 
5798
+ api.add_operation(:batch_get_security_controls, Seahorse::Model::Operation.new.tap do |o|
5799
+ o.name = "BatchGetSecurityControls"
5800
+ o.http_method = "POST"
5801
+ o.http_request_uri = "/securityControls/batchGet"
5802
+ o.input = Shapes::ShapeRef.new(shape: BatchGetSecurityControlsRequest)
5803
+ o.output = Shapes::ShapeRef.new(shape: BatchGetSecurityControlsResponse)
5804
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5805
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5806
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5807
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5808
+ end)
5809
+
5810
+ api.add_operation(:batch_get_standards_control_associations, Seahorse::Model::Operation.new.tap do |o|
5811
+ o.name = "BatchGetStandardsControlAssociations"
5812
+ o.http_method = "POST"
5813
+ o.http_request_uri = "/associations/batchGet"
5814
+ o.input = Shapes::ShapeRef.new(shape: BatchGetStandardsControlAssociationsRequest)
5815
+ o.output = Shapes::ShapeRef.new(shape: BatchGetStandardsControlAssociationsResponse)
5816
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5817
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5818
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5819
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5820
+ end)
5821
+
5561
5822
  api.add_operation(:batch_import_findings, Seahorse::Model::Operation.new.tap do |o|
5562
5823
  o.name = "BatchImportFindings"
5563
5824
  o.http_method = "POST"
@@ -5582,6 +5843,18 @@ module Aws::SecurityHub
5582
5843
  o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5583
5844
  end)
5584
5845
 
5846
+ api.add_operation(:batch_update_standards_control_associations, Seahorse::Model::Operation.new.tap do |o|
5847
+ o.name = "BatchUpdateStandardsControlAssociations"
5848
+ o.http_method = "PATCH"
5849
+ o.http_request_uri = "/associations"
5850
+ o.input = Shapes::ShapeRef.new(shape: BatchUpdateStandardsControlAssociationsRequest)
5851
+ o.output = Shapes::ShapeRef.new(shape: BatchUpdateStandardsControlAssociationsResponse)
5852
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5853
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5854
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5855
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5856
+ end)
5857
+
5585
5858
  api.add_operation(:create_action_target, Seahorse::Model::Operation.new.tap do |o|
5586
5859
  o.name = "CreateActionTarget"
5587
5860
  o.http_method = "POST"
@@ -6159,6 +6432,42 @@ module Aws::SecurityHub
6159
6432
  )
6160
6433
  end)
6161
6434
 
6435
+ api.add_operation(:list_security_control_definitions, Seahorse::Model::Operation.new.tap do |o|
6436
+ o.name = "ListSecurityControlDefinitions"
6437
+ o.http_method = "GET"
6438
+ o.http_request_uri = "/securityControls/definitions"
6439
+ o.input = Shapes::ShapeRef.new(shape: ListSecurityControlDefinitionsRequest)
6440
+ o.output = Shapes::ShapeRef.new(shape: ListSecurityControlDefinitionsResponse)
6441
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
6442
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
6443
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
6444
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
6445
+ o[:pager] = Aws::Pager.new(
6446
+ limit_key: "max_results",
6447
+ tokens: {
6448
+ "next_token" => "next_token"
6449
+ }
6450
+ )
6451
+ end)
6452
+
6453
+ api.add_operation(:list_standards_control_associations, Seahorse::Model::Operation.new.tap do |o|
6454
+ o.name = "ListStandardsControlAssociations"
6455
+ o.http_method = "GET"
6456
+ o.http_request_uri = "/associations"
6457
+ o.input = Shapes::ShapeRef.new(shape: ListStandardsControlAssociationsRequest)
6458
+ o.output = Shapes::ShapeRef.new(shape: ListStandardsControlAssociationsResponse)
6459
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
6460
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
6461
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
6462
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
6463
+ o[:pager] = Aws::Pager.new(
6464
+ limit_key: "max_results",
6465
+ tokens: {
6466
+ "next_token" => "next_token"
6467
+ }
6468
+ )
6469
+ end)
6470
+
6162
6471
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
6163
6472
  o.name = "ListTagsForResource"
6164
6473
  o.http_method = "GET"