aws-sdk-securityhub 1.52.0 → 1.56.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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"