aws-sdk-securityhub 1.52.0 → 1.56.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.
@@ -82,10 +82,18 @@ module Aws::SecurityHub
82
82
  AwsCloudFrontDistributionOriginItemList = Shapes::ListShape.new(name: 'AwsCloudFrontDistributionOriginItemList')
83
83
  AwsCloudFrontDistributionOriginS3OriginConfig = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionOriginS3OriginConfig')
84
84
  AwsCloudFrontDistributionOrigins = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionOrigins')
85
+ AwsCloudFrontDistributionViewerCertificate = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionViewerCertificate')
85
86
  AwsCloudTrailTrailDetails = Shapes::StructureShape.new(name: 'AwsCloudTrailTrailDetails')
87
+ AwsCodeBuildProjectArtifactsDetails = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectArtifactsDetails')
88
+ AwsCodeBuildProjectArtifactsList = Shapes::ListShape.new(name: 'AwsCodeBuildProjectArtifactsList')
86
89
  AwsCodeBuildProjectDetails = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectDetails')
87
90
  AwsCodeBuildProjectEnvironment = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectEnvironment')
91
+ AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails')
92
+ AwsCodeBuildProjectEnvironmentEnvironmentVariablesList = Shapes::ListShape.new(name: 'AwsCodeBuildProjectEnvironmentEnvironmentVariablesList')
88
93
  AwsCodeBuildProjectEnvironmentRegistryCredential = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectEnvironmentRegistryCredential')
94
+ AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails')
95
+ AwsCodeBuildProjectLogsConfigDetails = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectLogsConfigDetails')
96
+ AwsCodeBuildProjectLogsConfigS3LogsDetails = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectLogsConfigS3LogsDetails')
89
97
  AwsCodeBuildProjectSource = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectSource')
90
98
  AwsCodeBuildProjectVpcConfig = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectVpcConfig')
91
99
  AwsCorsConfiguration = Shapes::StructureShape.new(name: 'AwsCorsConfiguration')
@@ -142,6 +150,9 @@ module Aws::SecurityHub
142
150
  AwsEc2VolumeAttachmentList = Shapes::ListShape.new(name: 'AwsEc2VolumeAttachmentList')
143
151
  AwsEc2VolumeDetails = Shapes::StructureShape.new(name: 'AwsEc2VolumeDetails')
144
152
  AwsEc2VpcDetails = Shapes::StructureShape.new(name: 'AwsEc2VpcDetails')
153
+ AwsEc2VpcEndpointServiceDetails = Shapes::StructureShape.new(name: 'AwsEc2VpcEndpointServiceDetails')
154
+ AwsEc2VpcEndpointServiceServiceTypeDetails = Shapes::StructureShape.new(name: 'AwsEc2VpcEndpointServiceServiceTypeDetails')
155
+ AwsEc2VpcEndpointServiceServiceTypeList = Shapes::ListShape.new(name: 'AwsEc2VpcEndpointServiceServiceTypeList')
145
156
  AwsEc2VpnConnectionDetails = Shapes::StructureShape.new(name: 'AwsEc2VpnConnectionDetails')
146
157
  AwsEc2VpnConnectionOptionsDetails = Shapes::StructureShape.new(name: 'AwsEc2VpnConnectionOptionsDetails')
147
158
  AwsEc2VpnConnectionOptionsTunnelOptionsDetails = Shapes::StructureShape.new(name: 'AwsEc2VpnConnectionOptionsTunnelOptionsDetails')
@@ -151,6 +162,9 @@ module Aws::SecurityHub
151
162
  AwsEc2VpnConnectionVgwTelemetryDetails = Shapes::StructureShape.new(name: 'AwsEc2VpnConnectionVgwTelemetryDetails')
152
163
  AwsEc2VpnConnectionVgwTelemetryList = Shapes::ListShape.new(name: 'AwsEc2VpnConnectionVgwTelemetryList')
153
164
  AwsEcrContainerImageDetails = Shapes::StructureShape.new(name: 'AwsEcrContainerImageDetails')
165
+ AwsEcrRepositoryDetails = Shapes::StructureShape.new(name: 'AwsEcrRepositoryDetails')
166
+ AwsEcrRepositoryImageScanningConfigurationDetails = Shapes::StructureShape.new(name: 'AwsEcrRepositoryImageScanningConfigurationDetails')
167
+ AwsEcrRepositoryLifecyclePolicyDetails = Shapes::StructureShape.new(name: 'AwsEcrRepositoryLifecyclePolicyDetails')
154
168
  AwsEcsClusterClusterSettingsDetails = Shapes::StructureShape.new(name: 'AwsEcsClusterClusterSettingsDetails')
155
169
  AwsEcsClusterClusterSettingsList = Shapes::ListShape.new(name: 'AwsEcsClusterClusterSettingsList')
156
170
  AwsEcsClusterConfigurationDetails = Shapes::StructureShape.new(name: 'AwsEcsClusterConfigurationDetails')
@@ -225,6 +239,11 @@ module Aws::SecurityHub
225
239
  AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails = Shapes::StructureShape.new(name: 'AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails')
226
240
  AwsEcsTaskDefinitionVolumesHostDetails = Shapes::StructureShape.new(name: 'AwsEcsTaskDefinitionVolumesHostDetails')
227
241
  AwsEcsTaskDefinitionVolumesList = Shapes::ListShape.new(name: 'AwsEcsTaskDefinitionVolumesList')
242
+ AwsEksClusterDetails = Shapes::StructureShape.new(name: 'AwsEksClusterDetails')
243
+ AwsEksClusterLoggingClusterLoggingDetails = Shapes::StructureShape.new(name: 'AwsEksClusterLoggingClusterLoggingDetails')
244
+ AwsEksClusterLoggingClusterLoggingList = Shapes::ListShape.new(name: 'AwsEksClusterLoggingClusterLoggingList')
245
+ AwsEksClusterLoggingDetails = Shapes::StructureShape.new(name: 'AwsEksClusterLoggingDetails')
246
+ AwsEksClusterResourcesVpcConfigDetails = Shapes::StructureShape.new(name: 'AwsEksClusterResourcesVpcConfigDetails')
228
247
  AwsElasticBeanstalkEnvironmentDetails = Shapes::StructureShape.new(name: 'AwsElasticBeanstalkEnvironmentDetails')
229
248
  AwsElasticBeanstalkEnvironmentEnvironmentLink = Shapes::StructureShape.new(name: 'AwsElasticBeanstalkEnvironmentEnvironmentLink')
230
249
  AwsElasticBeanstalkEnvironmentEnvironmentLinks = Shapes::ListShape.new(name: 'AwsElasticBeanstalkEnvironmentEnvironmentLinks')
@@ -261,6 +280,8 @@ module Aws::SecurityHub
261
280
  AwsElbLoadBalancerListenerDescriptions = Shapes::ListShape.new(name: 'AwsElbLoadBalancerListenerDescriptions')
262
281
  AwsElbLoadBalancerPolicies = Shapes::StructureShape.new(name: 'AwsElbLoadBalancerPolicies')
263
282
  AwsElbLoadBalancerSourceSecurityGroup = Shapes::StructureShape.new(name: 'AwsElbLoadBalancerSourceSecurityGroup')
283
+ AwsElbv2LoadBalancerAttribute = Shapes::StructureShape.new(name: 'AwsElbv2LoadBalancerAttribute')
284
+ AwsElbv2LoadBalancerAttributes = Shapes::ListShape.new(name: 'AwsElbv2LoadBalancerAttributes')
264
285
  AwsElbv2LoadBalancerDetails = Shapes::StructureShape.new(name: 'AwsElbv2LoadBalancerDetails')
265
286
  AwsIamAccessKeyDetails = Shapes::StructureShape.new(name: 'AwsIamAccessKeyDetails')
266
287
  AwsIamAccessKeySessionContext = Shapes::StructureShape.new(name: 'AwsIamAccessKeySessionContext')
@@ -299,6 +320,16 @@ module Aws::SecurityHub
299
320
  AwsLambdaFunctionVpcConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionVpcConfig')
300
321
  AwsLambdaLayerVersionDetails = Shapes::StructureShape.new(name: 'AwsLambdaLayerVersionDetails')
301
322
  AwsLambdaLayerVersionNumber = Shapes::IntegerShape.new(name: 'AwsLambdaLayerVersionNumber')
323
+ AwsOpenSearchServiceDomainClusterConfigDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainClusterConfigDetails')
324
+ AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails')
325
+ AwsOpenSearchServiceDomainDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainDetails')
326
+ AwsOpenSearchServiceDomainDomainEndpointOptionsDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainDomainEndpointOptionsDetails')
327
+ AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails')
328
+ AwsOpenSearchServiceDomainLogPublishingOption = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainLogPublishingOption')
329
+ AwsOpenSearchServiceDomainLogPublishingOptionsDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainLogPublishingOptionsDetails')
330
+ AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails')
331
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails')
332
+ AwsOpenSearchServiceDomainVpcOptionsDetails = Shapes::StructureShape.new(name: 'AwsOpenSearchServiceDomainVpcOptionsDetails')
302
333
  AwsRdsDbClusterAssociatedRole = Shapes::StructureShape.new(name: 'AwsRdsDbClusterAssociatedRole')
303
334
  AwsRdsDbClusterAssociatedRoles = Shapes::ListShape.new(name: 'AwsRdsDbClusterAssociatedRoles')
304
335
  AwsRdsDbClusterDetails = Shapes::StructureShape.new(name: 'AwsRdsDbClusterDetails')
@@ -404,9 +435,16 @@ module Aws::SecurityHub
404
435
  AwsSsmComplianceSummary = Shapes::StructureShape.new(name: 'AwsSsmComplianceSummary')
405
436
  AwsSsmPatch = Shapes::StructureShape.new(name: 'AwsSsmPatch')
406
437
  AwsSsmPatchComplianceDetails = Shapes::StructureShape.new(name: 'AwsSsmPatchComplianceDetails')
438
+ AwsWafRateBasedRuleDetails = Shapes::StructureShape.new(name: 'AwsWafRateBasedRuleDetails')
439
+ AwsWafRateBasedRuleMatchPredicate = Shapes::StructureShape.new(name: 'AwsWafRateBasedRuleMatchPredicate')
440
+ AwsWafRateBasedRuleMatchPredicateList = Shapes::ListShape.new(name: 'AwsWafRateBasedRuleMatchPredicateList')
441
+ AwsWafRegionalRateBasedRuleDetails = Shapes::StructureShape.new(name: 'AwsWafRegionalRateBasedRuleDetails')
442
+ AwsWafRegionalRateBasedRuleMatchPredicate = Shapes::StructureShape.new(name: 'AwsWafRegionalRateBasedRuleMatchPredicate')
443
+ AwsWafRegionalRateBasedRuleMatchPredicateList = Shapes::ListShape.new(name: 'AwsWafRegionalRateBasedRuleMatchPredicateList')
407
444
  AwsWafWebAclDetails = Shapes::StructureShape.new(name: 'AwsWafWebAclDetails')
408
445
  AwsWafWebAclRule = Shapes::StructureShape.new(name: 'AwsWafWebAclRule')
409
446
  AwsWafWebAclRuleList = Shapes::ListShape.new(name: 'AwsWafWebAclRuleList')
447
+ AwsXrayEncryptionConfigDetails = Shapes::StructureShape.new(name: 'AwsXrayEncryptionConfigDetails')
410
448
  BatchDisableStandardsRequest = Shapes::StructureShape.new(name: 'BatchDisableStandardsRequest')
411
449
  BatchDisableStandardsResponse = Shapes::StructureShape.new(name: 'BatchDisableStandardsResponse')
412
450
  BatchEnableStandardsRequest = Shapes::StructureShape.new(name: 'BatchEnableStandardsRequest')
@@ -434,6 +472,8 @@ module Aws::SecurityHub
434
472
  Country = Shapes::StructureShape.new(name: 'Country')
435
473
  CreateActionTargetRequest = Shapes::StructureShape.new(name: 'CreateActionTargetRequest')
436
474
  CreateActionTargetResponse = Shapes::StructureShape.new(name: 'CreateActionTargetResponse')
475
+ CreateFindingAggregatorRequest = Shapes::StructureShape.new(name: 'CreateFindingAggregatorRequest')
476
+ CreateFindingAggregatorResponse = Shapes::StructureShape.new(name: 'CreateFindingAggregatorResponse')
437
477
  CreateInsightRequest = Shapes::StructureShape.new(name: 'CreateInsightRequest')
438
478
  CreateInsightResponse = Shapes::StructureShape.new(name: 'CreateInsightResponse')
439
479
  CreateMembersRequest = Shapes::StructureShape.new(name: 'CreateMembersRequest')
@@ -453,6 +493,8 @@ module Aws::SecurityHub
453
493
  DeclineInvitationsResponse = Shapes::StructureShape.new(name: 'DeclineInvitationsResponse')
454
494
  DeleteActionTargetRequest = Shapes::StructureShape.new(name: 'DeleteActionTargetRequest')
455
495
  DeleteActionTargetResponse = Shapes::StructureShape.new(name: 'DeleteActionTargetResponse')
496
+ DeleteFindingAggregatorRequest = Shapes::StructureShape.new(name: 'DeleteFindingAggregatorRequest')
497
+ DeleteFindingAggregatorResponse = Shapes::StructureShape.new(name: 'DeleteFindingAggregatorResponse')
456
498
  DeleteInsightRequest = Shapes::StructureShape.new(name: 'DeleteInsightRequest')
457
499
  DeleteInsightResponse = Shapes::StructureShape.new(name: 'DeleteInsightResponse')
458
500
  DeleteInvitationsRequest = Shapes::StructureShape.new(name: 'DeleteInvitationsRequest')
@@ -492,6 +534,8 @@ module Aws::SecurityHub
492
534
  EnableSecurityHubRequest = Shapes::StructureShape.new(name: 'EnableSecurityHubRequest')
493
535
  EnableSecurityHubResponse = Shapes::StructureShape.new(name: 'EnableSecurityHubResponse')
494
536
  FieldMap = Shapes::MapShape.new(name: 'FieldMap')
537
+ FindingAggregator = Shapes::StructureShape.new(name: 'FindingAggregator')
538
+ FindingAggregatorList = Shapes::ListShape.new(name: 'FindingAggregatorList')
495
539
  FindingProviderFields = Shapes::StructureShape.new(name: 'FindingProviderFields')
496
540
  FindingProviderSeverity = Shapes::StructureShape.new(name: 'FindingProviderSeverity')
497
541
  GeoLocation = Shapes::StructureShape.new(name: 'GeoLocation')
@@ -499,6 +543,8 @@ module Aws::SecurityHub
499
543
  GetAdministratorAccountResponse = Shapes::StructureShape.new(name: 'GetAdministratorAccountResponse')
500
544
  GetEnabledStandardsRequest = Shapes::StructureShape.new(name: 'GetEnabledStandardsRequest')
501
545
  GetEnabledStandardsResponse = Shapes::StructureShape.new(name: 'GetEnabledStandardsResponse')
546
+ GetFindingAggregatorRequest = Shapes::StructureShape.new(name: 'GetFindingAggregatorRequest')
547
+ GetFindingAggregatorResponse = Shapes::StructureShape.new(name: 'GetFindingAggregatorResponse')
502
548
  GetFindingsRequest = Shapes::StructureShape.new(name: 'GetFindingsRequest')
503
549
  GetFindingsResponse = Shapes::StructureShape.new(name: 'GetFindingsResponse')
504
550
  GetInsightResultsRequest = Shapes::StructureShape.new(name: 'GetInsightResultsRequest')
@@ -540,6 +586,8 @@ module Aws::SecurityHub
540
586
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
541
587
  ListEnabledProductsForImportRequest = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportRequest')
542
588
  ListEnabledProductsForImportResponse = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportResponse')
589
+ ListFindingAggregatorsRequest = Shapes::StructureShape.new(name: 'ListFindingAggregatorsRequest')
590
+ ListFindingAggregatorsResponse = Shapes::StructureShape.new(name: 'ListFindingAggregatorsResponse')
543
591
  ListInvitationsRequest = Shapes::StructureShape.new(name: 'ListInvitationsRequest')
544
592
  ListInvitationsResponse = Shapes::StructureShape.new(name: 'ListInvitationsResponse')
545
593
  ListMembersRequest = Shapes::StructureShape.new(name: 'ListMembersRequest')
@@ -656,6 +704,8 @@ module Aws::SecurityHub
656
704
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
657
705
  UpdateActionTargetRequest = Shapes::StructureShape.new(name: 'UpdateActionTargetRequest')
658
706
  UpdateActionTargetResponse = Shapes::StructureShape.new(name: 'UpdateActionTargetResponse')
707
+ UpdateFindingAggregatorRequest = Shapes::StructureShape.new(name: 'UpdateFindingAggregatorRequest')
708
+ UpdateFindingAggregatorResponse = Shapes::StructureShape.new(name: 'UpdateFindingAggregatorResponse')
659
709
  UpdateFindingsRequest = Shapes::StructureShape.new(name: 'UpdateFindingsRequest')
660
710
  UpdateFindingsResponse = Shapes::StructureShape.new(name: 'UpdateFindingsResponse')
661
711
  UpdateInsightRequest = Shapes::StructureShape.new(name: 'UpdateInsightRequest')
@@ -986,6 +1036,7 @@ module Aws::SecurityHub
986
1036
  AwsCloudFrontDistributionDetails.add_member(:logging, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionLogging, location_name: "Logging"))
987
1037
  AwsCloudFrontDistributionDetails.add_member(:origins, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionOrigins, location_name: "Origins"))
988
1038
  AwsCloudFrontDistributionDetails.add_member(:origin_groups, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionOriginGroups, location_name: "OriginGroups"))
1039
+ AwsCloudFrontDistributionDetails.add_member(:viewer_certificate, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionViewerCertificate, location_name: "ViewerCertificate"))
989
1040
  AwsCloudFrontDistributionDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
990
1041
  AwsCloudFrontDistributionDetails.add_member(:web_acl_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "WebAclId"))
991
1042
  AwsCloudFrontDistributionDetails.struct_class = Types::AwsCloudFrontDistributionDetails
@@ -1027,6 +1078,15 @@ module Aws::SecurityHub
1027
1078
  AwsCloudFrontDistributionOrigins.add_member(:items, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionOriginItemList, location_name: "Items"))
1028
1079
  AwsCloudFrontDistributionOrigins.struct_class = Types::AwsCloudFrontDistributionOrigins
1029
1080
 
1081
+ AwsCloudFrontDistributionViewerCertificate.add_member(:acm_certificate_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AcmCertificateArn"))
1082
+ AwsCloudFrontDistributionViewerCertificate.add_member(:certificate, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Certificate"))
1083
+ AwsCloudFrontDistributionViewerCertificate.add_member(:certificate_source, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CertificateSource"))
1084
+ AwsCloudFrontDistributionViewerCertificate.add_member(:cloud_front_default_certificate, Shapes::ShapeRef.new(shape: Boolean, location_name: "CloudFrontDefaultCertificate"))
1085
+ AwsCloudFrontDistributionViewerCertificate.add_member(:iam_certificate_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IamCertificateId"))
1086
+ AwsCloudFrontDistributionViewerCertificate.add_member(:minimum_protocol_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MinimumProtocolVersion"))
1087
+ AwsCloudFrontDistributionViewerCertificate.add_member(:ssl_support_method, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SslSupportMethod"))
1088
+ AwsCloudFrontDistributionViewerCertificate.struct_class = Types::AwsCloudFrontDistributionViewerCertificate
1089
+
1030
1090
  AwsCloudTrailTrailDetails.add_member(:cloud_watch_logs_log_group_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CloudWatchLogsLogGroupArn"))
1031
1091
  AwsCloudTrailTrailDetails.add_member(:cloud_watch_logs_role_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CloudWatchLogsRoleArn"))
1032
1092
  AwsCloudTrailTrailDetails.add_member(:has_custom_event_selectors, Shapes::ShapeRef.new(shape: Boolean, location_name: "HasCustomEventSelectors"))
@@ -1044,24 +1104,62 @@ module Aws::SecurityHub
1044
1104
  AwsCloudTrailTrailDetails.add_member(:trail_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TrailArn"))
1045
1105
  AwsCloudTrailTrailDetails.struct_class = Types::AwsCloudTrailTrailDetails
1046
1106
 
1107
+ AwsCodeBuildProjectArtifactsDetails.add_member(:artifact_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ArtifactIdentifier"))
1108
+ AwsCodeBuildProjectArtifactsDetails.add_member(:encryption_disabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "EncryptionDisabled"))
1109
+ AwsCodeBuildProjectArtifactsDetails.add_member(:location, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Location"))
1110
+ AwsCodeBuildProjectArtifactsDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
1111
+ AwsCodeBuildProjectArtifactsDetails.add_member(:namespace_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NamespaceType"))
1112
+ AwsCodeBuildProjectArtifactsDetails.add_member(:override_artifact_name, Shapes::ShapeRef.new(shape: Boolean, location_name: "OverrideArtifactName"))
1113
+ AwsCodeBuildProjectArtifactsDetails.add_member(:packaging, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Packaging"))
1114
+ AwsCodeBuildProjectArtifactsDetails.add_member(:path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Path"))
1115
+ AwsCodeBuildProjectArtifactsDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
1116
+ AwsCodeBuildProjectArtifactsDetails.struct_class = Types::AwsCodeBuildProjectArtifactsDetails
1117
+
1118
+ AwsCodeBuildProjectArtifactsList.member = Shapes::ShapeRef.new(shape: AwsCodeBuildProjectArtifactsDetails)
1119
+
1047
1120
  AwsCodeBuildProjectDetails.add_member(:encryption_key, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EncryptionKey"))
1121
+ AwsCodeBuildProjectDetails.add_member(:artifacts, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectArtifactsList, location_name: "Artifacts"))
1048
1122
  AwsCodeBuildProjectDetails.add_member(:environment, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectEnvironment, location_name: "Environment"))
1049
1123
  AwsCodeBuildProjectDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
1050
1124
  AwsCodeBuildProjectDetails.add_member(:source, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectSource, location_name: "Source"))
1051
1125
  AwsCodeBuildProjectDetails.add_member(:service_role, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ServiceRole"))
1126
+ AwsCodeBuildProjectDetails.add_member(:logs_config, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectLogsConfigDetails, location_name: "LogsConfig"))
1052
1127
  AwsCodeBuildProjectDetails.add_member(:vpc_config, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectVpcConfig, location_name: "VpcConfig"))
1053
1128
  AwsCodeBuildProjectDetails.struct_class = Types::AwsCodeBuildProjectDetails
1054
1129
 
1055
1130
  AwsCodeBuildProjectEnvironment.add_member(:certificate, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Certificate"))
1131
+ AwsCodeBuildProjectEnvironment.add_member(:environment_variables, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectEnvironmentEnvironmentVariablesList, location_name: "EnvironmentVariables"))
1132
+ AwsCodeBuildProjectEnvironment.add_member(:privileged_mode, Shapes::ShapeRef.new(shape: Boolean, location_name: "PrivilegedMode"))
1056
1133
  AwsCodeBuildProjectEnvironment.add_member(:image_pull_credentials_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ImagePullCredentialsType"))
1057
1134
  AwsCodeBuildProjectEnvironment.add_member(:registry_credential, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectEnvironmentRegistryCredential, location_name: "RegistryCredential"))
1058
1135
  AwsCodeBuildProjectEnvironment.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
1059
1136
  AwsCodeBuildProjectEnvironment.struct_class = Types::AwsCodeBuildProjectEnvironment
1060
1137
 
1138
+ AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
1139
+ AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
1140
+ AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
1141
+ AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails.struct_class = Types::AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails
1142
+
1143
+ AwsCodeBuildProjectEnvironmentEnvironmentVariablesList.member = Shapes::ShapeRef.new(shape: AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails)
1144
+
1061
1145
  AwsCodeBuildProjectEnvironmentRegistryCredential.add_member(:credential, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Credential"))
1062
1146
  AwsCodeBuildProjectEnvironmentRegistryCredential.add_member(:credential_provider, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CredentialProvider"))
1063
1147
  AwsCodeBuildProjectEnvironmentRegistryCredential.struct_class = Types::AwsCodeBuildProjectEnvironmentRegistryCredential
1064
1148
 
1149
+ AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails.add_member(:group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupName"))
1150
+ AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
1151
+ AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails.add_member(:stream_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StreamName"))
1152
+ AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails.struct_class = Types::AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails
1153
+
1154
+ AwsCodeBuildProjectLogsConfigDetails.add_member(:cloud_watch_logs, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails, location_name: "CloudWatchLogs"))
1155
+ AwsCodeBuildProjectLogsConfigDetails.add_member(:s3_logs, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectLogsConfigS3LogsDetails, location_name: "S3Logs"))
1156
+ AwsCodeBuildProjectLogsConfigDetails.struct_class = Types::AwsCodeBuildProjectLogsConfigDetails
1157
+
1158
+ AwsCodeBuildProjectLogsConfigS3LogsDetails.add_member(:encryption_disabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "EncryptionDisabled"))
1159
+ AwsCodeBuildProjectLogsConfigS3LogsDetails.add_member(:location, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Location"))
1160
+ AwsCodeBuildProjectLogsConfigS3LogsDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
1161
+ AwsCodeBuildProjectLogsConfigS3LogsDetails.struct_class = Types::AwsCodeBuildProjectLogsConfigS3LogsDetails
1162
+
1065
1163
  AwsCodeBuildProjectSource.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
1066
1164
  AwsCodeBuildProjectSource.add_member(:location, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Location"))
1067
1165
  AwsCodeBuildProjectSource.add_member(:git_clone_depth, Shapes::ShapeRef.new(shape: Integer, location_name: "GitCloneDepth"))
@@ -1359,6 +1457,24 @@ module Aws::SecurityHub
1359
1457
  AwsEc2VpcDetails.add_member(:state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "State"))
1360
1458
  AwsEc2VpcDetails.struct_class = Types::AwsEc2VpcDetails
1361
1459
 
1460
+ AwsEc2VpcEndpointServiceDetails.add_member(:acceptance_required, Shapes::ShapeRef.new(shape: Boolean, location_name: "AcceptanceRequired"))
1461
+ AwsEc2VpcEndpointServiceDetails.add_member(:availability_zones, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "AvailabilityZones"))
1462
+ AwsEc2VpcEndpointServiceDetails.add_member(:base_endpoint_dns_names, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "BaseEndpointDnsNames"))
1463
+ AwsEc2VpcEndpointServiceDetails.add_member(:manages_vpc_endpoints, Shapes::ShapeRef.new(shape: Boolean, location_name: "ManagesVpcEndpoints"))
1464
+ AwsEc2VpcEndpointServiceDetails.add_member(:gateway_load_balancer_arns, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "GatewayLoadBalancerArns"))
1465
+ AwsEc2VpcEndpointServiceDetails.add_member(:network_load_balancer_arns, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "NetworkLoadBalancerArns"))
1466
+ AwsEc2VpcEndpointServiceDetails.add_member(:private_dns_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrivateDnsName"))
1467
+ AwsEc2VpcEndpointServiceDetails.add_member(:service_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ServiceId"))
1468
+ AwsEc2VpcEndpointServiceDetails.add_member(:service_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ServiceName"))
1469
+ AwsEc2VpcEndpointServiceDetails.add_member(:service_state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ServiceState"))
1470
+ AwsEc2VpcEndpointServiceDetails.add_member(:service_type, Shapes::ShapeRef.new(shape: AwsEc2VpcEndpointServiceServiceTypeList, location_name: "ServiceType"))
1471
+ AwsEc2VpcEndpointServiceDetails.struct_class = Types::AwsEc2VpcEndpointServiceDetails
1472
+
1473
+ AwsEc2VpcEndpointServiceServiceTypeDetails.add_member(:service_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ServiceType"))
1474
+ AwsEc2VpcEndpointServiceServiceTypeDetails.struct_class = Types::AwsEc2VpcEndpointServiceServiceTypeDetails
1475
+
1476
+ AwsEc2VpcEndpointServiceServiceTypeList.member = Shapes::ShapeRef.new(shape: AwsEc2VpcEndpointServiceServiceTypeDetails)
1477
+
1362
1478
  AwsEc2VpnConnectionDetails.add_member(:vpn_connection_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpnConnectionId"))
1363
1479
  AwsEc2VpnConnectionDetails.add_member(:state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "State"))
1364
1480
  AwsEc2VpnConnectionDetails.add_member(:customer_gateway_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CustomerGatewayId"))
@@ -1420,6 +1536,21 @@ module Aws::SecurityHub
1420
1536
  AwsEcrContainerImageDetails.add_member(:image_published_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ImagePublishedAt"))
1421
1537
  AwsEcrContainerImageDetails.struct_class = Types::AwsEcrContainerImageDetails
1422
1538
 
1539
+ AwsEcrRepositoryDetails.add_member(:arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Arn"))
1540
+ AwsEcrRepositoryDetails.add_member(:image_scanning_configuration, Shapes::ShapeRef.new(shape: AwsEcrRepositoryImageScanningConfigurationDetails, location_name: "ImageScanningConfiguration"))
1541
+ AwsEcrRepositoryDetails.add_member(:image_tag_mutability, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ImageTagMutability"))
1542
+ AwsEcrRepositoryDetails.add_member(:lifecycle_policy, Shapes::ShapeRef.new(shape: AwsEcrRepositoryLifecyclePolicyDetails, location_name: "LifecyclePolicy"))
1543
+ AwsEcrRepositoryDetails.add_member(:repository_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RepositoryName"))
1544
+ AwsEcrRepositoryDetails.add_member(:repository_policy_text, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RepositoryPolicyText"))
1545
+ AwsEcrRepositoryDetails.struct_class = Types::AwsEcrRepositoryDetails
1546
+
1547
+ AwsEcrRepositoryImageScanningConfigurationDetails.add_member(:scan_on_push, Shapes::ShapeRef.new(shape: Boolean, location_name: "ScanOnPush"))
1548
+ AwsEcrRepositoryImageScanningConfigurationDetails.struct_class = Types::AwsEcrRepositoryImageScanningConfigurationDetails
1549
+
1550
+ AwsEcrRepositoryLifecyclePolicyDetails.add_member(:lifecycle_policy_text, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LifecyclePolicyText"))
1551
+ AwsEcrRepositoryLifecyclePolicyDetails.add_member(:registry_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegistryId"))
1552
+ AwsEcrRepositoryLifecyclePolicyDetails.struct_class = Types::AwsEcrRepositoryLifecyclePolicyDetails
1553
+
1423
1554
  AwsEcsClusterClusterSettingsDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
1424
1555
  AwsEcsClusterClusterSettingsDetails.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
1425
1556
  AwsEcsClusterClusterSettingsDetails.struct_class = Types::AwsEcsClusterClusterSettingsDetails
@@ -1765,6 +1896,30 @@ module Aws::SecurityHub
1765
1896
 
1766
1897
  AwsEcsTaskDefinitionVolumesList.member = Shapes::ShapeRef.new(shape: AwsEcsTaskDefinitionVolumesDetails)
1767
1898
 
1899
+ AwsEksClusterDetails.add_member(:arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Arn"))
1900
+ AwsEksClusterDetails.add_member(:certificate_authority_data, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CertificateAuthorityData"))
1901
+ AwsEksClusterDetails.add_member(:cluster_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ClusterStatus"))
1902
+ AwsEksClusterDetails.add_member(:endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Endpoint"))
1903
+ AwsEksClusterDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
1904
+ AwsEksClusterDetails.add_member(:resources_vpc_config, Shapes::ShapeRef.new(shape: AwsEksClusterResourcesVpcConfigDetails, location_name: "ResourcesVpcConfig"))
1905
+ AwsEksClusterDetails.add_member(:role_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleArn"))
1906
+ AwsEksClusterDetails.add_member(:version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Version"))
1907
+ AwsEksClusterDetails.add_member(:logging, Shapes::ShapeRef.new(shape: AwsEksClusterLoggingDetails, location_name: "Logging"))
1908
+ AwsEksClusterDetails.struct_class = Types::AwsEksClusterDetails
1909
+
1910
+ AwsEksClusterLoggingClusterLoggingDetails.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
1911
+ AwsEksClusterLoggingClusterLoggingDetails.add_member(:types, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Types"))
1912
+ AwsEksClusterLoggingClusterLoggingDetails.struct_class = Types::AwsEksClusterLoggingClusterLoggingDetails
1913
+
1914
+ AwsEksClusterLoggingClusterLoggingList.member = Shapes::ShapeRef.new(shape: AwsEksClusterLoggingClusterLoggingDetails)
1915
+
1916
+ AwsEksClusterLoggingDetails.add_member(:cluster_logging, Shapes::ShapeRef.new(shape: AwsEksClusterLoggingClusterLoggingList, location_name: "ClusterLogging"))
1917
+ AwsEksClusterLoggingDetails.struct_class = Types::AwsEksClusterLoggingDetails
1918
+
1919
+ AwsEksClusterResourcesVpcConfigDetails.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroupIds"))
1920
+ AwsEksClusterResourcesVpcConfigDetails.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SubnetIds"))
1921
+ AwsEksClusterResourcesVpcConfigDetails.struct_class = Types::AwsEksClusterResourcesVpcConfigDetails
1922
+
1768
1923
  AwsElasticBeanstalkEnvironmentDetails.add_member(:application_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ApplicationName"))
1769
1924
  AwsElasticBeanstalkEnvironmentDetails.add_member(:cname, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Cname"))
1770
1925
  AwsElasticBeanstalkEnvironmentDetails.add_member(:date_created, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DateCreated"))
@@ -1957,6 +2112,12 @@ module Aws::SecurityHub
1957
2112
  AwsElbLoadBalancerSourceSecurityGroup.add_member(:owner_alias, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerAlias"))
1958
2113
  AwsElbLoadBalancerSourceSecurityGroup.struct_class = Types::AwsElbLoadBalancerSourceSecurityGroup
1959
2114
 
2115
+ AwsElbv2LoadBalancerAttribute.add_member(:key, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Key"))
2116
+ AwsElbv2LoadBalancerAttribute.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
2117
+ AwsElbv2LoadBalancerAttribute.struct_class = Types::AwsElbv2LoadBalancerAttribute
2118
+
2119
+ AwsElbv2LoadBalancerAttributes.member = Shapes::ShapeRef.new(shape: AwsElbv2LoadBalancerAttribute)
2120
+
1960
2121
  AwsElbv2LoadBalancerDetails.add_member(:availability_zones, Shapes::ShapeRef.new(shape: AvailabilityZones, location_name: "AvailabilityZones"))
1961
2122
  AwsElbv2LoadBalancerDetails.add_member(:canonical_hosted_zone_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CanonicalHostedZoneId"))
1962
2123
  AwsElbv2LoadBalancerDetails.add_member(:created_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedTime"))
@@ -1967,6 +2128,7 @@ module Aws::SecurityHub
1967
2128
  AwsElbv2LoadBalancerDetails.add_member(:state, Shapes::ShapeRef.new(shape: LoadBalancerState, location_name: "State"))
1968
2129
  AwsElbv2LoadBalancerDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
1969
2130
  AwsElbv2LoadBalancerDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
2131
+ AwsElbv2LoadBalancerDetails.add_member(:load_balancer_attributes, Shapes::ShapeRef.new(shape: AwsElbv2LoadBalancerAttributes, location_name: "LoadBalancerAttributes"))
1970
2132
  AwsElbv2LoadBalancerDetails.struct_class = Types::AwsElbv2LoadBalancerDetails
1971
2133
 
1972
2134
  AwsIamAccessKeyDetails.add_member(:user_name, Shapes::ShapeRef.new(shape: NonEmptyString, deprecated: true, location_name: "UserName", metadata: {"deprecatedMessage"=>"This filter is deprecated. Instead, use PrincipalName."}))
@@ -2156,6 +2318,74 @@ module Aws::SecurityHub
2156
2318
  AwsLambdaLayerVersionDetails.add_member(:created_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedDate"))
2157
2319
  AwsLambdaLayerVersionDetails.struct_class = Types::AwsLambdaLayerVersionDetails
2158
2320
 
2321
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "InstanceCount"))
2322
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:warm_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "WarmEnabled"))
2323
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:warm_count, Shapes::ShapeRef.new(shape: Integer, location_name: "WarmCount"))
2324
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:dedicated_master_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "DedicatedMasterEnabled"))
2325
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:zone_awareness_config, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails, location_name: "ZoneAwarenessConfig"))
2326
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:dedicated_master_count, Shapes::ShapeRef.new(shape: Integer, location_name: "DedicatedMasterCount"))
2327
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceType"))
2328
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:warm_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "WarmType"))
2329
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:zone_awareness_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "ZoneAwarenessEnabled"))
2330
+ AwsOpenSearchServiceDomainClusterConfigDetails.add_member(:dedicated_master_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DedicatedMasterType"))
2331
+ AwsOpenSearchServiceDomainClusterConfigDetails.struct_class = Types::AwsOpenSearchServiceDomainClusterConfigDetails
2332
+
2333
+ AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails.add_member(:availability_zone_count, Shapes::ShapeRef.new(shape: Integer, location_name: "AvailabilityZoneCount"))
2334
+ AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails.struct_class = Types::AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails
2335
+
2336
+ AwsOpenSearchServiceDomainDetails.add_member(:arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Arn"))
2337
+ AwsOpenSearchServiceDomainDetails.add_member(:access_policies, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AccessPolicies"))
2338
+ AwsOpenSearchServiceDomainDetails.add_member(:domain_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainName"))
2339
+ AwsOpenSearchServiceDomainDetails.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Id"))
2340
+ AwsOpenSearchServiceDomainDetails.add_member(:domain_endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainEndpoint"))
2341
+ AwsOpenSearchServiceDomainDetails.add_member(:engine_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EngineVersion"))
2342
+ AwsOpenSearchServiceDomainDetails.add_member(:encryption_at_rest_options, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails, location_name: "EncryptionAtRestOptions"))
2343
+ AwsOpenSearchServiceDomainDetails.add_member(:node_to_node_encryption_options, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails, location_name: "NodeToNodeEncryptionOptions"))
2344
+ AwsOpenSearchServiceDomainDetails.add_member(:service_software_options, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails, location_name: "ServiceSoftwareOptions"))
2345
+ AwsOpenSearchServiceDomainDetails.add_member(:cluster_config, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainClusterConfigDetails, location_name: "ClusterConfig"))
2346
+ AwsOpenSearchServiceDomainDetails.add_member(:domain_endpoint_options, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainDomainEndpointOptionsDetails, location_name: "DomainEndpointOptions"))
2347
+ AwsOpenSearchServiceDomainDetails.add_member(:vpc_options, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainVpcOptionsDetails, location_name: "VpcOptions"))
2348
+ AwsOpenSearchServiceDomainDetails.add_member(:log_publishing_options, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainLogPublishingOptionsDetails, location_name: "LogPublishingOptions"))
2349
+ AwsOpenSearchServiceDomainDetails.add_member(:domain_endpoints, Shapes::ShapeRef.new(shape: FieldMap, location_name: "DomainEndpoints"))
2350
+ AwsOpenSearchServiceDomainDetails.struct_class = Types::AwsOpenSearchServiceDomainDetails
2351
+
2352
+ AwsOpenSearchServiceDomainDomainEndpointOptionsDetails.add_member(:custom_endpoint_certificate_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CustomEndpointCertificateArn"))
2353
+ AwsOpenSearchServiceDomainDomainEndpointOptionsDetails.add_member(:custom_endpoint_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "CustomEndpointEnabled"))
2354
+ AwsOpenSearchServiceDomainDomainEndpointOptionsDetails.add_member(:enforce_https, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnforceHTTPS"))
2355
+ AwsOpenSearchServiceDomainDomainEndpointOptionsDetails.add_member(:custom_endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CustomEndpoint"))
2356
+ AwsOpenSearchServiceDomainDomainEndpointOptionsDetails.add_member(:tls_security_policy, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TLSSecurityPolicy"))
2357
+ AwsOpenSearchServiceDomainDomainEndpointOptionsDetails.struct_class = Types::AwsOpenSearchServiceDomainDomainEndpointOptionsDetails
2358
+
2359
+ AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
2360
+ AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
2361
+ AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails.struct_class = Types::AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails
2362
+
2363
+ AwsOpenSearchServiceDomainLogPublishingOption.add_member(:cloud_watch_logs_log_group_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CloudWatchLogsLogGroupArn"))
2364
+ AwsOpenSearchServiceDomainLogPublishingOption.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
2365
+ AwsOpenSearchServiceDomainLogPublishingOption.struct_class = Types::AwsOpenSearchServiceDomainLogPublishingOption
2366
+
2367
+ AwsOpenSearchServiceDomainLogPublishingOptionsDetails.add_member(:index_slow_logs, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainLogPublishingOption, location_name: "IndexSlowLogs"))
2368
+ AwsOpenSearchServiceDomainLogPublishingOptionsDetails.add_member(:search_slow_logs, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainLogPublishingOption, location_name: "SearchSlowLogs"))
2369
+ AwsOpenSearchServiceDomainLogPublishingOptionsDetails.add_member(:audit_logs, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainLogPublishingOption, location_name: "AuditLogs"))
2370
+ AwsOpenSearchServiceDomainLogPublishingOptionsDetails.struct_class = Types::AwsOpenSearchServiceDomainLogPublishingOptionsDetails
2371
+
2372
+ AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
2373
+ AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails.struct_class = Types::AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails
2374
+
2375
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:automated_update_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AutomatedUpdateDate"))
2376
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:cancellable, Shapes::ShapeRef.new(shape: Boolean, location_name: "Cancellable"))
2377
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:current_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CurrentVersion"))
2378
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
2379
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:new_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NewVersion"))
2380
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:update_available, Shapes::ShapeRef.new(shape: Boolean, location_name: "UpdateAvailable"))
2381
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:update_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdateStatus"))
2382
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.add_member(:optional_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "OptionalDeployment"))
2383
+ AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails.struct_class = Types::AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails
2384
+
2385
+ AwsOpenSearchServiceDomainVpcOptionsDetails.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroupIds"))
2386
+ AwsOpenSearchServiceDomainVpcOptionsDetails.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SubnetIds"))
2387
+ AwsOpenSearchServiceDomainVpcOptionsDetails.struct_class = Types::AwsOpenSearchServiceDomainVpcOptionsDetails
2388
+
2159
2389
  AwsRdsDbClusterAssociatedRole.add_member(:role_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleArn"))
2160
2390
  AwsRdsDbClusterAssociatedRole.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
2161
2391
  AwsRdsDbClusterAssociatedRole.struct_class = Types::AwsRdsDbClusterAssociatedRole
@@ -2627,6 +2857,7 @@ module Aws::SecurityHub
2627
2857
 
2628
2858
  AwsS3BucketDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
2629
2859
  AwsS3BucketDetails.add_member(:owner_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerName"))
2860
+ AwsS3BucketDetails.add_member(:owner_account_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerAccountId"))
2630
2861
  AwsS3BucketDetails.add_member(:created_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedAt"))
2631
2862
  AwsS3BucketDetails.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketServerSideEncryptionConfiguration, location_name: "ServerSideEncryptionConfiguration"))
2632
2863
  AwsS3BucketDetails.add_member(:bucket_lifecycle_configuration, Shapes::ShapeRef.new(shape: AwsS3BucketBucketLifecycleConfigurationDetails, location_name: "BucketLifecycleConfiguration"))
@@ -2915,6 +3146,36 @@ module Aws::SecurityHub
2915
3146
  AwsSsmPatchComplianceDetails.add_member(:patch, Shapes::ShapeRef.new(shape: AwsSsmPatch, location_name: "Patch"))
2916
3147
  AwsSsmPatchComplianceDetails.struct_class = Types::AwsSsmPatchComplianceDetails
2917
3148
 
3149
+ AwsWafRateBasedRuleDetails.add_member(:metric_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MetricName"))
3150
+ AwsWafRateBasedRuleDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
3151
+ AwsWafRateBasedRuleDetails.add_member(:rate_key, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RateKey"))
3152
+ AwsWafRateBasedRuleDetails.add_member(:rate_limit, Shapes::ShapeRef.new(shape: Long, location_name: "RateLimit"))
3153
+ AwsWafRateBasedRuleDetails.add_member(:rule_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RuleId"))
3154
+ AwsWafRateBasedRuleDetails.add_member(:match_predicates, Shapes::ShapeRef.new(shape: AwsWafRateBasedRuleMatchPredicateList, location_name: "MatchPredicates"))
3155
+ AwsWafRateBasedRuleDetails.struct_class = Types::AwsWafRateBasedRuleDetails
3156
+
3157
+ AwsWafRateBasedRuleMatchPredicate.add_member(:data_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DataId"))
3158
+ AwsWafRateBasedRuleMatchPredicate.add_member(:negated, Shapes::ShapeRef.new(shape: Boolean, location_name: "Negated"))
3159
+ AwsWafRateBasedRuleMatchPredicate.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
3160
+ AwsWafRateBasedRuleMatchPredicate.struct_class = Types::AwsWafRateBasedRuleMatchPredicate
3161
+
3162
+ AwsWafRateBasedRuleMatchPredicateList.member = Shapes::ShapeRef.new(shape: AwsWafRateBasedRuleMatchPredicate)
3163
+
3164
+ AwsWafRegionalRateBasedRuleDetails.add_member(:metric_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MetricName"))
3165
+ AwsWafRegionalRateBasedRuleDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
3166
+ AwsWafRegionalRateBasedRuleDetails.add_member(:rate_key, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RateKey"))
3167
+ AwsWafRegionalRateBasedRuleDetails.add_member(:rate_limit, Shapes::ShapeRef.new(shape: Long, location_name: "RateLimit"))
3168
+ AwsWafRegionalRateBasedRuleDetails.add_member(:rule_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RuleId"))
3169
+ AwsWafRegionalRateBasedRuleDetails.add_member(:match_predicates, Shapes::ShapeRef.new(shape: AwsWafRegionalRateBasedRuleMatchPredicateList, location_name: "MatchPredicates"))
3170
+ AwsWafRegionalRateBasedRuleDetails.struct_class = Types::AwsWafRegionalRateBasedRuleDetails
3171
+
3172
+ AwsWafRegionalRateBasedRuleMatchPredicate.add_member(:data_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DataId"))
3173
+ AwsWafRegionalRateBasedRuleMatchPredicate.add_member(:negated, Shapes::ShapeRef.new(shape: Boolean, location_name: "Negated"))
3174
+ AwsWafRegionalRateBasedRuleMatchPredicate.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
3175
+ AwsWafRegionalRateBasedRuleMatchPredicate.struct_class = Types::AwsWafRegionalRateBasedRuleMatchPredicate
3176
+
3177
+ AwsWafRegionalRateBasedRuleMatchPredicateList.member = Shapes::ShapeRef.new(shape: AwsWafRegionalRateBasedRuleMatchPredicate)
3178
+
2918
3179
  AwsWafWebAclDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
2919
3180
  AwsWafWebAclDetails.add_member(:default_action, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DefaultAction"))
2920
3181
  AwsWafWebAclDetails.add_member(:rules, Shapes::ShapeRef.new(shape: AwsWafWebAclRuleList, location_name: "Rules"))
@@ -2931,6 +3192,11 @@ module Aws::SecurityHub
2931
3192
 
2932
3193
  AwsWafWebAclRuleList.member = Shapes::ShapeRef.new(shape: AwsWafWebAclRule)
2933
3194
 
3195
+ AwsXrayEncryptionConfigDetails.add_member(:key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyId"))
3196
+ AwsXrayEncryptionConfigDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
3197
+ AwsXrayEncryptionConfigDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
3198
+ AwsXrayEncryptionConfigDetails.struct_class = Types::AwsXrayEncryptionConfigDetails
3199
+
2934
3200
  BatchDisableStandardsRequest.add_member(:standards_subscription_arns, Shapes::ShapeRef.new(shape: StandardsSubscriptionArns, required: true, location_name: "StandardsSubscriptionArns"))
2935
3201
  BatchDisableStandardsRequest.struct_class = Types::BatchDisableStandardsRequest
2936
3202
 
@@ -3031,6 +3297,16 @@ module Aws::SecurityHub
3031
3297
  CreateActionTargetResponse.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ActionTargetArn"))
3032
3298
  CreateActionTargetResponse.struct_class = Types::CreateActionTargetResponse
3033
3299
 
3300
+ CreateFindingAggregatorRequest.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RegionLinkingMode"))
3301
+ CreateFindingAggregatorRequest.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3302
+ CreateFindingAggregatorRequest.struct_class = Types::CreateFindingAggregatorRequest
3303
+
3304
+ CreateFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3305
+ CreateFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
3306
+ CreateFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
3307
+ CreateFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3308
+ CreateFindingAggregatorResponse.struct_class = Types::CreateFindingAggregatorResponse
3309
+
3034
3310
  CreateInsightRequest.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
3035
3311
  CreateInsightRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, required: true, location_name: "Filters"))
3036
3312
  CreateInsightRequest.add_member(:group_by_attribute, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "GroupByAttribute"))
@@ -3093,6 +3369,11 @@ module Aws::SecurityHub
3093
3369
  DeleteActionTargetResponse.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ActionTargetArn"))
3094
3370
  DeleteActionTargetResponse.struct_class = Types::DeleteActionTargetResponse
3095
3371
 
3372
+ DeleteFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "FindingAggregatorArn"))
3373
+ DeleteFindingAggregatorRequest.struct_class = Types::DeleteFindingAggregatorRequest
3374
+
3375
+ DeleteFindingAggregatorResponse.struct_class = Types::DeleteFindingAggregatorResponse
3376
+
3096
3377
  DeleteInsightRequest.add_member(:insight_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "InsightArn"))
3097
3378
  DeleteInsightRequest.struct_class = Types::DeleteInsightRequest
3098
3379
 
@@ -3212,6 +3493,11 @@ module Aws::SecurityHub
3212
3493
  FieldMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
3213
3494
  FieldMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
3214
3495
 
3496
+ FindingAggregator.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3497
+ FindingAggregator.struct_class = Types::FindingAggregator
3498
+
3499
+ FindingAggregatorList.member = Shapes::ShapeRef.new(shape: FindingAggregator)
3500
+
3215
3501
  FindingProviderFields.add_member(:confidence, Shapes::ShapeRef.new(shape: RatioScale, location_name: "Confidence"))
3216
3502
  FindingProviderFields.add_member(:criticality, Shapes::ShapeRef.new(shape: RatioScale, location_name: "Criticality"))
3217
3503
  FindingProviderFields.add_member(:related_findings, Shapes::ShapeRef.new(shape: RelatedFindingList, location_name: "RelatedFindings"))
@@ -3241,6 +3527,15 @@ module Aws::SecurityHub
3241
3527
  GetEnabledStandardsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3242
3528
  GetEnabledStandardsResponse.struct_class = Types::GetEnabledStandardsResponse
3243
3529
 
3530
+ GetFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "FindingAggregatorArn"))
3531
+ GetFindingAggregatorRequest.struct_class = Types::GetFindingAggregatorRequest
3532
+
3533
+ GetFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
3534
+ GetFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
3535
+ GetFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
3536
+ GetFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
3537
+ GetFindingAggregatorResponse.struct_class = Types::GetFindingAggregatorResponse
3538
+
3244
3539
  GetFindingsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, location_name: "Filters"))
3245
3540
  GetFindingsRequest.add_member(:sort_criteria, Shapes::ShapeRef.new(shape: SortCriteria, location_name: "SortCriteria"))
3246
3541
  GetFindingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -3378,6 +3673,14 @@ module Aws::SecurityHub
3378
3673
  ListEnabledProductsForImportResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3379
3674
  ListEnabledProductsForImportResponse.struct_class = Types::ListEnabledProductsForImportResponse
3380
3675
 
3676
+ ListFindingAggregatorsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
3677
+ ListFindingAggregatorsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
3678
+ ListFindingAggregatorsRequest.struct_class = Types::ListFindingAggregatorsRequest
3679
+
3680
+ ListFindingAggregatorsResponse.add_member(:finding_aggregators, Shapes::ShapeRef.new(shape: FindingAggregatorList, location_name: "FindingAggregators"))
3681
+ ListFindingAggregatorsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
3682
+ ListFindingAggregatorsResponse.struct_class = Types::ListFindingAggregatorsResponse
3683
+
3381
3684
  ListInvitationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CrossAccountMaxResults, location: "querystring", location_name: "MaxResults"))
3382
3685
  ListInvitationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
3383
3686
  ListInvitationsRequest.struct_class = Types::ListInvitationsRequest
@@ -3661,6 +3964,13 @@ module Aws::SecurityHub
3661
3964
  ResourceDetails.add_member(:aws_auto_scaling_launch_configuration, Shapes::ShapeRef.new(shape: AwsAutoScalingLaunchConfigurationDetails, location_name: "AwsAutoScalingLaunchConfiguration"))
3662
3965
  ResourceDetails.add_member(:aws_ec2_vpn_connection, Shapes::ShapeRef.new(shape: AwsEc2VpnConnectionDetails, location_name: "AwsEc2VpnConnection"))
3663
3966
  ResourceDetails.add_member(:aws_ecr_container_image, Shapes::ShapeRef.new(shape: AwsEcrContainerImageDetails, location_name: "AwsEcrContainerImage"))
3967
+ ResourceDetails.add_member(:aws_open_search_service_domain, Shapes::ShapeRef.new(shape: AwsOpenSearchServiceDomainDetails, location_name: "AwsOpenSearchServiceDomain"))
3968
+ ResourceDetails.add_member(:aws_ec2_vpc_endpoint_service, Shapes::ShapeRef.new(shape: AwsEc2VpcEndpointServiceDetails, location_name: "AwsEc2VpcEndpointService"))
3969
+ ResourceDetails.add_member(:aws_xray_encryption_config, Shapes::ShapeRef.new(shape: AwsXrayEncryptionConfigDetails, location_name: "AwsXrayEncryptionConfig"))
3970
+ ResourceDetails.add_member(:aws_waf_rate_based_rule, Shapes::ShapeRef.new(shape: AwsWafRateBasedRuleDetails, location_name: "AwsWafRateBasedRule"))
3971
+ ResourceDetails.add_member(:aws_waf_regional_rate_based_rule, Shapes::ShapeRef.new(shape: AwsWafRegionalRateBasedRuleDetails, location_name: "AwsWafRegionalRateBasedRule"))
3972
+ ResourceDetails.add_member(:aws_ecr_repository, Shapes::ShapeRef.new(shape: AwsEcrRepositoryDetails, location_name: "AwsEcrRepository"))
3973
+ ResourceDetails.add_member(:aws_eks_cluster, Shapes::ShapeRef.new(shape: AwsEksClusterDetails, location_name: "AwsEksCluster"))
3664
3974
  ResourceDetails.struct_class = Types::ResourceDetails
3665
3975
 
3666
3976
  ResourceList.member = Shapes::ShapeRef.new(shape: Resource)
@@ -3810,6 +4120,17 @@ module Aws::SecurityHub
3810
4120
 
3811
4121
  UpdateActionTargetResponse.struct_class = Types::UpdateActionTargetResponse
3812
4122
 
4123
+ UpdateFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "FindingAggregatorArn"))
4124
+ UpdateFindingAggregatorRequest.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RegionLinkingMode"))
4125
+ UpdateFindingAggregatorRequest.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
4126
+ UpdateFindingAggregatorRequest.struct_class = Types::UpdateFindingAggregatorRequest
4127
+
4128
+ UpdateFindingAggregatorResponse.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregatorArn"))
4129
+ UpdateFindingAggregatorResponse.add_member(:finding_aggregation_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FindingAggregationRegion"))
4130
+ UpdateFindingAggregatorResponse.add_member(:region_linking_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionLinkingMode"))
4131
+ UpdateFindingAggregatorResponse.add_member(:regions, Shapes::ShapeRef.new(shape: StringList, location_name: "Regions"))
4132
+ UpdateFindingAggregatorResponse.struct_class = Types::UpdateFindingAggregatorResponse
4133
+
3813
4134
  UpdateFindingsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: AwsSecurityFindingFilters, required: true, location_name: "Filters"))
3814
4135
  UpdateFindingsRequest.add_member(:note, Shapes::ShapeRef.new(shape: NoteUpdate, location_name: "Note"))
3815
4136
  UpdateFindingsRequest.add_member(:record_state, Shapes::ShapeRef.new(shape: RecordState, location_name: "RecordState"))
@@ -3982,6 +4303,19 @@ module Aws::SecurityHub
3982
4303
  o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException)
3983
4304
  end)
3984
4305
 
4306
+ api.add_operation(:create_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4307
+ o.name = "CreateFindingAggregator"
4308
+ o.http_method = "POST"
4309
+ o.http_request_uri = "/findingAggregator/create"
4310
+ o.input = Shapes::ShapeRef.new(shape: CreateFindingAggregatorRequest)
4311
+ o.output = Shapes::ShapeRef.new(shape: CreateFindingAggregatorResponse)
4312
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4313
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4314
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4315
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4316
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4317
+ end)
4318
+
3985
4319
  api.add_operation(:create_insight, Seahorse::Model::Operation.new.tap do |o|
3986
4320
  o.name = "CreateInsight"
3987
4321
  o.http_method = "POST"
@@ -4032,6 +4366,20 @@ module Aws::SecurityHub
4032
4366
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4033
4367
  end)
4034
4368
 
4369
+ api.add_operation(:delete_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4370
+ o.name = "DeleteFindingAggregator"
4371
+ o.http_method = "DELETE"
4372
+ o.http_request_uri = "/findingAggregator/delete/{FindingAggregatorArn+}"
4373
+ o.input = Shapes::ShapeRef.new(shape: DeleteFindingAggregatorRequest)
4374
+ o.output = Shapes::ShapeRef.new(shape: DeleteFindingAggregatorResponse)
4375
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4376
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4377
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4378
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4379
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4380
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4381
+ end)
4382
+
4035
4383
  api.add_operation(:delete_insight, Seahorse::Model::Operation.new.tap do |o|
4036
4384
  o.name = "DeleteInsight"
4037
4385
  o.http_method = "DELETE"
@@ -4313,6 +4661,20 @@ module Aws::SecurityHub
4313
4661
  )
4314
4662
  end)
4315
4663
 
4664
+ api.add_operation(:get_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4665
+ o.name = "GetFindingAggregator"
4666
+ o.http_method = "GET"
4667
+ o.http_request_uri = "/findingAggregator/get/{FindingAggregatorArn+}"
4668
+ o.input = Shapes::ShapeRef.new(shape: GetFindingAggregatorRequest)
4669
+ o.output = Shapes::ShapeRef.new(shape: GetFindingAggregatorResponse)
4670
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4671
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4672
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4673
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4674
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4675
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4676
+ end)
4677
+
4316
4678
  api.add_operation(:get_findings, Seahorse::Model::Operation.new.tap do |o|
4317
4679
  o.name = "GetFindings"
4318
4680
  o.http_method = "POST"
@@ -4432,6 +4794,25 @@ module Aws::SecurityHub
4432
4794
  )
4433
4795
  end)
4434
4796
 
4797
+ api.add_operation(:list_finding_aggregators, Seahorse::Model::Operation.new.tap do |o|
4798
+ o.name = "ListFindingAggregators"
4799
+ o.http_method = "GET"
4800
+ o.http_request_uri = "/findingAggregator/list"
4801
+ o.input = Shapes::ShapeRef.new(shape: ListFindingAggregatorsRequest)
4802
+ o.output = Shapes::ShapeRef.new(shape: ListFindingAggregatorsResponse)
4803
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4804
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4805
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4806
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4807
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4808
+ o[:pager] = Aws::Pager.new(
4809
+ limit_key: "max_results",
4810
+ tokens: {
4811
+ "next_token" => "next_token"
4812
+ }
4813
+ )
4814
+ end)
4815
+
4435
4816
  api.add_operation(:list_invitations, Seahorse::Model::Operation.new.tap do |o|
4436
4817
  o.name = "ListInvitations"
4437
4818
  o.http_method = "GET"
@@ -4532,6 +4913,20 @@ module Aws::SecurityHub
4532
4913
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4533
4914
  end)
4534
4915
 
4916
+ api.add_operation(:update_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
4917
+ o.name = "UpdateFindingAggregator"
4918
+ o.http_method = "PATCH"
4919
+ o.http_request_uri = "/findingAggregator/update"
4920
+ o.input = Shapes::ShapeRef.new(shape: UpdateFindingAggregatorRequest)
4921
+ o.output = Shapes::ShapeRef.new(shape: UpdateFindingAggregatorResponse)
4922
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
4923
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
4924
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
4925
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4926
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4927
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
4928
+ end)
4929
+
4535
4930
  api.add_operation(:update_findings, Seahorse::Model::Operation.new.tap do |o|
4536
4931
  o.name = "UpdateFindings"
4537
4932
  o.http_method = "PATCH"