aws-sdk-securityhub 1.26.0 → 1.31.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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-securityhub.rb +3 -1
- data/lib/aws-sdk-securityhub/client.rb +1240 -293
- data/lib/aws-sdk-securityhub/client_api.rb +611 -0
- data/lib/aws-sdk-securityhub/errors.rb +2 -0
- data/lib/aws-sdk-securityhub/resource.rb +2 -0
- data/lib/aws-sdk-securityhub/types.rb +7440 -1510
- metadata +4 -4
| @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            # WARNING ABOUT GENERATED CODE
         | 
| 2 4 | 
             
            #
         | 
| 3 5 | 
             
            # This file is generated. See the contributing guide for more information:
         | 
| @@ -23,6 +25,7 @@ module Aws::SecurityHub | |
| 23 25 | 
             
                ArnList = Shapes::ListShape.new(name: 'ArnList')
         | 
| 24 26 | 
             
                AvailabilityZone = Shapes::StructureShape.new(name: 'AvailabilityZone')
         | 
| 25 27 | 
             
                AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
         | 
| 28 | 
            +
                AwsAutoScalingAutoScalingGroupDetails = Shapes::StructureShape.new(name: 'AwsAutoScalingAutoScalingGroupDetails')
         | 
| 26 29 | 
             
                AwsCloudFrontDistributionDetails = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionDetails')
         | 
| 27 30 | 
             
                AwsCloudFrontDistributionLogging = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionLogging')
         | 
| 28 31 | 
             
                AwsCloudFrontDistributionOriginItem = Shapes::StructureShape.new(name: 'AwsCloudFrontDistributionOriginItem')
         | 
| @@ -33,6 +36,27 @@ module Aws::SecurityHub | |
| 33 36 | 
             
                AwsCodeBuildProjectEnvironmentRegistryCredential = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectEnvironmentRegistryCredential')
         | 
| 34 37 | 
             
                AwsCodeBuildProjectSource = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectSource')
         | 
| 35 38 | 
             
                AwsCodeBuildProjectVpcConfig = Shapes::StructureShape.new(name: 'AwsCodeBuildProjectVpcConfig')
         | 
| 39 | 
            +
                AwsDynamoDbTableAttributeDefinition = Shapes::StructureShape.new(name: 'AwsDynamoDbTableAttributeDefinition')
         | 
| 40 | 
            +
                AwsDynamoDbTableAttributeDefinitionList = Shapes::ListShape.new(name: 'AwsDynamoDbTableAttributeDefinitionList')
         | 
| 41 | 
            +
                AwsDynamoDbTableBillingModeSummary = Shapes::StructureShape.new(name: 'AwsDynamoDbTableBillingModeSummary')
         | 
| 42 | 
            +
                AwsDynamoDbTableDetails = Shapes::StructureShape.new(name: 'AwsDynamoDbTableDetails')
         | 
| 43 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex = Shapes::StructureShape.new(name: 'AwsDynamoDbTableGlobalSecondaryIndex')
         | 
| 44 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndexList = Shapes::ListShape.new(name: 'AwsDynamoDbTableGlobalSecondaryIndexList')
         | 
| 45 | 
            +
                AwsDynamoDbTableKeySchema = Shapes::StructureShape.new(name: 'AwsDynamoDbTableKeySchema')
         | 
| 46 | 
            +
                AwsDynamoDbTableKeySchemaList = Shapes::ListShape.new(name: 'AwsDynamoDbTableKeySchemaList')
         | 
| 47 | 
            +
                AwsDynamoDbTableLocalSecondaryIndex = Shapes::StructureShape.new(name: 'AwsDynamoDbTableLocalSecondaryIndex')
         | 
| 48 | 
            +
                AwsDynamoDbTableLocalSecondaryIndexList = Shapes::ListShape.new(name: 'AwsDynamoDbTableLocalSecondaryIndexList')
         | 
| 49 | 
            +
                AwsDynamoDbTableProjection = Shapes::StructureShape.new(name: 'AwsDynamoDbTableProjection')
         | 
| 50 | 
            +
                AwsDynamoDbTableProvisionedThroughput = Shapes::StructureShape.new(name: 'AwsDynamoDbTableProvisionedThroughput')
         | 
| 51 | 
            +
                AwsDynamoDbTableProvisionedThroughputOverride = Shapes::StructureShape.new(name: 'AwsDynamoDbTableProvisionedThroughputOverride')
         | 
| 52 | 
            +
                AwsDynamoDbTableReplica = Shapes::StructureShape.new(name: 'AwsDynamoDbTableReplica')
         | 
| 53 | 
            +
                AwsDynamoDbTableReplicaGlobalSecondaryIndex = Shapes::StructureShape.new(name: 'AwsDynamoDbTableReplicaGlobalSecondaryIndex')
         | 
| 54 | 
            +
                AwsDynamoDbTableReplicaGlobalSecondaryIndexList = Shapes::ListShape.new(name: 'AwsDynamoDbTableReplicaGlobalSecondaryIndexList')
         | 
| 55 | 
            +
                AwsDynamoDbTableReplicaList = Shapes::ListShape.new(name: 'AwsDynamoDbTableReplicaList')
         | 
| 56 | 
            +
                AwsDynamoDbTableRestoreSummary = Shapes::StructureShape.new(name: 'AwsDynamoDbTableRestoreSummary')
         | 
| 57 | 
            +
                AwsDynamoDbTableSseDescription = Shapes::StructureShape.new(name: 'AwsDynamoDbTableSseDescription')
         | 
| 58 | 
            +
                AwsDynamoDbTableStreamSpecification = Shapes::StructureShape.new(name: 'AwsDynamoDbTableStreamSpecification')
         | 
| 59 | 
            +
                AwsEc2EipDetails = Shapes::StructureShape.new(name: 'AwsEc2EipDetails')
         | 
| 36 60 | 
             
                AwsEc2InstanceDetails = Shapes::StructureShape.new(name: 'AwsEc2InstanceDetails')
         | 
| 37 61 | 
             
                AwsEc2NetworkInterfaceAttachment = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceAttachment')
         | 
| 38 62 | 
             
                AwsEc2NetworkInterfaceDetails = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceDetails')
         | 
| @@ -49,6 +73,10 @@ module Aws::SecurityHub | |
| 49 73 | 
             
                AwsEc2SecurityGroupPrefixListIdList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupPrefixListIdList')
         | 
| 50 74 | 
             
                AwsEc2SecurityGroupUserIdGroupPair = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupUserIdGroupPair')
         | 
| 51 75 | 
             
                AwsEc2SecurityGroupUserIdGroupPairList = Shapes::ListShape.new(name: 'AwsEc2SecurityGroupUserIdGroupPairList')
         | 
| 76 | 
            +
                AwsEc2VolumeAttachment = Shapes::StructureShape.new(name: 'AwsEc2VolumeAttachment')
         | 
| 77 | 
            +
                AwsEc2VolumeAttachmentList = Shapes::ListShape.new(name: 'AwsEc2VolumeAttachmentList')
         | 
| 78 | 
            +
                AwsEc2VolumeDetails = Shapes::StructureShape.new(name: 'AwsEc2VolumeDetails')
         | 
| 79 | 
            +
                AwsEc2VpcDetails = Shapes::StructureShape.new(name: 'AwsEc2VpcDetails')
         | 
| 52 80 | 
             
                AwsElasticsearchDomainDetails = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainDetails')
         | 
| 53 81 | 
             
                AwsElasticsearchDomainDomainEndpointOptions = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainDomainEndpointOptions')
         | 
| 54 82 | 
             
                AwsElasticsearchDomainEncryptionAtRestOptions = Shapes::StructureShape.new(name: 'AwsElasticsearchDomainEncryptionAtRestOptions')
         | 
| @@ -57,8 +85,17 @@ module Aws::SecurityHub | |
| 57 85 | 
             
                AwsElbv2LoadBalancerDetails = Shapes::StructureShape.new(name: 'AwsElbv2LoadBalancerDetails')
         | 
| 58 86 | 
             
                AwsIamAccessKeyDetails = Shapes::StructureShape.new(name: 'AwsIamAccessKeyDetails')
         | 
| 59 87 | 
             
                AwsIamAccessKeyStatus = Shapes::StringShape.new(name: 'AwsIamAccessKeyStatus')
         | 
| 88 | 
            +
                AwsIamAttachedManagedPolicy = Shapes::StructureShape.new(name: 'AwsIamAttachedManagedPolicy')
         | 
| 89 | 
            +
                AwsIamAttachedManagedPolicyList = Shapes::ListShape.new(name: 'AwsIamAttachedManagedPolicyList')
         | 
| 90 | 
            +
                AwsIamPermissionsBoundary = Shapes::StructureShape.new(name: 'AwsIamPermissionsBoundary')
         | 
| 91 | 
            +
                AwsIamPolicyDetails = Shapes::StructureShape.new(name: 'AwsIamPolicyDetails')
         | 
| 92 | 
            +
                AwsIamPolicyVersion = Shapes::StructureShape.new(name: 'AwsIamPolicyVersion')
         | 
| 93 | 
            +
                AwsIamPolicyVersionList = Shapes::ListShape.new(name: 'AwsIamPolicyVersionList')
         | 
| 60 94 | 
             
                AwsIamRoleAssumeRolePolicyDocument = Shapes::StringShape.new(name: 'AwsIamRoleAssumeRolePolicyDocument')
         | 
| 61 95 | 
             
                AwsIamRoleDetails = Shapes::StructureShape.new(name: 'AwsIamRoleDetails')
         | 
| 96 | 
            +
                AwsIamUserDetails = Shapes::StructureShape.new(name: 'AwsIamUserDetails')
         | 
| 97 | 
            +
                AwsIamUserPolicy = Shapes::StructureShape.new(name: 'AwsIamUserPolicy')
         | 
| 98 | 
            +
                AwsIamUserPolicyList = Shapes::ListShape.new(name: 'AwsIamUserPolicyList')
         | 
| 62 99 | 
             
                AwsKmsKeyDetails = Shapes::StructureShape.new(name: 'AwsKmsKeyDetails')
         | 
| 63 100 | 
             
                AwsLambdaFunctionCode = Shapes::StructureShape.new(name: 'AwsLambdaFunctionCode')
         | 
| 64 101 | 
             
                AwsLambdaFunctionDeadLetterConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionDeadLetterConfig')
         | 
| @@ -71,18 +108,45 @@ module Aws::SecurityHub | |
| 71 108 | 
             
                AwsLambdaFunctionVpcConfig = Shapes::StructureShape.new(name: 'AwsLambdaFunctionVpcConfig')
         | 
| 72 109 | 
             
                AwsLambdaLayerVersionDetails = Shapes::StructureShape.new(name: 'AwsLambdaLayerVersionDetails')
         | 
| 73 110 | 
             
                AwsLambdaLayerVersionNumber = Shapes::IntegerShape.new(name: 'AwsLambdaLayerVersionNumber')
         | 
| 111 | 
            +
                AwsRdsDbClusterAssociatedRole = Shapes::StructureShape.new(name: 'AwsRdsDbClusterAssociatedRole')
         | 
| 112 | 
            +
                AwsRdsDbClusterAssociatedRoles = Shapes::ListShape.new(name: 'AwsRdsDbClusterAssociatedRoles')
         | 
| 113 | 
            +
                AwsRdsDbClusterDetails = Shapes::StructureShape.new(name: 'AwsRdsDbClusterDetails')
         | 
| 114 | 
            +
                AwsRdsDbClusterMember = Shapes::StructureShape.new(name: 'AwsRdsDbClusterMember')
         | 
| 115 | 
            +
                AwsRdsDbClusterMembers = Shapes::ListShape.new(name: 'AwsRdsDbClusterMembers')
         | 
| 116 | 
            +
                AwsRdsDbClusterOptionGroupMembership = Shapes::StructureShape.new(name: 'AwsRdsDbClusterOptionGroupMembership')
         | 
| 117 | 
            +
                AwsRdsDbClusterOptionGroupMemberships = Shapes::ListShape.new(name: 'AwsRdsDbClusterOptionGroupMemberships')
         | 
| 118 | 
            +
                AwsRdsDbClusterSnapshotDetails = Shapes::StructureShape.new(name: 'AwsRdsDbClusterSnapshotDetails')
         | 
| 119 | 
            +
                AwsRdsDbDomainMembership = Shapes::StructureShape.new(name: 'AwsRdsDbDomainMembership')
         | 
| 120 | 
            +
                AwsRdsDbDomainMemberships = Shapes::ListShape.new(name: 'AwsRdsDbDomainMemberships')
         | 
| 74 121 | 
             
                AwsRdsDbInstanceAssociatedRole = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceAssociatedRole')
         | 
| 75 122 | 
             
                AwsRdsDbInstanceAssociatedRoles = Shapes::ListShape.new(name: 'AwsRdsDbInstanceAssociatedRoles')
         | 
| 76 123 | 
             
                AwsRdsDbInstanceDetails = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceDetails')
         | 
| 77 124 | 
             
                AwsRdsDbInstanceEndpoint = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceEndpoint')
         | 
| 78 125 | 
             
                AwsRdsDbInstanceVpcSecurityGroup = Shapes::StructureShape.new(name: 'AwsRdsDbInstanceVpcSecurityGroup')
         | 
| 79 126 | 
             
                AwsRdsDbInstanceVpcSecurityGroups = Shapes::ListShape.new(name: 'AwsRdsDbInstanceVpcSecurityGroups')
         | 
| 127 | 
            +
                AwsRdsDbOptionGroupMembership = Shapes::StructureShape.new(name: 'AwsRdsDbOptionGroupMembership')
         | 
| 128 | 
            +
                AwsRdsDbOptionGroupMemberships = Shapes::ListShape.new(name: 'AwsRdsDbOptionGroupMemberships')
         | 
| 129 | 
            +
                AwsRdsDbParameterGroup = Shapes::StructureShape.new(name: 'AwsRdsDbParameterGroup')
         | 
| 130 | 
            +
                AwsRdsDbParameterGroups = Shapes::ListShape.new(name: 'AwsRdsDbParameterGroups')
         | 
| 131 | 
            +
                AwsRdsDbPendingModifiedValues = Shapes::StructureShape.new(name: 'AwsRdsDbPendingModifiedValues')
         | 
| 132 | 
            +
                AwsRdsDbProcessorFeature = Shapes::StructureShape.new(name: 'AwsRdsDbProcessorFeature')
         | 
| 133 | 
            +
                AwsRdsDbProcessorFeatures = Shapes::ListShape.new(name: 'AwsRdsDbProcessorFeatures')
         | 
| 134 | 
            +
                AwsRdsDbSnapshotDetails = Shapes::StructureShape.new(name: 'AwsRdsDbSnapshotDetails')
         | 
| 135 | 
            +
                AwsRdsDbStatusInfo = Shapes::StructureShape.new(name: 'AwsRdsDbStatusInfo')
         | 
| 136 | 
            +
                AwsRdsDbStatusInfos = Shapes::ListShape.new(name: 'AwsRdsDbStatusInfos')
         | 
| 137 | 
            +
                AwsRdsDbSubnetGroup = Shapes::StructureShape.new(name: 'AwsRdsDbSubnetGroup')
         | 
| 138 | 
            +
                AwsRdsDbSubnetGroupSubnet = Shapes::StructureShape.new(name: 'AwsRdsDbSubnetGroupSubnet')
         | 
| 139 | 
            +
                AwsRdsDbSubnetGroupSubnetAvailabilityZone = Shapes::StructureShape.new(name: 'AwsRdsDbSubnetGroupSubnetAvailabilityZone')
         | 
| 140 | 
            +
                AwsRdsDbSubnetGroupSubnets = Shapes::ListShape.new(name: 'AwsRdsDbSubnetGroupSubnets')
         | 
| 141 | 
            +
                AwsRdsPendingCloudWatchLogsExports = Shapes::StructureShape.new(name: 'AwsRdsPendingCloudWatchLogsExports')
         | 
| 80 142 | 
             
                AwsS3BucketDetails = Shapes::StructureShape.new(name: 'AwsS3BucketDetails')
         | 
| 81 143 | 
             
                AwsS3BucketServerSideEncryptionByDefault = Shapes::StructureShape.new(name: 'AwsS3BucketServerSideEncryptionByDefault')
         | 
| 82 144 | 
             
                AwsS3BucketServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'AwsS3BucketServerSideEncryptionConfiguration')
         | 
| 83 145 | 
             
                AwsS3BucketServerSideEncryptionRule = Shapes::StructureShape.new(name: 'AwsS3BucketServerSideEncryptionRule')
         | 
| 84 146 | 
             
                AwsS3BucketServerSideEncryptionRules = Shapes::ListShape.new(name: 'AwsS3BucketServerSideEncryptionRules')
         | 
| 85 147 | 
             
                AwsS3ObjectDetails = Shapes::StructureShape.new(name: 'AwsS3ObjectDetails')
         | 
| 148 | 
            +
                AwsSecretsManagerSecretDetails = Shapes::StructureShape.new(name: 'AwsSecretsManagerSecretDetails')
         | 
| 149 | 
            +
                AwsSecretsManagerSecretRotationRules = Shapes::StructureShape.new(name: 'AwsSecretsManagerSecretRotationRules')
         | 
| 86 150 | 
             
                AwsSecurityFinding = Shapes::StructureShape.new(name: 'AwsSecurityFinding')
         | 
| 87 151 | 
             
                AwsSecurityFindingFilters = Shapes::StructureShape.new(name: 'AwsSecurityFindingFilters')
         | 
| 88 152 | 
             
                AwsSecurityFindingIdentifier = Shapes::StructureShape.new(name: 'AwsSecurityFindingIdentifier')
         | 
| @@ -107,6 +171,8 @@ module Aws::SecurityHub | |
| 107 171 | 
             
                BatchUpdateFindingsUnprocessedFindingsList = Shapes::ListShape.new(name: 'BatchUpdateFindingsUnprocessedFindingsList')
         | 
| 108 172 | 
             
                Boolean = Shapes::BooleanShape.new(name: 'Boolean')
         | 
| 109 173 | 
             
                CategoryList = Shapes::ListShape.new(name: 'CategoryList')
         | 
| 174 | 
            +
                CidrBlockAssociation = Shapes::StructureShape.new(name: 'CidrBlockAssociation')
         | 
| 175 | 
            +
                CidrBlockAssociationList = Shapes::ListShape.new(name: 'CidrBlockAssociationList')
         | 
| 110 176 | 
             
                Compliance = Shapes::StructureShape.new(name: 'Compliance')
         | 
| 111 177 | 
             
                ComplianceStatus = Shapes::StringShape.new(name: 'ComplianceStatus')
         | 
| 112 178 | 
             
                ContainerDetails = Shapes::StructureShape.new(name: 'ContainerDetails')
         | 
| @@ -117,6 +183,8 @@ module Aws::SecurityHub | |
| 117 183 | 
             
                CreateInsightResponse = Shapes::StructureShape.new(name: 'CreateInsightResponse')
         | 
| 118 184 | 
             
                CreateMembersRequest = Shapes::StructureShape.new(name: 'CreateMembersRequest')
         | 
| 119 185 | 
             
                CreateMembersResponse = Shapes::StructureShape.new(name: 'CreateMembersResponse')
         | 
| 186 | 
            +
                Cvss = Shapes::StructureShape.new(name: 'Cvss')
         | 
| 187 | 
            +
                CvssList = Shapes::ListShape.new(name: 'CvssList')
         | 
| 120 188 | 
             
                DateFilter = Shapes::StructureShape.new(name: 'DateFilter')
         | 
| 121 189 | 
             
                DateFilterList = Shapes::ListShape.new(name: 'DateFilterList')
         | 
| 122 190 | 
             
                DateRange = Shapes::StructureShape.new(name: 'DateRange')
         | 
| @@ -188,6 +256,8 @@ module Aws::SecurityHub | |
| 188 256 | 
             
                InviteMembersResponse = Shapes::StructureShape.new(name: 'InviteMembersResponse')
         | 
| 189 257 | 
             
                IpFilter = Shapes::StructureShape.new(name: 'IpFilter')
         | 
| 190 258 | 
             
                IpFilterList = Shapes::ListShape.new(name: 'IpFilterList')
         | 
| 259 | 
            +
                Ipv6CidrBlockAssociation = Shapes::StructureShape.new(name: 'Ipv6CidrBlockAssociation')
         | 
| 260 | 
            +
                Ipv6CidrBlockAssociationList = Shapes::ListShape.new(name: 'Ipv6CidrBlockAssociationList')
         | 
| 191 261 | 
             
                KeywordFilter = Shapes::StructureShape.new(name: 'KeywordFilter')
         | 
| 192 262 | 
             
                KeywordFilterList = Shapes::ListShape.new(name: 'KeywordFilterList')
         | 
| 193 263 | 
             
                LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
         | 
| @@ -212,6 +282,10 @@ module Aws::SecurityHub | |
| 212 282 | 
             
                MemberList = Shapes::ListShape.new(name: 'MemberList')
         | 
| 213 283 | 
             
                Network = Shapes::StructureShape.new(name: 'Network')
         | 
| 214 284 | 
             
                NetworkDirection = Shapes::StringShape.new(name: 'NetworkDirection')
         | 
| 285 | 
            +
                NetworkHeader = Shapes::StructureShape.new(name: 'NetworkHeader')
         | 
| 286 | 
            +
                NetworkPathComponent = Shapes::StructureShape.new(name: 'NetworkPathComponent')
         | 
| 287 | 
            +
                NetworkPathComponentDetails = Shapes::StructureShape.new(name: 'NetworkPathComponentDetails')
         | 
| 288 | 
            +
                NetworkPathList = Shapes::ListShape.new(name: 'NetworkPathList')
         | 
| 215 289 | 
             
                NextToken = Shapes::StringShape.new(name: 'NextToken')
         | 
| 216 290 | 
             
                NonEmptyString = Shapes::StringShape.new(name: 'NonEmptyString')
         | 
| 217 291 | 
             
                NonEmptyStringList = Shapes::ListShape.new(name: 'NonEmptyStringList')
         | 
| @@ -220,6 +294,8 @@ module Aws::SecurityHub | |
| 220 294 | 
             
                NumberFilter = Shapes::StructureShape.new(name: 'NumberFilter')
         | 
| 221 295 | 
             
                NumberFilterList = Shapes::ListShape.new(name: 'NumberFilterList')
         | 
| 222 296 | 
             
                Partition = Shapes::StringShape.new(name: 'Partition')
         | 
| 297 | 
            +
                PortRange = Shapes::StructureShape.new(name: 'PortRange')
         | 
| 298 | 
            +
                PortRangeList = Shapes::ListShape.new(name: 'PortRangeList')
         | 
| 223 299 | 
             
                ProcessDetails = Shapes::StructureShape.new(name: 'ProcessDetails')
         | 
| 224 300 | 
             
                Product = Shapes::StructureShape.new(name: 'Product')
         | 
| 225 301 | 
             
                ProductSubscriptionArnList = Shapes::ListShape.new(name: 'ProductSubscriptionArnList')
         | 
| @@ -244,6 +320,9 @@ module Aws::SecurityHub | |
| 244 320 | 
             
                SeverityLabel = Shapes::StringShape.new(name: 'SeverityLabel')
         | 
| 245 321 | 
             
                SeverityRating = Shapes::StringShape.new(name: 'SeverityRating')
         | 
| 246 322 | 
             
                SeverityUpdate = Shapes::StructureShape.new(name: 'SeverityUpdate')
         | 
| 323 | 
            +
                SizeBytes = Shapes::IntegerShape.new(name: 'SizeBytes')
         | 
| 324 | 
            +
                SoftwarePackage = Shapes::StructureShape.new(name: 'SoftwarePackage')
         | 
| 325 | 
            +
                SoftwarePackageList = Shapes::ListShape.new(name: 'SoftwarePackageList')
         | 
| 247 326 | 
             
                SortCriteria = Shapes::ListShape.new(name: 'SortCriteria')
         | 
| 248 327 | 
             
                SortCriterion = Shapes::StructureShape.new(name: 'SortCriterion')
         | 
| 249 328 | 
             
                SortOrder = Shapes::StringShape.new(name: 'SortOrder')
         | 
| @@ -284,9 +363,14 @@ module Aws::SecurityHub | |
| 284 363 | 
             
                UpdateFindingsResponse = Shapes::StructureShape.new(name: 'UpdateFindingsResponse')
         | 
| 285 364 | 
             
                UpdateInsightRequest = Shapes::StructureShape.new(name: 'UpdateInsightRequest')
         | 
| 286 365 | 
             
                UpdateInsightResponse = Shapes::StructureShape.new(name: 'UpdateInsightResponse')
         | 
| 366 | 
            +
                UpdateSecurityHubConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateSecurityHubConfigurationRequest')
         | 
| 367 | 
            +
                UpdateSecurityHubConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateSecurityHubConfigurationResponse')
         | 
| 287 368 | 
             
                UpdateStandardsControlRequest = Shapes::StructureShape.new(name: 'UpdateStandardsControlRequest')
         | 
| 288 369 | 
             
                UpdateStandardsControlResponse = Shapes::StructureShape.new(name: 'UpdateStandardsControlResponse')
         | 
| 289 370 | 
             
                VerificationState = Shapes::StringShape.new(name: 'VerificationState')
         | 
| 371 | 
            +
                Vulnerability = Shapes::StructureShape.new(name: 'Vulnerability')
         | 
| 372 | 
            +
                VulnerabilityList = Shapes::ListShape.new(name: 'VulnerabilityList')
         | 
| 373 | 
            +
                VulnerabilityVendor = Shapes::StructureShape.new(name: 'VulnerabilityVendor')
         | 
| 290 374 | 
             
                WafAction = Shapes::StructureShape.new(name: 'WafAction')
         | 
| 291 375 | 
             
                WafExcludedRule = Shapes::StructureShape.new(name: 'WafExcludedRule')
         | 
| 292 376 | 
             
                WafExcludedRuleList = Shapes::ListShape.new(name: 'WafExcludedRuleList')
         | 
| @@ -329,6 +413,13 @@ module Aws::SecurityHub | |
| 329 413 |  | 
| 330 414 | 
             
                AvailabilityZones.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
         | 
| 331 415 |  | 
| 416 | 
            +
                AwsAutoScalingAutoScalingGroupDetails.add_member(:launch_configuration_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LaunchConfigurationName"))
         | 
| 417 | 
            +
                AwsAutoScalingAutoScalingGroupDetails.add_member(:load_balancer_names, Shapes::ShapeRef.new(shape: StringList, location_name: "LoadBalancerNames"))
         | 
| 418 | 
            +
                AwsAutoScalingAutoScalingGroupDetails.add_member(:health_check_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HealthCheckType"))
         | 
| 419 | 
            +
                AwsAutoScalingAutoScalingGroupDetails.add_member(:health_check_grace_period, Shapes::ShapeRef.new(shape: Integer, location_name: "HealthCheckGracePeriod"))
         | 
| 420 | 
            +
                AwsAutoScalingAutoScalingGroupDetails.add_member(:created_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedTime"))
         | 
| 421 | 
            +
                AwsAutoScalingAutoScalingGroupDetails.struct_class = Types::AwsAutoScalingAutoScalingGroupDetails
         | 
| 422 | 
            +
             | 
| 332 423 | 
             
                AwsCloudFrontDistributionDetails.add_member(:domain_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainName"))
         | 
| 333 424 | 
             
                AwsCloudFrontDistributionDetails.add_member(:etag, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ETag"))
         | 
| 334 425 | 
             
                AwsCloudFrontDistributionDetails.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LastModifiedTime"))
         | 
| @@ -383,6 +474,122 @@ module Aws::SecurityHub | |
| 383 474 | 
             
                AwsCodeBuildProjectVpcConfig.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "SecurityGroupIds"))
         | 
| 384 475 | 
             
                AwsCodeBuildProjectVpcConfig.struct_class = Types::AwsCodeBuildProjectVpcConfig
         | 
| 385 476 |  | 
| 477 | 
            +
                AwsDynamoDbTableAttributeDefinition.add_member(:attribute_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AttributeName"))
         | 
| 478 | 
            +
                AwsDynamoDbTableAttributeDefinition.add_member(:attribute_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AttributeType"))
         | 
| 479 | 
            +
                AwsDynamoDbTableAttributeDefinition.struct_class = Types::AwsDynamoDbTableAttributeDefinition
         | 
| 480 | 
            +
             | 
| 481 | 
            +
                AwsDynamoDbTableAttributeDefinitionList.member = Shapes::ShapeRef.new(shape: AwsDynamoDbTableAttributeDefinition)
         | 
| 482 | 
            +
             | 
| 483 | 
            +
                AwsDynamoDbTableBillingModeSummary.add_member(:billing_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "BillingMode"))
         | 
| 484 | 
            +
                AwsDynamoDbTableBillingModeSummary.add_member(:last_update_to_pay_per_request_date_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LastUpdateToPayPerRequestDateTime"))
         | 
| 485 | 
            +
                AwsDynamoDbTableBillingModeSummary.struct_class = Types::AwsDynamoDbTableBillingModeSummary
         | 
| 486 | 
            +
             | 
| 487 | 
            +
                AwsDynamoDbTableDetails.add_member(:attribute_definitions, Shapes::ShapeRef.new(shape: AwsDynamoDbTableAttributeDefinitionList, location_name: "AttributeDefinitions"))
         | 
| 488 | 
            +
                AwsDynamoDbTableDetails.add_member(:billing_mode_summary, Shapes::ShapeRef.new(shape: AwsDynamoDbTableBillingModeSummary, location_name: "BillingModeSummary"))
         | 
| 489 | 
            +
                AwsDynamoDbTableDetails.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreationDateTime"))
         | 
| 490 | 
            +
                AwsDynamoDbTableDetails.add_member(:global_secondary_indexes, Shapes::ShapeRef.new(shape: AwsDynamoDbTableGlobalSecondaryIndexList, location_name: "GlobalSecondaryIndexes"))
         | 
| 491 | 
            +
                AwsDynamoDbTableDetails.add_member(:global_table_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GlobalTableVersion"))
         | 
| 492 | 
            +
                AwsDynamoDbTableDetails.add_member(:item_count, Shapes::ShapeRef.new(shape: Integer, location_name: "ItemCount"))
         | 
| 493 | 
            +
                AwsDynamoDbTableDetails.add_member(:key_schema, Shapes::ShapeRef.new(shape: AwsDynamoDbTableKeySchemaList, location_name: "KeySchema"))
         | 
| 494 | 
            +
                AwsDynamoDbTableDetails.add_member(:latest_stream_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LatestStreamArn"))
         | 
| 495 | 
            +
                AwsDynamoDbTableDetails.add_member(:latest_stream_label, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LatestStreamLabel"))
         | 
| 496 | 
            +
                AwsDynamoDbTableDetails.add_member(:local_secondary_indexes, Shapes::ShapeRef.new(shape: AwsDynamoDbTableLocalSecondaryIndexList, location_name: "LocalSecondaryIndexes"))
         | 
| 497 | 
            +
                AwsDynamoDbTableDetails.add_member(:provisioned_throughput, Shapes::ShapeRef.new(shape: AwsDynamoDbTableProvisionedThroughput, location_name: "ProvisionedThroughput"))
         | 
| 498 | 
            +
                AwsDynamoDbTableDetails.add_member(:replicas, Shapes::ShapeRef.new(shape: AwsDynamoDbTableReplicaList, location_name: "Replicas"))
         | 
| 499 | 
            +
                AwsDynamoDbTableDetails.add_member(:restore_summary, Shapes::ShapeRef.new(shape: AwsDynamoDbTableRestoreSummary, location_name: "RestoreSummary"))
         | 
| 500 | 
            +
                AwsDynamoDbTableDetails.add_member(:sse_description, Shapes::ShapeRef.new(shape: AwsDynamoDbTableSseDescription, location_name: "SseDescription"))
         | 
| 501 | 
            +
                AwsDynamoDbTableDetails.add_member(:stream_specification, Shapes::ShapeRef.new(shape: AwsDynamoDbTableStreamSpecification, location_name: "StreamSpecification"))
         | 
| 502 | 
            +
                AwsDynamoDbTableDetails.add_member(:table_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TableId"))
         | 
| 503 | 
            +
                AwsDynamoDbTableDetails.add_member(:table_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TableName"))
         | 
| 504 | 
            +
                AwsDynamoDbTableDetails.add_member(:table_size_bytes, Shapes::ShapeRef.new(shape: SizeBytes, location_name: "TableSizeBytes"))
         | 
| 505 | 
            +
                AwsDynamoDbTableDetails.add_member(:table_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TableStatus"))
         | 
| 506 | 
            +
                AwsDynamoDbTableDetails.struct_class = Types::AwsDynamoDbTableDetails
         | 
| 507 | 
            +
             | 
| 508 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:backfilling, Shapes::ShapeRef.new(shape: Boolean, location_name: "Backfilling"))
         | 
| 509 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:index_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IndexArn"))
         | 
| 510 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:index_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IndexName"))
         | 
| 511 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:index_size_bytes, Shapes::ShapeRef.new(shape: SizeBytes, location_name: "IndexSizeBytes"))
         | 
| 512 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:index_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IndexStatus"))
         | 
| 513 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:item_count, Shapes::ShapeRef.new(shape: Integer, location_name: "ItemCount"))
         | 
| 514 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:key_schema, Shapes::ShapeRef.new(shape: AwsDynamoDbTableKeySchemaList, location_name: "KeySchema"))
         | 
| 515 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:projection, Shapes::ShapeRef.new(shape: AwsDynamoDbTableProjection, location_name: "Projection"))
         | 
| 516 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.add_member(:provisioned_throughput, Shapes::ShapeRef.new(shape: AwsDynamoDbTableProvisionedThroughput, location_name: "ProvisionedThroughput"))
         | 
| 517 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndex.struct_class = Types::AwsDynamoDbTableGlobalSecondaryIndex
         | 
| 518 | 
            +
             | 
| 519 | 
            +
                AwsDynamoDbTableGlobalSecondaryIndexList.member = Shapes::ShapeRef.new(shape: AwsDynamoDbTableGlobalSecondaryIndex)
         | 
| 520 | 
            +
             | 
| 521 | 
            +
                AwsDynamoDbTableKeySchema.add_member(:attribute_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AttributeName"))
         | 
| 522 | 
            +
                AwsDynamoDbTableKeySchema.add_member(:key_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyType"))
         | 
| 523 | 
            +
                AwsDynamoDbTableKeySchema.struct_class = Types::AwsDynamoDbTableKeySchema
         | 
| 524 | 
            +
             | 
| 525 | 
            +
                AwsDynamoDbTableKeySchemaList.member = Shapes::ShapeRef.new(shape: AwsDynamoDbTableKeySchema)
         | 
| 526 | 
            +
             | 
| 527 | 
            +
                AwsDynamoDbTableLocalSecondaryIndex.add_member(:index_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IndexArn"))
         | 
| 528 | 
            +
                AwsDynamoDbTableLocalSecondaryIndex.add_member(:index_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IndexName"))
         | 
| 529 | 
            +
                AwsDynamoDbTableLocalSecondaryIndex.add_member(:key_schema, Shapes::ShapeRef.new(shape: AwsDynamoDbTableKeySchemaList, location_name: "KeySchema"))
         | 
| 530 | 
            +
                AwsDynamoDbTableLocalSecondaryIndex.add_member(:projection, Shapes::ShapeRef.new(shape: AwsDynamoDbTableProjection, location_name: "Projection"))
         | 
| 531 | 
            +
                AwsDynamoDbTableLocalSecondaryIndex.struct_class = Types::AwsDynamoDbTableLocalSecondaryIndex
         | 
| 532 | 
            +
             | 
| 533 | 
            +
                AwsDynamoDbTableLocalSecondaryIndexList.member = Shapes::ShapeRef.new(shape: AwsDynamoDbTableLocalSecondaryIndex)
         | 
| 534 | 
            +
             | 
| 535 | 
            +
                AwsDynamoDbTableProjection.add_member(:non_key_attributes, Shapes::ShapeRef.new(shape: StringList, location_name: "NonKeyAttributes"))
         | 
| 536 | 
            +
                AwsDynamoDbTableProjection.add_member(:projection_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ProjectionType"))
         | 
| 537 | 
            +
                AwsDynamoDbTableProjection.struct_class = Types::AwsDynamoDbTableProjection
         | 
| 538 | 
            +
             | 
| 539 | 
            +
                AwsDynamoDbTableProvisionedThroughput.add_member(:last_decrease_date_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LastDecreaseDateTime"))
         | 
| 540 | 
            +
                AwsDynamoDbTableProvisionedThroughput.add_member(:last_increase_date_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LastIncreaseDateTime"))
         | 
| 541 | 
            +
                AwsDynamoDbTableProvisionedThroughput.add_member(:number_of_decreases_today, Shapes::ShapeRef.new(shape: Integer, location_name: "NumberOfDecreasesToday"))
         | 
| 542 | 
            +
                AwsDynamoDbTableProvisionedThroughput.add_member(:read_capacity_units, Shapes::ShapeRef.new(shape: Integer, location_name: "ReadCapacityUnits"))
         | 
| 543 | 
            +
                AwsDynamoDbTableProvisionedThroughput.add_member(:write_capacity_units, Shapes::ShapeRef.new(shape: Integer, location_name: "WriteCapacityUnits"))
         | 
| 544 | 
            +
                AwsDynamoDbTableProvisionedThroughput.struct_class = Types::AwsDynamoDbTableProvisionedThroughput
         | 
| 545 | 
            +
             | 
| 546 | 
            +
                AwsDynamoDbTableProvisionedThroughputOverride.add_member(:read_capacity_units, Shapes::ShapeRef.new(shape: Integer, location_name: "ReadCapacityUnits"))
         | 
| 547 | 
            +
                AwsDynamoDbTableProvisionedThroughputOverride.struct_class = Types::AwsDynamoDbTableProvisionedThroughputOverride
         | 
| 548 | 
            +
             | 
| 549 | 
            +
                AwsDynamoDbTableReplica.add_member(:global_secondary_indexes, Shapes::ShapeRef.new(shape: AwsDynamoDbTableReplicaGlobalSecondaryIndexList, location_name: "GlobalSecondaryIndexes"))
         | 
| 550 | 
            +
                AwsDynamoDbTableReplica.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsMasterKeyId"))
         | 
| 551 | 
            +
                AwsDynamoDbTableReplica.add_member(:provisioned_throughput_override, Shapes::ShapeRef.new(shape: AwsDynamoDbTableProvisionedThroughputOverride, location_name: "ProvisionedThroughputOverride"))
         | 
| 552 | 
            +
                AwsDynamoDbTableReplica.add_member(:region_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RegionName"))
         | 
| 553 | 
            +
                AwsDynamoDbTableReplica.add_member(:replica_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ReplicaStatus"))
         | 
| 554 | 
            +
                AwsDynamoDbTableReplica.add_member(:replica_status_description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ReplicaStatusDescription"))
         | 
| 555 | 
            +
                AwsDynamoDbTableReplica.struct_class = Types::AwsDynamoDbTableReplica
         | 
| 556 | 
            +
             | 
| 557 | 
            +
                AwsDynamoDbTableReplicaGlobalSecondaryIndex.add_member(:index_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IndexName"))
         | 
| 558 | 
            +
                AwsDynamoDbTableReplicaGlobalSecondaryIndex.add_member(:provisioned_throughput_override, Shapes::ShapeRef.new(shape: AwsDynamoDbTableProvisionedThroughputOverride, location_name: "ProvisionedThroughputOverride"))
         | 
| 559 | 
            +
                AwsDynamoDbTableReplicaGlobalSecondaryIndex.struct_class = Types::AwsDynamoDbTableReplicaGlobalSecondaryIndex
         | 
| 560 | 
            +
             | 
| 561 | 
            +
                AwsDynamoDbTableReplicaGlobalSecondaryIndexList.member = Shapes::ShapeRef.new(shape: AwsDynamoDbTableReplicaGlobalSecondaryIndex)
         | 
| 562 | 
            +
             | 
| 563 | 
            +
                AwsDynamoDbTableReplicaList.member = Shapes::ShapeRef.new(shape: AwsDynamoDbTableReplica)
         | 
| 564 | 
            +
             | 
| 565 | 
            +
                AwsDynamoDbTableRestoreSummary.add_member(:source_backup_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SourceBackupArn"))
         | 
| 566 | 
            +
                AwsDynamoDbTableRestoreSummary.add_member(:source_table_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SourceTableArn"))
         | 
| 567 | 
            +
                AwsDynamoDbTableRestoreSummary.add_member(:restore_date_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RestoreDateTime"))
         | 
| 568 | 
            +
                AwsDynamoDbTableRestoreSummary.add_member(:restore_in_progress, Shapes::ShapeRef.new(shape: Boolean, location_name: "RestoreInProgress"))
         | 
| 569 | 
            +
                AwsDynamoDbTableRestoreSummary.struct_class = Types::AwsDynamoDbTableRestoreSummary
         | 
| 570 | 
            +
             | 
| 571 | 
            +
                AwsDynamoDbTableSseDescription.add_member(:inaccessible_encryption_date_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InaccessibleEncryptionDateTime"))
         | 
| 572 | 
            +
                AwsDynamoDbTableSseDescription.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 573 | 
            +
                AwsDynamoDbTableSseDescription.add_member(:sse_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SseType"))
         | 
| 574 | 
            +
                AwsDynamoDbTableSseDescription.add_member(:kms_master_key_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsMasterKeyArn"))
         | 
| 575 | 
            +
                AwsDynamoDbTableSseDescription.struct_class = Types::AwsDynamoDbTableSseDescription
         | 
| 576 | 
            +
             | 
| 577 | 
            +
                AwsDynamoDbTableStreamSpecification.add_member(:stream_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "StreamEnabled"))
         | 
| 578 | 
            +
                AwsDynamoDbTableStreamSpecification.add_member(:stream_view_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StreamViewType"))
         | 
| 579 | 
            +
                AwsDynamoDbTableStreamSpecification.struct_class = Types::AwsDynamoDbTableStreamSpecification
         | 
| 580 | 
            +
             | 
| 581 | 
            +
                AwsEc2EipDetails.add_member(:instance_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceId"))
         | 
| 582 | 
            +
                AwsEc2EipDetails.add_member(:public_ip, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PublicIp"))
         | 
| 583 | 
            +
                AwsEc2EipDetails.add_member(:allocation_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AllocationId"))
         | 
| 584 | 
            +
                AwsEc2EipDetails.add_member(:association_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AssociationId"))
         | 
| 585 | 
            +
                AwsEc2EipDetails.add_member(:domain, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Domain"))
         | 
| 586 | 
            +
                AwsEc2EipDetails.add_member(:public_ipv_4_pool, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PublicIpv4Pool"))
         | 
| 587 | 
            +
                AwsEc2EipDetails.add_member(:network_border_group, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NetworkBorderGroup"))
         | 
| 588 | 
            +
                AwsEc2EipDetails.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NetworkInterfaceId"))
         | 
| 589 | 
            +
                AwsEc2EipDetails.add_member(:network_interface_owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NetworkInterfaceOwnerId"))
         | 
| 590 | 
            +
                AwsEc2EipDetails.add_member(:private_ip_address, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrivateIpAddress"))
         | 
| 591 | 
            +
                AwsEc2EipDetails.struct_class = Types::AwsEc2EipDetails
         | 
| 592 | 
            +
             | 
| 386 593 | 
             
                AwsEc2InstanceDetails.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
         | 
| 387 594 | 
             
                AwsEc2InstanceDetails.add_member(:image_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ImageId"))
         | 
| 388 595 | 
             
                AwsEc2InstanceDetails.add_member(:ip_v4_addresses, Shapes::ShapeRef.new(shape: StringList, location_name: "IpV4Addresses"))
         | 
| @@ -459,6 +666,29 @@ module Aws::SecurityHub | |
| 459 666 |  | 
| 460 667 | 
             
                AwsEc2SecurityGroupUserIdGroupPairList.member = Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupUserIdGroupPair)
         | 
| 461 668 |  | 
| 669 | 
            +
                AwsEc2VolumeAttachment.add_member(:attach_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AttachTime"))
         | 
| 670 | 
            +
                AwsEc2VolumeAttachment.add_member(:delete_on_termination, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeleteOnTermination"))
         | 
| 671 | 
            +
                AwsEc2VolumeAttachment.add_member(:instance_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceId"))
         | 
| 672 | 
            +
                AwsEc2VolumeAttachment.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 673 | 
            +
                AwsEc2VolumeAttachment.struct_class = Types::AwsEc2VolumeAttachment
         | 
| 674 | 
            +
             | 
| 675 | 
            +
                AwsEc2VolumeAttachmentList.member = Shapes::ShapeRef.new(shape: AwsEc2VolumeAttachment)
         | 
| 676 | 
            +
             | 
| 677 | 
            +
                AwsEc2VolumeDetails.add_member(:create_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreateTime"))
         | 
| 678 | 
            +
                AwsEc2VolumeDetails.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "Encrypted"))
         | 
| 679 | 
            +
                AwsEc2VolumeDetails.add_member(:size, Shapes::ShapeRef.new(shape: Integer, location_name: "Size"))
         | 
| 680 | 
            +
                AwsEc2VolumeDetails.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SnapshotId"))
         | 
| 681 | 
            +
                AwsEc2VolumeDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 682 | 
            +
                AwsEc2VolumeDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
         | 
| 683 | 
            +
                AwsEc2VolumeDetails.add_member(:attachments, Shapes::ShapeRef.new(shape: AwsEc2VolumeAttachmentList, location_name: "Attachments"))
         | 
| 684 | 
            +
                AwsEc2VolumeDetails.struct_class = Types::AwsEc2VolumeDetails
         | 
| 685 | 
            +
             | 
| 686 | 
            +
                AwsEc2VpcDetails.add_member(:cidr_block_association_set, Shapes::ShapeRef.new(shape: CidrBlockAssociationList, location_name: "CidrBlockAssociationSet"))
         | 
| 687 | 
            +
                AwsEc2VpcDetails.add_member(:ipv_6_cidr_block_association_set, Shapes::ShapeRef.new(shape: Ipv6CidrBlockAssociationList, location_name: "Ipv6CidrBlockAssociationSet"))
         | 
| 688 | 
            +
                AwsEc2VpcDetails.add_member(:dhcp_options_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DhcpOptionsId"))
         | 
| 689 | 
            +
                AwsEc2VpcDetails.add_member(:state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "State"))
         | 
| 690 | 
            +
                AwsEc2VpcDetails.struct_class = Types::AwsEc2VpcDetails
         | 
| 691 | 
            +
             | 
| 462 692 | 
             
                AwsElasticsearchDomainDetails.add_member(:access_policies, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AccessPolicies"))
         | 
| 463 693 | 
             
                AwsElasticsearchDomainDetails.add_member(:domain_endpoint_options, Shapes::ShapeRef.new(shape: AwsElasticsearchDomainDomainEndpointOptions, location_name: "DomainEndpointOptions"))
         | 
| 464 694 | 
             
                AwsElasticsearchDomainDetails.add_member(:domain_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DomainId"))
         | 
| @@ -508,6 +738,36 @@ module Aws::SecurityHub | |
| 508 738 | 
             
                AwsIamAccessKeyDetails.add_member(:principal_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrincipalName"))
         | 
| 509 739 | 
             
                AwsIamAccessKeyDetails.struct_class = Types::AwsIamAccessKeyDetails
         | 
| 510 740 |  | 
| 741 | 
            +
                AwsIamAttachedManagedPolicy.add_member(:policy_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PolicyName"))
         | 
| 742 | 
            +
                AwsIamAttachedManagedPolicy.add_member(:policy_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PolicyArn"))
         | 
| 743 | 
            +
                AwsIamAttachedManagedPolicy.struct_class = Types::AwsIamAttachedManagedPolicy
         | 
| 744 | 
            +
             | 
| 745 | 
            +
                AwsIamAttachedManagedPolicyList.member = Shapes::ShapeRef.new(shape: AwsIamAttachedManagedPolicy)
         | 
| 746 | 
            +
             | 
| 747 | 
            +
                AwsIamPermissionsBoundary.add_member(:permissions_boundary_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PermissionsBoundaryArn"))
         | 
| 748 | 
            +
                AwsIamPermissionsBoundary.add_member(:permissions_boundary_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PermissionsBoundaryType"))
         | 
| 749 | 
            +
                AwsIamPermissionsBoundary.struct_class = Types::AwsIamPermissionsBoundary
         | 
| 750 | 
            +
             | 
| 751 | 
            +
                AwsIamPolicyDetails.add_member(:attachment_count, Shapes::ShapeRef.new(shape: Integer, location_name: "AttachmentCount"))
         | 
| 752 | 
            +
                AwsIamPolicyDetails.add_member(:create_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreateDate"))
         | 
| 753 | 
            +
                AwsIamPolicyDetails.add_member(:default_version_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DefaultVersionId"))
         | 
| 754 | 
            +
                AwsIamPolicyDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
         | 
| 755 | 
            +
                AwsIamPolicyDetails.add_member(:is_attachable, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsAttachable"))
         | 
| 756 | 
            +
                AwsIamPolicyDetails.add_member(:path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Path"))
         | 
| 757 | 
            +
                AwsIamPolicyDetails.add_member(:permissions_boundary_usage_count, Shapes::ShapeRef.new(shape: Integer, location_name: "PermissionsBoundaryUsageCount"))
         | 
| 758 | 
            +
                AwsIamPolicyDetails.add_member(:policy_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PolicyId"))
         | 
| 759 | 
            +
                AwsIamPolicyDetails.add_member(:policy_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PolicyName"))
         | 
| 760 | 
            +
                AwsIamPolicyDetails.add_member(:policy_version_list, Shapes::ShapeRef.new(shape: AwsIamPolicyVersionList, location_name: "PolicyVersionList"))
         | 
| 761 | 
            +
                AwsIamPolicyDetails.add_member(:update_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdateDate"))
         | 
| 762 | 
            +
                AwsIamPolicyDetails.struct_class = Types::AwsIamPolicyDetails
         | 
| 763 | 
            +
             | 
| 764 | 
            +
                AwsIamPolicyVersion.add_member(:version_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VersionId"))
         | 
| 765 | 
            +
                AwsIamPolicyVersion.add_member(:is_default_version, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsDefaultVersion"))
         | 
| 766 | 
            +
                AwsIamPolicyVersion.add_member(:create_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreateDate"))
         | 
| 767 | 
            +
                AwsIamPolicyVersion.struct_class = Types::AwsIamPolicyVersion
         | 
| 768 | 
            +
             | 
| 769 | 
            +
                AwsIamPolicyVersionList.member = Shapes::ShapeRef.new(shape: AwsIamPolicyVersion)
         | 
| 770 | 
            +
             | 
| 511 771 | 
             
                AwsIamRoleDetails.add_member(:assume_role_policy_document, Shapes::ShapeRef.new(shape: AwsIamRoleAssumeRolePolicyDocument, location_name: "AssumeRolePolicyDocument"))
         | 
| 512 772 | 
             
                AwsIamRoleDetails.add_member(:create_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreateDate"))
         | 
| 513 773 | 
             
                AwsIamRoleDetails.add_member(:role_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleId"))
         | 
| @@ -516,12 +776,28 @@ module Aws::SecurityHub | |
| 516 776 | 
             
                AwsIamRoleDetails.add_member(:path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Path"))
         | 
| 517 777 | 
             
                AwsIamRoleDetails.struct_class = Types::AwsIamRoleDetails
         | 
| 518 778 |  | 
| 779 | 
            +
                AwsIamUserDetails.add_member(:attached_managed_policies, Shapes::ShapeRef.new(shape: AwsIamAttachedManagedPolicyList, location_name: "AttachedManagedPolicies"))
         | 
| 780 | 
            +
                AwsIamUserDetails.add_member(:create_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreateDate"))
         | 
| 781 | 
            +
                AwsIamUserDetails.add_member(:group_list, Shapes::ShapeRef.new(shape: StringList, location_name: "GroupList"))
         | 
| 782 | 
            +
                AwsIamUserDetails.add_member(:path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Path"))
         | 
| 783 | 
            +
                AwsIamUserDetails.add_member(:permissions_boundary, Shapes::ShapeRef.new(shape: AwsIamPermissionsBoundary, location_name: "PermissionsBoundary"))
         | 
| 784 | 
            +
                AwsIamUserDetails.add_member(:user_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UserId"))
         | 
| 785 | 
            +
                AwsIamUserDetails.add_member(:user_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UserName"))
         | 
| 786 | 
            +
                AwsIamUserDetails.add_member(:user_policy_list, Shapes::ShapeRef.new(shape: AwsIamUserPolicyList, location_name: "UserPolicyList"))
         | 
| 787 | 
            +
                AwsIamUserDetails.struct_class = Types::AwsIamUserDetails
         | 
| 788 | 
            +
             | 
| 789 | 
            +
                AwsIamUserPolicy.add_member(:policy_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PolicyName"))
         | 
| 790 | 
            +
                AwsIamUserPolicy.struct_class = Types::AwsIamUserPolicy
         | 
| 791 | 
            +
             | 
| 792 | 
            +
                AwsIamUserPolicyList.member = Shapes::ShapeRef.new(shape: AwsIamUserPolicy)
         | 
| 793 | 
            +
             | 
| 519 794 | 
             
                AwsKmsKeyDetails.add_member(:aws_account_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AWSAccountId"))
         | 
| 520 795 | 
             
                AwsKmsKeyDetails.add_member(:creation_date, Shapes::ShapeRef.new(shape: Double, location_name: "CreationDate"))
         | 
| 521 796 | 
             
                AwsKmsKeyDetails.add_member(:key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyId"))
         | 
| 522 797 | 
             
                AwsKmsKeyDetails.add_member(:key_manager, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyManager"))
         | 
| 523 798 | 
             
                AwsKmsKeyDetails.add_member(:key_state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KeyState"))
         | 
| 524 799 | 
             
                AwsKmsKeyDetails.add_member(:origin, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Origin"))
         | 
| 800 | 
            +
                AwsKmsKeyDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
         | 
| 525 801 | 
             
                AwsKmsKeyDetails.struct_class = Types::AwsKmsKeyDetails
         | 
| 526 802 |  | 
| 527 803 | 
             
                AwsLambdaFunctionCode.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "S3Bucket"))
         | 
| @@ -580,6 +856,93 @@ module Aws::SecurityHub | |
| 580 856 | 
             
                AwsLambdaLayerVersionDetails.add_member(:created_date, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedDate"))
         | 
| 581 857 | 
             
                AwsLambdaLayerVersionDetails.struct_class = Types::AwsLambdaLayerVersionDetails
         | 
| 582 858 |  | 
| 859 | 
            +
                AwsRdsDbClusterAssociatedRole.add_member(:role_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleArn"))
         | 
| 860 | 
            +
                AwsRdsDbClusterAssociatedRole.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 861 | 
            +
                AwsRdsDbClusterAssociatedRole.struct_class = Types::AwsRdsDbClusterAssociatedRole
         | 
| 862 | 
            +
             | 
| 863 | 
            +
                AwsRdsDbClusterAssociatedRoles.member = Shapes::ShapeRef.new(shape: AwsRdsDbClusterAssociatedRole)
         | 
| 864 | 
            +
             | 
| 865 | 
            +
                AwsRdsDbClusterDetails.add_member(:allocated_storage, Shapes::ShapeRef.new(shape: Integer, location_name: "AllocatedStorage"))
         | 
| 866 | 
            +
                AwsRdsDbClusterDetails.add_member(:availability_zones, Shapes::ShapeRef.new(shape: StringList, location_name: "AvailabilityZones"))
         | 
| 867 | 
            +
                AwsRdsDbClusterDetails.add_member(:backup_retention_period, Shapes::ShapeRef.new(shape: Integer, location_name: "BackupRetentionPeriod"))
         | 
| 868 | 
            +
                AwsRdsDbClusterDetails.add_member(:database_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DatabaseName"))
         | 
| 869 | 
            +
                AwsRdsDbClusterDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 870 | 
            +
                AwsRdsDbClusterDetails.add_member(:endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Endpoint"))
         | 
| 871 | 
            +
                AwsRdsDbClusterDetails.add_member(:reader_endpoint, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ReaderEndpoint"))
         | 
| 872 | 
            +
                AwsRdsDbClusterDetails.add_member(:custom_endpoints, Shapes::ShapeRef.new(shape: StringList, location_name: "CustomEndpoints"))
         | 
| 873 | 
            +
                AwsRdsDbClusterDetails.add_member(:multi_az, Shapes::ShapeRef.new(shape: Boolean, location_name: "MultiAz"))
         | 
| 874 | 
            +
                AwsRdsDbClusterDetails.add_member(:engine, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Engine"))
         | 
| 875 | 
            +
                AwsRdsDbClusterDetails.add_member(:engine_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EngineVersion"))
         | 
| 876 | 
            +
                AwsRdsDbClusterDetails.add_member(:port, Shapes::ShapeRef.new(shape: Integer, location_name: "Port"))
         | 
| 877 | 
            +
                AwsRdsDbClusterDetails.add_member(:master_username, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MasterUsername"))
         | 
| 878 | 
            +
                AwsRdsDbClusterDetails.add_member(:preferred_backup_window, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PreferredBackupWindow"))
         | 
| 879 | 
            +
                AwsRdsDbClusterDetails.add_member(:preferred_maintenance_window, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PreferredMaintenanceWindow"))
         | 
| 880 | 
            +
                AwsRdsDbClusterDetails.add_member(:read_replica_identifiers, Shapes::ShapeRef.new(shape: StringList, location_name: "ReadReplicaIdentifiers"))
         | 
| 881 | 
            +
                AwsRdsDbClusterDetails.add_member(:vpc_security_groups, Shapes::ShapeRef.new(shape: AwsRdsDbInstanceVpcSecurityGroups, location_name: "VpcSecurityGroups"))
         | 
| 882 | 
            +
                AwsRdsDbClusterDetails.add_member(:hosted_zone_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HostedZoneId"))
         | 
| 883 | 
            +
                AwsRdsDbClusterDetails.add_member(:storage_encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "StorageEncrypted"))
         | 
| 884 | 
            +
                AwsRdsDbClusterDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
         | 
| 885 | 
            +
                AwsRdsDbClusterDetails.add_member(:db_cluster_resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbClusterResourceId"))
         | 
| 886 | 
            +
                AwsRdsDbClusterDetails.add_member(:associated_roles, Shapes::ShapeRef.new(shape: AwsRdsDbClusterAssociatedRoles, location_name: "AssociatedRoles"))
         | 
| 887 | 
            +
                AwsRdsDbClusterDetails.add_member(:cluster_create_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ClusterCreateTime"))
         | 
| 888 | 
            +
                AwsRdsDbClusterDetails.add_member(:enabled_cloud_watch_logs_exports, Shapes::ShapeRef.new(shape: StringList, location_name: "EnabledCloudWatchLogsExports"))
         | 
| 889 | 
            +
                AwsRdsDbClusterDetails.add_member(:engine_mode, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EngineMode"))
         | 
| 890 | 
            +
                AwsRdsDbClusterDetails.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeletionProtection"))
         | 
| 891 | 
            +
                AwsRdsDbClusterDetails.add_member(:http_endpoint_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "HttpEndpointEnabled"))
         | 
| 892 | 
            +
                AwsRdsDbClusterDetails.add_member(:activity_stream_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ActivityStreamStatus"))
         | 
| 893 | 
            +
                AwsRdsDbClusterDetails.add_member(:copy_tags_to_snapshot, Shapes::ShapeRef.new(shape: Boolean, location_name: "CopyTagsToSnapshot"))
         | 
| 894 | 
            +
                AwsRdsDbClusterDetails.add_member(:cross_account_clone, Shapes::ShapeRef.new(shape: Boolean, location_name: "CrossAccountClone"))
         | 
| 895 | 
            +
                AwsRdsDbClusterDetails.add_member(:domain_memberships, Shapes::ShapeRef.new(shape: AwsRdsDbDomainMemberships, location_name: "DomainMemberships"))
         | 
| 896 | 
            +
                AwsRdsDbClusterDetails.add_member(:db_cluster_parameter_group, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbClusterParameterGroup"))
         | 
| 897 | 
            +
                AwsRdsDbClusterDetails.add_member(:db_subnet_group, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbSubnetGroup"))
         | 
| 898 | 
            +
                AwsRdsDbClusterDetails.add_member(:db_cluster_option_group_memberships, Shapes::ShapeRef.new(shape: AwsRdsDbClusterOptionGroupMemberships, location_name: "DbClusterOptionGroupMemberships"))
         | 
| 899 | 
            +
                AwsRdsDbClusterDetails.add_member(:db_cluster_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbClusterIdentifier"))
         | 
| 900 | 
            +
                AwsRdsDbClusterDetails.add_member(:db_cluster_members, Shapes::ShapeRef.new(shape: AwsRdsDbClusterMembers, location_name: "DbClusterMembers"))
         | 
| 901 | 
            +
                AwsRdsDbClusterDetails.add_member(:iam_database_authentication_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "IamDatabaseAuthenticationEnabled"))
         | 
| 902 | 
            +
                AwsRdsDbClusterDetails.struct_class = Types::AwsRdsDbClusterDetails
         | 
| 903 | 
            +
             | 
| 904 | 
            +
                AwsRdsDbClusterMember.add_member(:is_cluster_writer, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsClusterWriter"))
         | 
| 905 | 
            +
                AwsRdsDbClusterMember.add_member(:promotion_tier, Shapes::ShapeRef.new(shape: Integer, location_name: "PromotionTier"))
         | 
| 906 | 
            +
                AwsRdsDbClusterMember.add_member(:db_instance_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbInstanceIdentifier"))
         | 
| 907 | 
            +
                AwsRdsDbClusterMember.add_member(:db_cluster_parameter_group_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbClusterParameterGroupStatus"))
         | 
| 908 | 
            +
                AwsRdsDbClusterMember.struct_class = Types::AwsRdsDbClusterMember
         | 
| 909 | 
            +
             | 
| 910 | 
            +
                AwsRdsDbClusterMembers.member = Shapes::ShapeRef.new(shape: AwsRdsDbClusterMember)
         | 
| 911 | 
            +
             | 
| 912 | 
            +
                AwsRdsDbClusterOptionGroupMembership.add_member(:db_cluster_option_group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbClusterOptionGroupName"))
         | 
| 913 | 
            +
                AwsRdsDbClusterOptionGroupMembership.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 914 | 
            +
                AwsRdsDbClusterOptionGroupMembership.struct_class = Types::AwsRdsDbClusterOptionGroupMembership
         | 
| 915 | 
            +
             | 
| 916 | 
            +
                AwsRdsDbClusterOptionGroupMemberships.member = Shapes::ShapeRef.new(shape: AwsRdsDbClusterOptionGroupMembership)
         | 
| 917 | 
            +
             | 
| 918 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:availability_zones, Shapes::ShapeRef.new(shape: StringList, location_name: "AvailabilityZones"))
         | 
| 919 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:snapshot_create_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SnapshotCreateTime"))
         | 
| 920 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:engine, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Engine"))
         | 
| 921 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:allocated_storage, Shapes::ShapeRef.new(shape: Integer, location_name: "AllocatedStorage"))
         | 
| 922 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 923 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:port, Shapes::ShapeRef.new(shape: Integer, location_name: "Port"))
         | 
| 924 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
         | 
| 925 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:cluster_create_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ClusterCreateTime"))
         | 
| 926 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:master_username, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MasterUsername"))
         | 
| 927 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:engine_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EngineVersion"))
         | 
| 928 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:license_model, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LicenseModel"))
         | 
| 929 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:snapshot_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SnapshotType"))
         | 
| 930 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:percent_progress, Shapes::ShapeRef.new(shape: Integer, location_name: "PercentProgress"))
         | 
| 931 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:storage_encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "StorageEncrypted"))
         | 
| 932 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
         | 
| 933 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:db_cluster_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbClusterIdentifier"))
         | 
| 934 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:db_cluster_snapshot_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbClusterSnapshotIdentifier"))
         | 
| 935 | 
            +
                AwsRdsDbClusterSnapshotDetails.add_member(:iam_database_authentication_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "IamDatabaseAuthenticationEnabled"))
         | 
| 936 | 
            +
                AwsRdsDbClusterSnapshotDetails.struct_class = Types::AwsRdsDbClusterSnapshotDetails
         | 
| 937 | 
            +
             | 
| 938 | 
            +
                AwsRdsDbDomainMembership.add_member(:domain, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Domain"))
         | 
| 939 | 
            +
                AwsRdsDbDomainMembership.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 940 | 
            +
                AwsRdsDbDomainMembership.add_member(:fqdn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Fqdn"))
         | 
| 941 | 
            +
                AwsRdsDbDomainMembership.add_member(:iam_role_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IamRoleName"))
         | 
| 942 | 
            +
                AwsRdsDbDomainMembership.struct_class = Types::AwsRdsDbDomainMembership
         | 
| 943 | 
            +
             | 
| 944 | 
            +
                AwsRdsDbDomainMemberships.member = Shapes::ShapeRef.new(shape: AwsRdsDbDomainMembership)
         | 
| 945 | 
            +
             | 
| 583 946 | 
             
                AwsRdsDbInstanceAssociatedRole.add_member(:role_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RoleArn"))
         | 
| 584 947 | 
             
                AwsRdsDbInstanceAssociatedRole.add_member(:feature_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FeatureName"))
         | 
| 585 948 | 
             
                AwsRdsDbInstanceAssociatedRole.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| @@ -606,6 +969,44 @@ module Aws::SecurityHub | |
| 606 969 | 
             
                AwsRdsDbInstanceDetails.add_member(:storage_encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "StorageEncrypted"))
         | 
| 607 970 | 
             
                AwsRdsDbInstanceDetails.add_member(:tde_credential_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TdeCredentialArn"))
         | 
| 608 971 | 
             
                AwsRdsDbInstanceDetails.add_member(:vpc_security_groups, Shapes::ShapeRef.new(shape: AwsRdsDbInstanceVpcSecurityGroups, location_name: "VpcSecurityGroups"))
         | 
| 972 | 
            +
                AwsRdsDbInstanceDetails.add_member(:multi_az, Shapes::ShapeRef.new(shape: Boolean, location_name: "MultiAz"))
         | 
| 973 | 
            +
                AwsRdsDbInstanceDetails.add_member(:enhanced_monitoring_resource_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EnhancedMonitoringResourceArn"))
         | 
| 974 | 
            +
                AwsRdsDbInstanceDetails.add_member(:db_instance_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbInstanceStatus"))
         | 
| 975 | 
            +
                AwsRdsDbInstanceDetails.add_member(:master_username, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MasterUsername"))
         | 
| 976 | 
            +
                AwsRdsDbInstanceDetails.add_member(:allocated_storage, Shapes::ShapeRef.new(shape: Integer, location_name: "AllocatedStorage"))
         | 
| 977 | 
            +
                AwsRdsDbInstanceDetails.add_member(:preferred_backup_window, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PreferredBackupWindow"))
         | 
| 978 | 
            +
                AwsRdsDbInstanceDetails.add_member(:backup_retention_period, Shapes::ShapeRef.new(shape: Integer, location_name: "BackupRetentionPeriod"))
         | 
| 979 | 
            +
                AwsRdsDbInstanceDetails.add_member(:db_security_groups, Shapes::ShapeRef.new(shape: StringList, location_name: "DbSecurityGroups"))
         | 
| 980 | 
            +
                AwsRdsDbInstanceDetails.add_member(:db_parameter_groups, Shapes::ShapeRef.new(shape: AwsRdsDbParameterGroups, location_name: "DbParameterGroups"))
         | 
| 981 | 
            +
                AwsRdsDbInstanceDetails.add_member(:availability_zone, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AvailabilityZone"))
         | 
| 982 | 
            +
                AwsRdsDbInstanceDetails.add_member(:db_subnet_group, Shapes::ShapeRef.new(shape: AwsRdsDbSubnetGroup, location_name: "DbSubnetGroup"))
         | 
| 983 | 
            +
                AwsRdsDbInstanceDetails.add_member(:preferred_maintenance_window, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PreferredMaintenanceWindow"))
         | 
| 984 | 
            +
                AwsRdsDbInstanceDetails.add_member(:pending_modified_values, Shapes::ShapeRef.new(shape: AwsRdsDbPendingModifiedValues, location_name: "PendingModifiedValues"))
         | 
| 985 | 
            +
                AwsRdsDbInstanceDetails.add_member(:latest_restorable_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LatestRestorableTime"))
         | 
| 986 | 
            +
                AwsRdsDbInstanceDetails.add_member(:auto_minor_version_upgrade, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoMinorVersionUpgrade"))
         | 
| 987 | 
            +
                AwsRdsDbInstanceDetails.add_member(:read_replica_source_db_instance_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ReadReplicaSourceDBInstanceIdentifier"))
         | 
| 988 | 
            +
                AwsRdsDbInstanceDetails.add_member(:read_replica_db_instance_identifiers, Shapes::ShapeRef.new(shape: StringList, location_name: "ReadReplicaDBInstanceIdentifiers"))
         | 
| 989 | 
            +
                AwsRdsDbInstanceDetails.add_member(:read_replica_db_cluster_identifiers, Shapes::ShapeRef.new(shape: StringList, location_name: "ReadReplicaDBClusterIdentifiers"))
         | 
| 990 | 
            +
                AwsRdsDbInstanceDetails.add_member(:license_model, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LicenseModel"))
         | 
| 991 | 
            +
                AwsRdsDbInstanceDetails.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
         | 
| 992 | 
            +
                AwsRdsDbInstanceDetails.add_member(:option_group_memberships, Shapes::ShapeRef.new(shape: AwsRdsDbOptionGroupMemberships, location_name: "OptionGroupMemberships"))
         | 
| 993 | 
            +
                AwsRdsDbInstanceDetails.add_member(:character_set_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CharacterSetName"))
         | 
| 994 | 
            +
                AwsRdsDbInstanceDetails.add_member(:secondary_availability_zone, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SecondaryAvailabilityZone"))
         | 
| 995 | 
            +
                AwsRdsDbInstanceDetails.add_member(:status_infos, Shapes::ShapeRef.new(shape: AwsRdsDbStatusInfos, location_name: "StatusInfos"))
         | 
| 996 | 
            +
                AwsRdsDbInstanceDetails.add_member(:storage_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StorageType"))
         | 
| 997 | 
            +
                AwsRdsDbInstanceDetails.add_member(:domain_memberships, Shapes::ShapeRef.new(shape: AwsRdsDbDomainMemberships, location_name: "DomainMemberships"))
         | 
| 998 | 
            +
                AwsRdsDbInstanceDetails.add_member(:copy_tags_to_snapshot, Shapes::ShapeRef.new(shape: Boolean, location_name: "CopyTagsToSnapshot"))
         | 
| 999 | 
            +
                AwsRdsDbInstanceDetails.add_member(:monitoring_interval, Shapes::ShapeRef.new(shape: Integer, location_name: "MonitoringInterval"))
         | 
| 1000 | 
            +
                AwsRdsDbInstanceDetails.add_member(:monitoring_role_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MonitoringRoleArn"))
         | 
| 1001 | 
            +
                AwsRdsDbInstanceDetails.add_member(:promotion_tier, Shapes::ShapeRef.new(shape: Integer, location_name: "PromotionTier"))
         | 
| 1002 | 
            +
                AwsRdsDbInstanceDetails.add_member(:timezone, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Timezone"))
         | 
| 1003 | 
            +
                AwsRdsDbInstanceDetails.add_member(:performance_insights_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "PerformanceInsightsEnabled"))
         | 
| 1004 | 
            +
                AwsRdsDbInstanceDetails.add_member(:performance_insights_kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PerformanceInsightsKmsKeyId"))
         | 
| 1005 | 
            +
                AwsRdsDbInstanceDetails.add_member(:performance_insights_retention_period, Shapes::ShapeRef.new(shape: Integer, location_name: "PerformanceInsightsRetentionPeriod"))
         | 
| 1006 | 
            +
                AwsRdsDbInstanceDetails.add_member(:enabled_cloud_watch_logs_exports, Shapes::ShapeRef.new(shape: StringList, location_name: "EnabledCloudWatchLogsExports"))
         | 
| 1007 | 
            +
                AwsRdsDbInstanceDetails.add_member(:processor_features, Shapes::ShapeRef.new(shape: AwsRdsDbProcessorFeatures, location_name: "ProcessorFeatures"))
         | 
| 1008 | 
            +
                AwsRdsDbInstanceDetails.add_member(:listener_endpoint, Shapes::ShapeRef.new(shape: AwsRdsDbInstanceEndpoint, location_name: "ListenerEndpoint"))
         | 
| 1009 | 
            +
                AwsRdsDbInstanceDetails.add_member(:max_allocated_storage, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxAllocatedStorage"))
         | 
| 609 1010 | 
             
                AwsRdsDbInstanceDetails.struct_class = Types::AwsRdsDbInstanceDetails
         | 
| 610 1011 |  | 
| 611 1012 | 
             
                AwsRdsDbInstanceEndpoint.add_member(:address, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Address"))
         | 
| @@ -619,6 +1020,100 @@ module Aws::SecurityHub | |
| 619 1020 |  | 
| 620 1021 | 
             
                AwsRdsDbInstanceVpcSecurityGroups.member = Shapes::ShapeRef.new(shape: AwsRdsDbInstanceVpcSecurityGroup)
         | 
| 621 1022 |  | 
| 1023 | 
            +
                AwsRdsDbOptionGroupMembership.add_member(:option_group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OptionGroupName"))
         | 
| 1024 | 
            +
                AwsRdsDbOptionGroupMembership.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 1025 | 
            +
                AwsRdsDbOptionGroupMembership.struct_class = Types::AwsRdsDbOptionGroupMembership
         | 
| 1026 | 
            +
             | 
| 1027 | 
            +
                AwsRdsDbOptionGroupMemberships.member = Shapes::ShapeRef.new(shape: AwsRdsDbOptionGroupMembership)
         | 
| 1028 | 
            +
             | 
| 1029 | 
            +
                AwsRdsDbParameterGroup.add_member(:db_parameter_group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbParameterGroupName"))
         | 
| 1030 | 
            +
                AwsRdsDbParameterGroup.add_member(:parameter_apply_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ParameterApplyStatus"))
         | 
| 1031 | 
            +
                AwsRdsDbParameterGroup.struct_class = Types::AwsRdsDbParameterGroup
         | 
| 1032 | 
            +
             | 
| 1033 | 
            +
                AwsRdsDbParameterGroups.member = Shapes::ShapeRef.new(shape: AwsRdsDbParameterGroup)
         | 
| 1034 | 
            +
             | 
| 1035 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:db_instance_class, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbInstanceClass"))
         | 
| 1036 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:allocated_storage, Shapes::ShapeRef.new(shape: Integer, location_name: "AllocatedStorage"))
         | 
| 1037 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:master_user_password, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MasterUserPassword"))
         | 
| 1038 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:port, Shapes::ShapeRef.new(shape: Integer, location_name: "Port"))
         | 
| 1039 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:backup_retention_period, Shapes::ShapeRef.new(shape: Integer, location_name: "BackupRetentionPeriod"))
         | 
| 1040 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:multi_az, Shapes::ShapeRef.new(shape: Boolean, location_name: "MultiAZ"))
         | 
| 1041 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:engine_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EngineVersion"))
         | 
| 1042 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:license_model, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LicenseModel"))
         | 
| 1043 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
         | 
| 1044 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:db_instance_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbInstanceIdentifier"))
         | 
| 1045 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:storage_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StorageType"))
         | 
| 1046 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:ca_certificate_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CaCertificateIdentifier"))
         | 
| 1047 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:db_subnet_group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbSubnetGroupName"))
         | 
| 1048 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:pending_cloud_watch_logs_exports, Shapes::ShapeRef.new(shape: AwsRdsPendingCloudWatchLogsExports, location_name: "PendingCloudWatchLogsExports"))
         | 
| 1049 | 
            +
                AwsRdsDbPendingModifiedValues.add_member(:processor_features, Shapes::ShapeRef.new(shape: AwsRdsDbProcessorFeatures, location_name: "ProcessorFeatures"))
         | 
| 1050 | 
            +
                AwsRdsDbPendingModifiedValues.struct_class = Types::AwsRdsDbPendingModifiedValues
         | 
| 1051 | 
            +
             | 
| 1052 | 
            +
                AwsRdsDbProcessorFeature.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
         | 
| 1053 | 
            +
                AwsRdsDbProcessorFeature.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
         | 
| 1054 | 
            +
                AwsRdsDbProcessorFeature.struct_class = Types::AwsRdsDbProcessorFeature
         | 
| 1055 | 
            +
             | 
| 1056 | 
            +
                AwsRdsDbProcessorFeatures.member = Shapes::ShapeRef.new(shape: AwsRdsDbProcessorFeature)
         | 
| 1057 | 
            +
             | 
| 1058 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:db_snapshot_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbSnapshotIdentifier"))
         | 
| 1059 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:db_instance_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbInstanceIdentifier"))
         | 
| 1060 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:snapshot_create_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SnapshotCreateTime"))
         | 
| 1061 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:engine, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Engine"))
         | 
| 1062 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:allocated_storage, Shapes::ShapeRef.new(shape: Integer, location_name: "AllocatedStorage"))
         | 
| 1063 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 1064 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:port, Shapes::ShapeRef.new(shape: Integer, location_name: "Port"))
         | 
| 1065 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:availability_zone, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AvailabilityZone"))
         | 
| 1066 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
         | 
| 1067 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:instance_create_time, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "InstanceCreateTime"))
         | 
| 1068 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:master_username, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "MasterUsername"))
         | 
| 1069 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:engine_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "EngineVersion"))
         | 
| 1070 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:license_model, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LicenseModel"))
         | 
| 1071 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:snapshot_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SnapshotType"))
         | 
| 1072 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
         | 
| 1073 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:option_group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OptionGroupName"))
         | 
| 1074 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:percent_progress, Shapes::ShapeRef.new(shape: Integer, location_name: "PercentProgress"))
         | 
| 1075 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:source_region, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SourceRegion"))
         | 
| 1076 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:source_db_snapshot_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SourceDbSnapshotIdentifier"))
         | 
| 1077 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:storage_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StorageType"))
         | 
| 1078 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:tde_credential_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "TdeCredentialArn"))
         | 
| 1079 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "Encrypted"))
         | 
| 1080 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
         | 
| 1081 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:timezone, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Timezone"))
         | 
| 1082 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:iam_database_authentication_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "IamDatabaseAuthenticationEnabled"))
         | 
| 1083 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:processor_features, Shapes::ShapeRef.new(shape: AwsRdsDbProcessorFeatures, location_name: "ProcessorFeatures"))
         | 
| 1084 | 
            +
                AwsRdsDbSnapshotDetails.add_member(:dbi_resource_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbiResourceId"))
         | 
| 1085 | 
            +
                AwsRdsDbSnapshotDetails.struct_class = Types::AwsRdsDbSnapshotDetails
         | 
| 1086 | 
            +
             | 
| 1087 | 
            +
                AwsRdsDbStatusInfo.add_member(:status_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StatusType"))
         | 
| 1088 | 
            +
                AwsRdsDbStatusInfo.add_member(:normal, Shapes::ShapeRef.new(shape: Boolean, location_name: "Normal"))
         | 
| 1089 | 
            +
                AwsRdsDbStatusInfo.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
         | 
| 1090 | 
            +
                AwsRdsDbStatusInfo.add_member(:message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Message"))
         | 
| 1091 | 
            +
                AwsRdsDbStatusInfo.struct_class = Types::AwsRdsDbStatusInfo
         | 
| 1092 | 
            +
             | 
| 1093 | 
            +
                AwsRdsDbStatusInfos.member = Shapes::ShapeRef.new(shape: AwsRdsDbStatusInfo)
         | 
| 1094 | 
            +
             | 
| 1095 | 
            +
                AwsRdsDbSubnetGroup.add_member(:db_subnet_group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbSubnetGroupName"))
         | 
| 1096 | 
            +
                AwsRdsDbSubnetGroup.add_member(:db_subnet_group_description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbSubnetGroupDescription"))
         | 
| 1097 | 
            +
                AwsRdsDbSubnetGroup.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VpcId"))
         | 
| 1098 | 
            +
                AwsRdsDbSubnetGroup.add_member(:subnet_group_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubnetGroupStatus"))
         | 
| 1099 | 
            +
                AwsRdsDbSubnetGroup.add_member(:subnets, Shapes::ShapeRef.new(shape: AwsRdsDbSubnetGroupSubnets, location_name: "Subnets"))
         | 
| 1100 | 
            +
                AwsRdsDbSubnetGroup.add_member(:db_subnet_group_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DbSubnetGroupArn"))
         | 
| 1101 | 
            +
                AwsRdsDbSubnetGroup.struct_class = Types::AwsRdsDbSubnetGroup
         | 
| 1102 | 
            +
             | 
| 1103 | 
            +
                AwsRdsDbSubnetGroupSubnet.add_member(:subnet_identifier, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubnetIdentifier"))
         | 
| 1104 | 
            +
                AwsRdsDbSubnetGroupSubnet.add_member(:subnet_availability_zone, Shapes::ShapeRef.new(shape: AwsRdsDbSubnetGroupSubnetAvailabilityZone, location_name: "SubnetAvailabilityZone"))
         | 
| 1105 | 
            +
                AwsRdsDbSubnetGroupSubnet.add_member(:subnet_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubnetStatus"))
         | 
| 1106 | 
            +
                AwsRdsDbSubnetGroupSubnet.struct_class = Types::AwsRdsDbSubnetGroupSubnet
         | 
| 1107 | 
            +
             | 
| 1108 | 
            +
                AwsRdsDbSubnetGroupSubnetAvailabilityZone.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
         | 
| 1109 | 
            +
                AwsRdsDbSubnetGroupSubnetAvailabilityZone.struct_class = Types::AwsRdsDbSubnetGroupSubnetAvailabilityZone
         | 
| 1110 | 
            +
             | 
| 1111 | 
            +
                AwsRdsDbSubnetGroupSubnets.member = Shapes::ShapeRef.new(shape: AwsRdsDbSubnetGroupSubnet)
         | 
| 1112 | 
            +
             | 
| 1113 | 
            +
                AwsRdsPendingCloudWatchLogsExports.add_member(:log_types_to_enable, Shapes::ShapeRef.new(shape: StringList, location_name: "LogTypesToEnable"))
         | 
| 1114 | 
            +
                AwsRdsPendingCloudWatchLogsExports.add_member(:log_types_to_disable, Shapes::ShapeRef.new(shape: StringList, location_name: "LogTypesToDisable"))
         | 
| 1115 | 
            +
                AwsRdsPendingCloudWatchLogsExports.struct_class = Types::AwsRdsPendingCloudWatchLogsExports
         | 
| 1116 | 
            +
             | 
| 622 1117 | 
             
                AwsS3BucketDetails.add_member(:owner_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerId"))
         | 
| 623 1118 | 
             
                AwsS3BucketDetails.add_member(:owner_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OwnerName"))
         | 
| 624 1119 | 
             
                AwsS3BucketDetails.add_member(:created_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CreatedAt"))
         | 
| @@ -645,6 +1140,19 @@ module Aws::SecurityHub | |
| 645 1140 | 
             
                AwsS3ObjectDetails.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SSEKMSKeyId"))
         | 
| 646 1141 | 
             
                AwsS3ObjectDetails.struct_class = Types::AwsS3ObjectDetails
         | 
| 647 1142 |  | 
| 1143 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:rotation_rules, Shapes::ShapeRef.new(shape: AwsSecretsManagerSecretRotationRules, location_name: "RotationRules"))
         | 
| 1144 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:rotation_occurred_within_frequency, Shapes::ShapeRef.new(shape: Boolean, location_name: "RotationOccurredWithinFrequency"))
         | 
| 1145 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "KmsKeyId"))
         | 
| 1146 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:rotation_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "RotationEnabled"))
         | 
| 1147 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:rotation_lambda_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RotationLambdaArn"))
         | 
| 1148 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:deleted, Shapes::ShapeRef.new(shape: Boolean, location_name: "Deleted"))
         | 
| 1149 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
         | 
| 1150 | 
            +
                AwsSecretsManagerSecretDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
         | 
| 1151 | 
            +
                AwsSecretsManagerSecretDetails.struct_class = Types::AwsSecretsManagerSecretDetails
         | 
| 1152 | 
            +
             | 
| 1153 | 
            +
                AwsSecretsManagerSecretRotationRules.add_member(:automatically_after_days, Shapes::ShapeRef.new(shape: Integer, location_name: "AutomaticallyAfterDays"))
         | 
| 1154 | 
            +
                AwsSecretsManagerSecretRotationRules.struct_class = Types::AwsSecretsManagerSecretRotationRules
         | 
| 1155 | 
            +
             | 
| 648 1156 | 
             
                AwsSecurityFinding.add_member(:schema_version, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SchemaVersion"))
         | 
| 649 1157 | 
             
                AwsSecurityFinding.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Id"))
         | 
| 650 1158 | 
             
                AwsSecurityFinding.add_member(:product_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ProductArn"))
         | 
| @@ -666,6 +1174,7 @@ module Aws::SecurityHub | |
| 666 1174 | 
             
                AwsSecurityFinding.add_member(:user_defined_fields, Shapes::ShapeRef.new(shape: FieldMap, location_name: "UserDefinedFields"))
         | 
| 667 1175 | 
             
                AwsSecurityFinding.add_member(:malware, Shapes::ShapeRef.new(shape: MalwareList, location_name: "Malware"))
         | 
| 668 1176 | 
             
                AwsSecurityFinding.add_member(:network, Shapes::ShapeRef.new(shape: Network, location_name: "Network"))
         | 
| 1177 | 
            +
                AwsSecurityFinding.add_member(:network_path, Shapes::ShapeRef.new(shape: NetworkPathList, location_name: "NetworkPath"))
         | 
| 669 1178 | 
             
                AwsSecurityFinding.add_member(:process, Shapes::ShapeRef.new(shape: ProcessDetails, location_name: "Process"))
         | 
| 670 1179 | 
             
                AwsSecurityFinding.add_member(:threat_intel_indicators, Shapes::ShapeRef.new(shape: ThreatIntelIndicatorList, location_name: "ThreatIntelIndicators"))
         | 
| 671 1180 | 
             
                AwsSecurityFinding.add_member(:resources, Shapes::ShapeRef.new(shape: ResourceList, required: true, location_name: "Resources"))
         | 
| @@ -676,6 +1185,7 @@ module Aws::SecurityHub | |
| 676 1185 | 
             
                AwsSecurityFinding.add_member(:record_state, Shapes::ShapeRef.new(shape: RecordState, location_name: "RecordState"))
         | 
| 677 1186 | 
             
                AwsSecurityFinding.add_member(:related_findings, Shapes::ShapeRef.new(shape: RelatedFindingList, location_name: "RelatedFindings"))
         | 
| 678 1187 | 
             
                AwsSecurityFinding.add_member(:note, Shapes::ShapeRef.new(shape: Note, location_name: "Note"))
         | 
| 1188 | 
            +
                AwsSecurityFinding.add_member(:vulnerabilities, Shapes::ShapeRef.new(shape: VulnerabilityList, location_name: "Vulnerabilities"))
         | 
| 679 1189 | 
             
                AwsSecurityFinding.struct_class = Types::AwsSecurityFinding
         | 
| 680 1190 |  | 
| 681 1191 | 
             
                AwsSecurityFindingFilters.add_member(:product_arn, Shapes::ShapeRef.new(shape: StringFilterList, location_name: "ProductArn"))
         | 
| @@ -851,6 +1361,13 @@ module Aws::SecurityHub | |
| 851 1361 |  | 
| 852 1362 | 
             
                CategoryList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
         | 
| 853 1363 |  | 
| 1364 | 
            +
                CidrBlockAssociation.add_member(:association_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AssociationId"))
         | 
| 1365 | 
            +
                CidrBlockAssociation.add_member(:cidr_block, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CidrBlock"))
         | 
| 1366 | 
            +
                CidrBlockAssociation.add_member(:cidr_block_state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CidrBlockState"))
         | 
| 1367 | 
            +
                CidrBlockAssociation.struct_class = Types::CidrBlockAssociation
         | 
| 1368 | 
            +
             | 
| 1369 | 
            +
                CidrBlockAssociationList.member = Shapes::ShapeRef.new(shape: CidrBlockAssociation)
         | 
| 1370 | 
            +
             | 
| 854 1371 | 
             
                Compliance.add_member(:status, Shapes::ShapeRef.new(shape: ComplianceStatus, location_name: "Status"))
         | 
| 855 1372 | 
             
                Compliance.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
         | 
| 856 1373 | 
             
                Compliance.add_member(:status_reasons, Shapes::ShapeRef.new(shape: StatusReasonsList, location_name: "StatusReasons"))
         | 
| @@ -884,6 +1401,13 @@ module Aws::SecurityHub | |
| 884 1401 | 
             
                CreateMembersResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: ResultList, location_name: "UnprocessedAccounts"))
         | 
| 885 1402 | 
             
                CreateMembersResponse.struct_class = Types::CreateMembersResponse
         | 
| 886 1403 |  | 
| 1404 | 
            +
                Cvss.add_member(:version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Version"))
         | 
| 1405 | 
            +
                Cvss.add_member(:base_score, Shapes::ShapeRef.new(shape: Double, location_name: "BaseScore"))
         | 
| 1406 | 
            +
                Cvss.add_member(:base_vector, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "BaseVector"))
         | 
| 1407 | 
            +
                Cvss.struct_class = Types::Cvss
         | 
| 1408 | 
            +
             | 
| 1409 | 
            +
                CvssList.member = Shapes::ShapeRef.new(shape: Cvss)
         | 
| 1410 | 
            +
             | 
| 887 1411 | 
             
                DateFilter.add_member(:start, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Start"))
         | 
| 888 1412 | 
             
                DateFilter.add_member(:end, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "End"))
         | 
| 889 1413 | 
             
                DateFilter.add_member(:date_range, Shapes::ShapeRef.new(shape: DateRange, location_name: "DateRange"))
         | 
| @@ -939,6 +1463,7 @@ module Aws::SecurityHub | |
| 939 1463 |  | 
| 940 1464 | 
             
                DescribeHubResponse.add_member(:hub_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HubArn"))
         | 
| 941 1465 | 
             
                DescribeHubResponse.add_member(:subscribed_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubscribedAt"))
         | 
| 1466 | 
            +
                DescribeHubResponse.add_member(:auto_enable_controls, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnableControls"))
         | 
| 942 1467 | 
             
                DescribeHubResponse.struct_class = Types::DescribeHubResponse
         | 
| 943 1468 |  | 
| 944 1469 | 
             
                DescribeProductsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
         | 
| @@ -1109,6 +1634,13 @@ module Aws::SecurityHub | |
| 1109 1634 |  | 
| 1110 1635 | 
             
                IpFilterList.member = Shapes::ShapeRef.new(shape: IpFilter)
         | 
| 1111 1636 |  | 
| 1637 | 
            +
                Ipv6CidrBlockAssociation.add_member(:association_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AssociationId"))
         | 
| 1638 | 
            +
                Ipv6CidrBlockAssociation.add_member(:ipv_6_cidr_block, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Ipv6CidrBlock"))
         | 
| 1639 | 
            +
                Ipv6CidrBlockAssociation.add_member(:cidr_block_state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CidrBlockState"))
         | 
| 1640 | 
            +
                Ipv6CidrBlockAssociation.struct_class = Types::Ipv6CidrBlockAssociation
         | 
| 1641 | 
            +
             | 
| 1642 | 
            +
                Ipv6CidrBlockAssociationList.member = Shapes::ShapeRef.new(shape: Ipv6CidrBlockAssociation)
         | 
| 1643 | 
            +
             | 
| 1112 1644 | 
             
                KeywordFilter.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
         | 
| 1113 1645 | 
             
                KeywordFilter.struct_class = Types::KeywordFilter
         | 
| 1114 1646 |  | 
| @@ -1180,6 +1712,7 @@ module Aws::SecurityHub | |
| 1180 1712 |  | 
| 1181 1713 | 
             
                Network.add_member(:direction, Shapes::ShapeRef.new(shape: NetworkDirection, location_name: "Direction"))
         | 
| 1182 1714 | 
             
                Network.add_member(:protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Protocol"))
         | 
| 1715 | 
            +
                Network.add_member(:open_port_range, Shapes::ShapeRef.new(shape: PortRange, location_name: "OpenPortRange"))
         | 
| 1183 1716 | 
             
                Network.add_member(:source_ip_v4, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SourceIpV4"))
         | 
| 1184 1717 | 
             
                Network.add_member(:source_ip_v6, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SourceIpV6"))
         | 
| 1185 1718 | 
             
                Network.add_member(:source_port, Shapes::ShapeRef.new(shape: Integer, location_name: "SourcePort"))
         | 
| @@ -1191,6 +1724,23 @@ module Aws::SecurityHub | |
| 1191 1724 | 
             
                Network.add_member(:destination_domain, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationDomain"))
         | 
| 1192 1725 | 
             
                Network.struct_class = Types::Network
         | 
| 1193 1726 |  | 
| 1727 | 
            +
                NetworkHeader.add_member(:protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Protocol"))
         | 
| 1728 | 
            +
                NetworkHeader.add_member(:destination, Shapes::ShapeRef.new(shape: NetworkPathComponentDetails, location_name: "Destination"))
         | 
| 1729 | 
            +
                NetworkHeader.add_member(:source, Shapes::ShapeRef.new(shape: NetworkPathComponentDetails, location_name: "Source"))
         | 
| 1730 | 
            +
                NetworkHeader.struct_class = Types::NetworkHeader
         | 
| 1731 | 
            +
             | 
| 1732 | 
            +
                NetworkPathComponent.add_member(:component_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ComponentId"))
         | 
| 1733 | 
            +
                NetworkPathComponent.add_member(:component_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ComponentType"))
         | 
| 1734 | 
            +
                NetworkPathComponent.add_member(:egress, Shapes::ShapeRef.new(shape: NetworkHeader, location_name: "Egress"))
         | 
| 1735 | 
            +
                NetworkPathComponent.add_member(:ingress, Shapes::ShapeRef.new(shape: NetworkHeader, location_name: "Ingress"))
         | 
| 1736 | 
            +
                NetworkPathComponent.struct_class = Types::NetworkPathComponent
         | 
| 1737 | 
            +
             | 
| 1738 | 
            +
                NetworkPathComponentDetails.add_member(:address, Shapes::ShapeRef.new(shape: StringList, location_name: "Address"))
         | 
| 1739 | 
            +
                NetworkPathComponentDetails.add_member(:port_ranges, Shapes::ShapeRef.new(shape: PortRangeList, location_name: "PortRanges"))
         | 
| 1740 | 
            +
                NetworkPathComponentDetails.struct_class = Types::NetworkPathComponentDetails
         | 
| 1741 | 
            +
             | 
| 1742 | 
            +
                NetworkPathList.member = Shapes::ShapeRef.new(shape: NetworkPathComponent)
         | 
| 1743 | 
            +
             | 
| 1194 1744 | 
             
                NonEmptyStringList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
         | 
| 1195 1745 |  | 
| 1196 1746 | 
             
                Note.add_member(:text, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Text"))
         | 
| @@ -1209,6 +1759,12 @@ module Aws::SecurityHub | |
| 1209 1759 |  | 
| 1210 1760 | 
             
                NumberFilterList.member = Shapes::ShapeRef.new(shape: NumberFilter)
         | 
| 1211 1761 |  | 
| 1762 | 
            +
                PortRange.add_member(:begin, Shapes::ShapeRef.new(shape: Integer, location_name: "Begin"))
         | 
| 1763 | 
            +
                PortRange.add_member(:end, Shapes::ShapeRef.new(shape: Integer, location_name: "End"))
         | 
| 1764 | 
            +
                PortRange.struct_class = Types::PortRange
         | 
| 1765 | 
            +
             | 
| 1766 | 
            +
                PortRangeList.member = Shapes::ShapeRef.new(shape: PortRange)
         | 
| 1767 | 
            +
             | 
| 1212 1768 | 
             
                ProcessDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
         | 
| 1213 1769 | 
             
                ProcessDetails.add_member(:path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Path"))
         | 
| 1214 1770 | 
             
                ProcessDetails.add_member(:pid, Shapes::ShapeRef.new(shape: Integer, location_name: "Pid"))
         | 
| @@ -1259,16 +1815,24 @@ module Aws::SecurityHub | |
| 1259 1815 | 
             
                ResourceConflictException.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Code"))
         | 
| 1260 1816 | 
             
                ResourceConflictException.struct_class = Types::ResourceConflictException
         | 
| 1261 1817 |  | 
| 1818 | 
            +
                ResourceDetails.add_member(:aws_auto_scaling_auto_scaling_group, Shapes::ShapeRef.new(shape: AwsAutoScalingAutoScalingGroupDetails, location_name: "AwsAutoScalingAutoScalingGroup"))
         | 
| 1262 1819 | 
             
                ResourceDetails.add_member(:aws_code_build_project, Shapes::ShapeRef.new(shape: AwsCodeBuildProjectDetails, location_name: "AwsCodeBuildProject"))
         | 
| 1263 1820 | 
             
                ResourceDetails.add_member(:aws_cloud_front_distribution, Shapes::ShapeRef.new(shape: AwsCloudFrontDistributionDetails, location_name: "AwsCloudFrontDistribution"))
         | 
| 1264 1821 | 
             
                ResourceDetails.add_member(:aws_ec2_instance, Shapes::ShapeRef.new(shape: AwsEc2InstanceDetails, location_name: "AwsEc2Instance"))
         | 
| 1265 1822 | 
             
                ResourceDetails.add_member(:aws_ec2_network_interface, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceDetails, location_name: "AwsEc2NetworkInterface"))
         | 
| 1266 1823 | 
             
                ResourceDetails.add_member(:aws_ec2_security_group, Shapes::ShapeRef.new(shape: AwsEc2SecurityGroupDetails, location_name: "AwsEc2SecurityGroup"))
         | 
| 1824 | 
            +
                ResourceDetails.add_member(:aws_ec2_volume, Shapes::ShapeRef.new(shape: AwsEc2VolumeDetails, location_name: "AwsEc2Volume"))
         | 
| 1825 | 
            +
                ResourceDetails.add_member(:aws_ec2_vpc, Shapes::ShapeRef.new(shape: AwsEc2VpcDetails, location_name: "AwsEc2Vpc"))
         | 
| 1826 | 
            +
                ResourceDetails.add_member(:aws_ec2_eip, Shapes::ShapeRef.new(shape: AwsEc2EipDetails, location_name: "AwsEc2Eip"))
         | 
| 1267 1827 | 
             
                ResourceDetails.add_member(:aws_elbv_2_load_balancer, Shapes::ShapeRef.new(shape: AwsElbv2LoadBalancerDetails, location_name: "AwsElbv2LoadBalancer"))
         | 
| 1268 1828 | 
             
                ResourceDetails.add_member(:aws_elasticsearch_domain, Shapes::ShapeRef.new(shape: AwsElasticsearchDomainDetails, location_name: "AwsElasticsearchDomain"))
         | 
| 1269 1829 | 
             
                ResourceDetails.add_member(:aws_s3_bucket, Shapes::ShapeRef.new(shape: AwsS3BucketDetails, location_name: "AwsS3Bucket"))
         | 
| 1270 1830 | 
             
                ResourceDetails.add_member(:aws_s3_object, Shapes::ShapeRef.new(shape: AwsS3ObjectDetails, location_name: "AwsS3Object"))
         | 
| 1831 | 
            +
                ResourceDetails.add_member(:aws_secrets_manager_secret, Shapes::ShapeRef.new(shape: AwsSecretsManagerSecretDetails, location_name: "AwsSecretsManagerSecret"))
         | 
| 1271 1832 | 
             
                ResourceDetails.add_member(:aws_iam_access_key, Shapes::ShapeRef.new(shape: AwsIamAccessKeyDetails, location_name: "AwsIamAccessKey"))
         | 
| 1833 | 
            +
                ResourceDetails.add_member(:aws_iam_user, Shapes::ShapeRef.new(shape: AwsIamUserDetails, location_name: "AwsIamUser"))
         | 
| 1834 | 
            +
                ResourceDetails.add_member(:aws_iam_policy, Shapes::ShapeRef.new(shape: AwsIamPolicyDetails, location_name: "AwsIamPolicy"))
         | 
| 1835 | 
            +
                ResourceDetails.add_member(:aws_dynamo_db_table, Shapes::ShapeRef.new(shape: AwsDynamoDbTableDetails, location_name: "AwsDynamoDbTable"))
         | 
| 1272 1836 | 
             
                ResourceDetails.add_member(:aws_iam_role, Shapes::ShapeRef.new(shape: AwsIamRoleDetails, location_name: "AwsIamRole"))
         | 
| 1273 1837 | 
             
                ResourceDetails.add_member(:aws_kms_key, Shapes::ShapeRef.new(shape: AwsKmsKeyDetails, location_name: "AwsKmsKey"))
         | 
| 1274 1838 | 
             
                ResourceDetails.add_member(:aws_lambda_function, Shapes::ShapeRef.new(shape: AwsLambdaFunctionDetails, location_name: "AwsLambdaFunction"))
         | 
| @@ -1277,6 +1841,9 @@ module Aws::SecurityHub | |
| 1277 1841 | 
             
                ResourceDetails.add_member(:aws_sns_topic, Shapes::ShapeRef.new(shape: AwsSnsTopicDetails, location_name: "AwsSnsTopic"))
         | 
| 1278 1842 | 
             
                ResourceDetails.add_member(:aws_sqs_queue, Shapes::ShapeRef.new(shape: AwsSqsQueueDetails, location_name: "AwsSqsQueue"))
         | 
| 1279 1843 | 
             
                ResourceDetails.add_member(:aws_waf_web_acl, Shapes::ShapeRef.new(shape: AwsWafWebAclDetails, location_name: "AwsWafWebAcl"))
         | 
| 1844 | 
            +
                ResourceDetails.add_member(:aws_rds_db_snapshot, Shapes::ShapeRef.new(shape: AwsRdsDbSnapshotDetails, location_name: "AwsRdsDbSnapshot"))
         | 
| 1845 | 
            +
                ResourceDetails.add_member(:aws_rds_db_cluster_snapshot, Shapes::ShapeRef.new(shape: AwsRdsDbClusterSnapshotDetails, location_name: "AwsRdsDbClusterSnapshot"))
         | 
| 1846 | 
            +
                ResourceDetails.add_member(:aws_rds_db_cluster, Shapes::ShapeRef.new(shape: AwsRdsDbClusterDetails, location_name: "AwsRdsDbCluster"))
         | 
| 1280 1847 | 
             
                ResourceDetails.add_member(:container, Shapes::ShapeRef.new(shape: ContainerDetails, location_name: "Container"))
         | 
| 1281 1848 | 
             
                ResourceDetails.add_member(:other, Shapes::ShapeRef.new(shape: FieldMap, location_name: "Other"))
         | 
| 1282 1849 | 
             
                ResourceDetails.struct_class = Types::ResourceDetails
         | 
| @@ -1306,6 +1873,15 @@ module Aws::SecurityHub | |
| 1306 1873 | 
             
                SeverityUpdate.add_member(:label, Shapes::ShapeRef.new(shape: SeverityLabel, location_name: "Label"))
         | 
| 1307 1874 | 
             
                SeverityUpdate.struct_class = Types::SeverityUpdate
         | 
| 1308 1875 |  | 
| 1876 | 
            +
                SoftwarePackage.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
         | 
| 1877 | 
            +
                SoftwarePackage.add_member(:version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Version"))
         | 
| 1878 | 
            +
                SoftwarePackage.add_member(:epoch, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Epoch"))
         | 
| 1879 | 
            +
                SoftwarePackage.add_member(:release, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Release"))
         | 
| 1880 | 
            +
                SoftwarePackage.add_member(:architecture, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Architecture"))
         | 
| 1881 | 
            +
                SoftwarePackage.struct_class = Types::SoftwarePackage
         | 
| 1882 | 
            +
             | 
| 1883 | 
            +
                SoftwarePackageList.member = Shapes::ShapeRef.new(shape: SoftwarePackage)
         | 
| 1884 | 
            +
             | 
| 1309 1885 | 
             
                SortCriteria.member = Shapes::ShapeRef.new(shape: SortCriterion)
         | 
| 1310 1886 |  | 
| 1311 1887 | 
             
                SortCriterion.add_member(:field, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Field"))
         | 
| @@ -1418,6 +1994,11 @@ module Aws::SecurityHub | |
| 1418 1994 |  | 
| 1419 1995 | 
             
                UpdateInsightResponse.struct_class = Types::UpdateInsightResponse
         | 
| 1420 1996 |  | 
| 1997 | 
            +
                UpdateSecurityHubConfigurationRequest.add_member(:auto_enable_controls, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnableControls"))
         | 
| 1998 | 
            +
                UpdateSecurityHubConfigurationRequest.struct_class = Types::UpdateSecurityHubConfigurationRequest
         | 
| 1999 | 
            +
             | 
| 2000 | 
            +
                UpdateSecurityHubConfigurationResponse.struct_class = Types::UpdateSecurityHubConfigurationResponse
         | 
| 2001 | 
            +
             | 
| 1421 2002 | 
             
                UpdateStandardsControlRequest.add_member(:standards_control_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "StandardsControlArn"))
         | 
| 1422 2003 | 
             
                UpdateStandardsControlRequest.add_member(:control_status, Shapes::ShapeRef.new(shape: ControlStatus, location_name: "ControlStatus"))
         | 
| 1423 2004 | 
             
                UpdateStandardsControlRequest.add_member(:disabled_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DisabledReason"))
         | 
| @@ -1425,6 +2006,23 @@ module Aws::SecurityHub | |
| 1425 2006 |  | 
| 1426 2007 | 
             
                UpdateStandardsControlResponse.struct_class = Types::UpdateStandardsControlResponse
         | 
| 1427 2008 |  | 
| 2009 | 
            +
                Vulnerability.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Id"))
         | 
| 2010 | 
            +
                Vulnerability.add_member(:vulnerable_packages, Shapes::ShapeRef.new(shape: SoftwarePackageList, location_name: "VulnerablePackages"))
         | 
| 2011 | 
            +
                Vulnerability.add_member(:cvss, Shapes::ShapeRef.new(shape: CvssList, location_name: "Cvss"))
         | 
| 2012 | 
            +
                Vulnerability.add_member(:related_vulnerabilities, Shapes::ShapeRef.new(shape: StringList, location_name: "RelatedVulnerabilities"))
         | 
| 2013 | 
            +
                Vulnerability.add_member(:vendor, Shapes::ShapeRef.new(shape: VulnerabilityVendor, location_name: "Vendor"))
         | 
| 2014 | 
            +
                Vulnerability.add_member(:reference_urls, Shapes::ShapeRef.new(shape: StringList, location_name: "ReferenceUrls"))
         | 
| 2015 | 
            +
                Vulnerability.struct_class = Types::Vulnerability
         | 
| 2016 | 
            +
             | 
| 2017 | 
            +
                VulnerabilityList.member = Shapes::ShapeRef.new(shape: Vulnerability)
         | 
| 2018 | 
            +
             | 
| 2019 | 
            +
                VulnerabilityVendor.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
         | 
| 2020 | 
            +
                VulnerabilityVendor.add_member(:url, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Url"))
         | 
| 2021 | 
            +
                VulnerabilityVendor.add_member(:vendor_severity, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VendorSeverity"))
         | 
| 2022 | 
            +
                VulnerabilityVendor.add_member(:vendor_created_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VendorCreatedAt"))
         | 
| 2023 | 
            +
                VulnerabilityVendor.add_member(:vendor_updated_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VendorUpdatedAt"))
         | 
| 2024 | 
            +
                VulnerabilityVendor.struct_class = Types::VulnerabilityVendor
         | 
| 2025 | 
            +
             | 
| 1428 2026 | 
             
                WafAction.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Type"))
         | 
| 1429 2027 | 
             
                WafAction.struct_class = Types::WafAction
         | 
| 1430 2028 |  | 
| @@ -2028,6 +2626,19 @@ module Aws::SecurityHub | |
| 2028 2626 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 2029 2627 | 
             
                  end)
         | 
| 2030 2628 |  | 
| 2629 | 
            +
                  api.add_operation(:update_security_hub_configuration, Seahorse::Model::Operation.new.tap do |o|
         | 
| 2630 | 
            +
                    o.name = "UpdateSecurityHubConfiguration"
         | 
| 2631 | 
            +
                    o.http_method = "PATCH"
         | 
| 2632 | 
            +
                    o.http_request_uri = "/accounts"
         | 
| 2633 | 
            +
                    o.input = Shapes::ShapeRef.new(shape: UpdateSecurityHubConfigurationRequest)
         | 
| 2634 | 
            +
                    o.output = Shapes::ShapeRef.new(shape: UpdateSecurityHubConfigurationResponse)
         | 
| 2635 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalException)
         | 
| 2636 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
         | 
| 2637 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
         | 
| 2638 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
         | 
| 2639 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 2640 | 
            +
                  end)
         | 
| 2641 | 
            +
             | 
| 2031 2642 | 
             
                  api.add_operation(:update_standards_control, Seahorse::Model::Operation.new.tap do |o|
         | 
| 2032 2643 | 
             
                    o.name = "UpdateStandardsControl"
         | 
| 2033 2644 | 
             
                    o.http_method = "PATCH"
         |