aws-sdk-securityhub 1.165.0 → 1.167.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.
@@ -771,6 +771,8 @@ module Aws::SecurityHub
771
771
  BooleanConfigurationOptions = Shapes::StructureShape.new(name: 'BooleanConfigurationOptions')
772
772
  BooleanFilter = Shapes::StructureShape.new(name: 'BooleanFilter')
773
773
  BooleanFilterList = Shapes::ListShape.new(name: 'BooleanFilterList')
774
+ CancelExportJobV2Request = Shapes::StructureShape.new(name: 'CancelExportJobV2Request')
775
+ CancelExportJobV2Response = Shapes::StructureShape.new(name: 'CancelExportJobV2Response')
774
776
  CategoryList = Shapes::ListShape.new(name: 'CategoryList')
775
777
  Cell = Shapes::StructureShape.new(name: 'Cell')
776
778
  Cells = Shapes::ListShape.new(name: 'Cells')
@@ -929,6 +931,22 @@ module Aws::SecurityHub
929
931
  EnablementStatus = Shapes::StringShape.new(name: 'EnablementStatus')
930
932
  EnumConfigurationOptions = Shapes::StructureShape.new(name: 'EnumConfigurationOptions')
931
933
  EnumListConfigurationOptions = Shapes::StructureShape.new(name: 'EnumListConfigurationOptions')
934
+ ExportDataType = Shapes::StringShape.new(name: 'ExportDataType')
935
+ ExportDestination = Shapes::UnionShape.new(name: 'ExportDestination')
936
+ ExportFailureCode = Shapes::StringShape.new(name: 'ExportFailureCode')
937
+ ExportJobId = Shapes::StringShape.new(name: 'ExportJobId')
938
+ ExportMaxResults = Shapes::IntegerShape.new(name: 'ExportMaxResults')
939
+ ExportName = Shapes::StringShape.new(name: 'ExportName')
940
+ ExportOutput = Shapes::UnionShape.new(name: 'ExportOutput')
941
+ ExportOutputSummary = Shapes::UnionShape.new(name: 'ExportOutputSummary')
942
+ ExportScopes = Shapes::StructureShape.new(name: 'ExportScopes')
943
+ ExportStatus = Shapes::StringShape.new(name: 'ExportStatus')
944
+ ExportSummary = Shapes::StructureShape.new(name: 'ExportSummary')
945
+ ExportSummaryList = Shapes::ListShape.new(name: 'ExportSummaryList')
946
+ ExposureFinding = Shapes::StructureShape.new(name: 'ExposureFinding')
947
+ ExposureFindingItemsList = Shapes::ListShape.new(name: 'ExposureFindingItemsList')
948
+ ExposureImpact = Shapes::StringShape.new(name: 'ExposureImpact')
949
+ ExposureSeverity = Shapes::StringShape.new(name: 'ExposureSeverity')
932
950
  ExternalIntegrationConfiguration = Shapes::StructureShape.new(name: 'ExternalIntegrationConfiguration')
933
951
  FeatureDetail = Shapes::StructureShape.new(name: 'FeatureDetail')
934
952
  FeatureName = Shapes::StringShape.new(name: 'FeatureName')
@@ -949,6 +967,11 @@ module Aws::SecurityHub
949
967
  FindingProviderFields = Shapes::StructureShape.new(name: 'FindingProviderFields')
950
968
  FindingProviderSeverity = Shapes::StructureShape.new(name: 'FindingProviderSeverity')
951
969
  FindingScopes = Shapes::StructureShape.new(name: 'FindingScopes')
970
+ FindingsExportFormat = Shapes::StringShape.new(name: 'FindingsExportFormat')
971
+ FindingsOutput = Shapes::StructureShape.new(name: 'FindingsOutput')
972
+ FindingsOutputSummary = Shapes::StructureShape.new(name: 'FindingsOutputSummary')
973
+ FindingsSelectableField = Shapes::StringShape.new(name: 'FindingsSelectableField')
974
+ FindingsSelectedFieldList = Shapes::ListShape.new(name: 'FindingsSelectedFieldList')
952
975
  FindingsTrendsCompositeFilter = Shapes::StructureShape.new(name: 'FindingsTrendsCompositeFilter')
953
976
  FindingsTrendsCompositeFilterList = Shapes::ListShape.new(name: 'FindingsTrendsCompositeFilterList')
954
977
  FindingsTrendsFilters = Shapes::StructureShape.new(name: 'FindingsTrendsFilters')
@@ -989,6 +1012,8 @@ module Aws::SecurityHub
989
1012
  GetConnectorV2Response = Shapes::StructureShape.new(name: 'GetConnectorV2Response')
990
1013
  GetEnabledStandardsRequest = Shapes::StructureShape.new(name: 'GetEnabledStandardsRequest')
991
1014
  GetEnabledStandardsResponse = Shapes::StructureShape.new(name: 'GetEnabledStandardsResponse')
1015
+ GetExportJobV2Request = Shapes::StructureShape.new(name: 'GetExportJobV2Request')
1016
+ GetExportJobV2Response = Shapes::StructureShape.new(name: 'GetExportJobV2Response')
992
1017
  GetFindingAggregatorRequest = Shapes::StructureShape.new(name: 'GetFindingAggregatorRequest')
993
1018
  GetFindingAggregatorResponse = Shapes::StructureShape.new(name: 'GetFindingAggregatorResponse')
994
1019
  GetFindingHistoryRequest = Shapes::StructureShape.new(name: 'GetFindingHistoryRequest')
@@ -1013,6 +1038,8 @@ module Aws::SecurityHub
1013
1038
  GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse')
1014
1039
  GetRecommendedPolicyV2Request = Shapes::StructureShape.new(name: 'GetRecommendedPolicyV2Request')
1015
1040
  GetRecommendedPolicyV2Response = Shapes::StructureShape.new(name: 'GetRecommendedPolicyV2Response')
1041
+ GetRemediationsV2Request = Shapes::StructureShape.new(name: 'GetRemediationsV2Request')
1042
+ GetRemediationsV2Response = Shapes::StructureShape.new(name: 'GetRemediationsV2Response')
1016
1043
  GetResourcesStatisticsV2Request = Shapes::StructureShape.new(name: 'GetResourcesStatisticsV2Request')
1017
1044
  GetResourcesStatisticsV2Response = Shapes::StructureShape.new(name: 'GetResourcesStatisticsV2Response')
1018
1045
  GetResourcesTrendsV2Request = Shapes::StructureShape.new(name: 'GetResourcesTrendsV2Request')
@@ -1029,6 +1056,7 @@ module Aws::SecurityHub
1029
1056
  GroupByRules = Shapes::ListShape.new(name: 'GroupByRules')
1030
1057
  GroupByValue = Shapes::StructureShape.new(name: 'GroupByValue')
1031
1058
  GroupByValues = Shapes::ListShape.new(name: 'GroupByValues')
1059
+ GuidanceFormat = Shapes::StringShape.new(name: 'GuidanceFormat')
1032
1060
  HealthCheck = Shapes::StructureShape.new(name: 'HealthCheck')
1033
1061
  HealthIssue = Shapes::StructureShape.new(name: 'HealthIssue')
1034
1062
  HealthIssueCode = Shapes::StringShape.new(name: 'HealthIssueCode')
@@ -1068,6 +1096,8 @@ module Aws::SecurityHub
1068
1096
  JiraCloudDetail = Shapes::StructureShape.new(name: 'JiraCloudDetail')
1069
1097
  JiraCloudProviderConfiguration = Shapes::StructureShape.new(name: 'JiraCloudProviderConfiguration')
1070
1098
  JiraCloudUpdateConfiguration = Shapes::StructureShape.new(name: 'JiraCloudUpdateConfiguration')
1099
+ KbArticle = Shapes::StructureShape.new(name: 'KbArticle')
1100
+ KbArticleList = Shapes::ListShape.new(name: 'KbArticleList')
1071
1101
  KeywordFilter = Shapes::StructureShape.new(name: 'KeywordFilter')
1072
1102
  KeywordFilterList = Shapes::ListShape.new(name: 'KeywordFilterList')
1073
1103
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
@@ -1087,6 +1117,10 @@ module Aws::SecurityHub
1087
1117
  ListConnectorsV2Response = Shapes::StructureShape.new(name: 'ListConnectorsV2Response')
1088
1118
  ListEnabledProductsForImportRequest = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportRequest')
1089
1119
  ListEnabledProductsForImportResponse = Shapes::StructureShape.new(name: 'ListEnabledProductsForImportResponse')
1120
+ ListExportJobsV2Request = Shapes::StructureShape.new(name: 'ListExportJobsV2Request')
1121
+ ListExportJobsV2Response = Shapes::StructureShape.new(name: 'ListExportJobsV2Response')
1122
+ ListExposuresByRemediationV2Request = Shapes::StructureShape.new(name: 'ListExposuresByRemediationV2Request')
1123
+ ListExposuresByRemediationV2Response = Shapes::StructureShape.new(name: 'ListExposuresByRemediationV2Response')
1090
1124
  ListFindingAggregatorsRequest = Shapes::StructureShape.new(name: 'ListFindingAggregatorsRequest')
1091
1125
  ListFindingAggregatorsResponse = Shapes::StructureShape.new(name: 'ListFindingAggregatorsResponse')
1092
1126
  ListFreeTrialStatusesV2Request = Shapes::StructureShape.new(name: 'ListFreeTrialStatusesV2Request')
@@ -1213,6 +1247,32 @@ module Aws::SecurityHub
1213
1247
  RelatedFindingList = Shapes::ListShape.new(name: 'RelatedFindingList')
1214
1248
  RelatedRequirementsList = Shapes::ListShape.new(name: 'RelatedRequirementsList')
1215
1249
  Remediation = Shapes::StructureShape.new(name: 'Remediation')
1250
+ RemediationCompositeFilter = Shapes::StructureShape.new(name: 'RemediationCompositeFilter')
1251
+ RemediationCompositeFilterList = Shapes::ListShape.new(name: 'RemediationCompositeFilterList')
1252
+ RemediationFilters = Shapes::StructureShape.new(name: 'RemediationFilters')
1253
+ RemediationGuidance = Shapes::StructureShape.new(name: 'RemediationGuidance')
1254
+ RemediationGuidanceContext = Shapes::StructureShape.new(name: 'RemediationGuidanceContext')
1255
+ RemediationGuidanceExamples = Shapes::StructureShape.new(name: 'RemediationGuidanceExamples')
1256
+ RemediationGuidanceMetadata = Shapes::StructureShape.new(name: 'RemediationGuidanceMetadata')
1257
+ RemediationGuidanceSpecification = Shapes::StructureShape.new(name: 'RemediationGuidanceSpecification')
1258
+ RemediationOutcome = Shapes::StructureShape.new(name: 'RemediationOutcome')
1259
+ RemediationParameter = Shapes::StructureShape.new(name: 'RemediationParameter')
1260
+ RemediationParameterList = Shapes::ListShape.new(name: 'RemediationParameterList')
1261
+ RemediationPriority = Shapes::StringShape.new(name: 'RemediationPriority')
1262
+ RemediationResource = Shapes::StructureShape.new(name: 'RemediationResource')
1263
+ RemediationStatus = Shapes::StringShape.new(name: 'RemediationStatus')
1264
+ RemediationStep = Shapes::StructureShape.new(name: 'RemediationStep')
1265
+ RemediationStepList = Shapes::ListShape.new(name: 'RemediationStepList')
1266
+ RemediationStringField = Shapes::StringShape.new(name: 'RemediationStringField')
1267
+ RemediationStringFilter = Shapes::StructureShape.new(name: 'RemediationStringFilter')
1268
+ RemediationStringFilterCondition = Shapes::StructureShape.new(name: 'RemediationStringFilterCondition')
1269
+ RemediationStringFilterList = Shapes::ListShape.new(name: 'RemediationStringFilterList')
1270
+ RemediationStringList = Shapes::ListShape.new(name: 'RemediationStringList')
1271
+ RemediationStringUid = Shapes::StringShape.new(name: 'RemediationStringUid')
1272
+ RemediationSummaryDetail = Shapes::StructureShape.new(name: 'RemediationSummaryDetail')
1273
+ RemediationTrait = Shapes::StructureShape.new(name: 'RemediationTrait')
1274
+ RemediationV2Item = Shapes::StructureShape.new(name: 'RemediationV2Item')
1275
+ RemediationV2ItemList = Shapes::ListShape.new(name: 'RemediationV2ItemList')
1216
1276
  Resource = Shapes::StructureShape.new(name: 'Resource')
1217
1277
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
1218
1278
  ResourceCategory = Shapes::StringShape.new(name: 'ResourceCategory')
@@ -1301,6 +1361,8 @@ module Aws::SecurityHub
1301
1361
  RuleOrderValueV2 = Shapes::FloatShape.new(name: 'RuleOrderValueV2')
1302
1362
  RuleStatus = Shapes::StringShape.new(name: 'RuleStatus')
1303
1363
  RuleStatusV2 = Shapes::StringShape.new(name: 'RuleStatusV2')
1364
+ S3ExportDestination = Shapes::StructureShape.new(name: 'S3ExportDestination')
1365
+ S3ObjectPrefix = Shapes::StringShape.new(name: 'S3ObjectPrefix')
1304
1366
  ScopeType = Shapes::StringShape.new(name: 'ScopeType')
1305
1367
  ScopeValueList = Shapes::ListShape.new(name: 'ScopeValueList')
1306
1368
  SecurityControl = Shapes::StructureShape.new(name: 'SecurityControl')
@@ -1369,6 +1431,8 @@ module Aws::SecurityHub
1369
1431
  StartConfigurationPolicyAssociationResponse = Shapes::StructureShape.new(name: 'StartConfigurationPolicyAssociationResponse')
1370
1432
  StartConfigurationPolicyDisassociationRequest = Shapes::StructureShape.new(name: 'StartConfigurationPolicyDisassociationRequest')
1371
1433
  StartConfigurationPolicyDisassociationResponse = Shapes::StructureShape.new(name: 'StartConfigurationPolicyDisassociationResponse')
1434
+ StartExportJobV2Request = Shapes::StructureShape.new(name: 'StartExportJobV2Request')
1435
+ StartExportJobV2Response = Shapes::StructureShape.new(name: 'StartExportJobV2Response')
1372
1436
  StatelessCustomActionDefinition = Shapes::StructureShape.new(name: 'StatelessCustomActionDefinition')
1373
1437
  StatelessCustomPublishMetricAction = Shapes::StructureShape.new(name: 'StatelessCustomPublishMetricAction')
1374
1438
  StatelessCustomPublishMetricActionDimension = Shapes::StructureShape.new(name: 'StatelessCustomPublishMetricActionDimension')
@@ -5606,6 +5670,13 @@ module Aws::SecurityHub
5606
5670
 
5607
5671
  BooleanFilterList.member = Shapes::ShapeRef.new(shape: BooleanFilter)
5608
5672
 
5673
+ CancelExportJobV2Request.add_member(:export_job_id, Shapes::ShapeRef.new(shape: ExportJobId, required: true, location: "uri", location_name: "ExportJobId"))
5674
+ CancelExportJobV2Request.struct_class = Types::CancelExportJobV2Request
5675
+
5676
+ CancelExportJobV2Response.add_member(:export_job_id, Shapes::ShapeRef.new(shape: ExportJobId, required: true, location_name: "ExportJobId"))
5677
+ CancelExportJobV2Response.add_member(:status, Shapes::ShapeRef.new(shape: ExportStatus, required: true, location_name: "Status"))
5678
+ CancelExportJobV2Response.struct_class = Types::CancelExportJobV2Response
5679
+
5609
5680
  CategoryList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
5610
5681
 
5611
5682
  Cell.add_member(:column, Shapes::ShapeRef.new(shape: Long, location_name: "Column"))
@@ -6188,6 +6259,51 @@ module Aws::SecurityHub
6188
6259
  EnumListConfigurationOptions.add_member(:allowed_values, Shapes::ShapeRef.new(shape: StringList, location_name: "AllowedValues"))
6189
6260
  EnumListConfigurationOptions.struct_class = Types::EnumListConfigurationOptions
6190
6261
 
6262
+ ExportDestination.add_member(:s3, Shapes::ShapeRef.new(shape: S3ExportDestination, location_name: "S3"))
6263
+ ExportDestination.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
6264
+ ExportDestination.add_member_subclass(:s3, Types::ExportDestination::S3)
6265
+ ExportDestination.add_member_subclass(:unknown, Types::ExportDestination::Unknown)
6266
+ ExportDestination.struct_class = Types::ExportDestination
6267
+
6268
+ ExportOutput.add_member(:findings, Shapes::ShapeRef.new(shape: FindingsOutput, location_name: "Findings"))
6269
+ ExportOutput.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
6270
+ ExportOutput.add_member_subclass(:findings, Types::ExportOutput::Findings)
6271
+ ExportOutput.add_member_subclass(:unknown, Types::ExportOutput::Unknown)
6272
+ ExportOutput.struct_class = Types::ExportOutput
6273
+
6274
+ ExportOutputSummary.add_member(:findings, Shapes::ShapeRef.new(shape: FindingsOutputSummary, location_name: "Findings"))
6275
+ ExportOutputSummary.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
6276
+ ExportOutputSummary.add_member_subclass(:findings, Types::ExportOutputSummary::Findings)
6277
+ ExportOutputSummary.add_member_subclass(:unknown, Types::ExportOutputSummary::Unknown)
6278
+ ExportOutputSummary.struct_class = Types::ExportOutputSummary
6279
+
6280
+ ExportScopes.add_member(:aws_organizations, Shapes::ShapeRef.new(shape: AwsOrganizationScopeList, location_name: "AwsOrganizations"))
6281
+ ExportScopes.struct_class = Types::ExportScopes
6282
+
6283
+ ExportSummary.add_member(:export_job_id, Shapes::ShapeRef.new(shape: ExportJobId, required: true, location_name: "ExportJobId"))
6284
+ ExportSummary.add_member(:name, Shapes::ShapeRef.new(shape: ExportName, location_name: "Name"))
6285
+ ExportSummary.add_member(:status, Shapes::ShapeRef.new(shape: ExportStatus, required: true, location_name: "Status"))
6286
+ ExportSummary.add_member(:data_type, Shapes::ShapeRef.new(shape: ExportDataType, required: true, location_name: "DataType"))
6287
+ ExportSummary.add_member(:output_configuration, Shapes::ShapeRef.new(shape: ExportOutputSummary, location_name: "OutputConfiguration"))
6288
+ ExportSummary.add_member(:scopes, Shapes::ShapeRef.new(shape: ExportScopes, location_name: "Scopes"))
6289
+ ExportSummary.add_member(:destination, Shapes::ShapeRef.new(shape: ExportDestination, required: true, location_name: "Destination"))
6290
+ ExportSummary.add_member(:failure_code, Shapes::ShapeRef.new(shape: ExportFailureCode, location_name: "FailureCode"))
6291
+ ExportSummary.add_member(:failure_message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FailureMessage"))
6292
+ ExportSummary.add_member(:started_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "StartedAt"))
6293
+ ExportSummary.add_member(:ended_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndedAt"))
6294
+ ExportSummary.struct_class = Types::ExportSummary
6295
+
6296
+ ExportSummaryList.member = Shapes::ShapeRef.new(shape: ExportSummary)
6297
+
6298
+ ExposureFinding.add_member(:metadata_uid, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "MetadataUid"))
6299
+ ExposureFinding.add_member(:title, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Title"))
6300
+ ExposureFinding.add_member(:previous_severity, Shapes::ShapeRef.new(shape: ExposureSeverity, required: true, location_name: "PreviousSeverity"))
6301
+ ExposureFinding.add_member(:projected_severity, Shapes::ShapeRef.new(shape: ExposureSeverity, required: true, location_name: "ProjectedSeverity"))
6302
+ ExposureFinding.add_member(:impact, Shapes::ShapeRef.new(shape: ExposureImpact, required: true, location_name: "Impact"))
6303
+ ExposureFinding.struct_class = Types::ExposureFinding
6304
+
6305
+ ExposureFindingItemsList.member = Shapes::ShapeRef.new(shape: ExposureFinding)
6306
+
6191
6307
  ExternalIntegrationConfiguration.add_member(:connector_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ConnectorArn"))
6192
6308
  ExternalIntegrationConfiguration.struct_class = Types::ExternalIntegrationConfiguration
6193
6309
 
@@ -6249,6 +6365,16 @@ module Aws::SecurityHub
6249
6365
  FindingScopes.add_member(:aws_organizations, Shapes::ShapeRef.new(shape: AwsOrganizationScopeList, location_name: "AwsOrganizations"))
6250
6366
  FindingScopes.struct_class = Types::FindingScopes
6251
6367
 
6368
+ FindingsOutput.add_member(:format, Shapes::ShapeRef.new(shape: FindingsExportFormat, required: true, location_name: "Format"))
6369
+ FindingsOutput.add_member(:filters, Shapes::ShapeRef.new(shape: OcsfFindingFilters, location_name: "Filters"))
6370
+ FindingsOutput.add_member(:selected_fields, Shapes::ShapeRef.new(shape: FindingsSelectedFieldList, location_name: "SelectedFields"))
6371
+ FindingsOutput.struct_class = Types::FindingsOutput
6372
+
6373
+ FindingsOutputSummary.add_member(:format, Shapes::ShapeRef.new(shape: FindingsExportFormat, required: true, location_name: "Format"))
6374
+ FindingsOutputSummary.struct_class = Types::FindingsOutputSummary
6375
+
6376
+ FindingsSelectedFieldList.member = Shapes::ShapeRef.new(shape: FindingsSelectableField)
6377
+
6252
6378
  FindingsTrendsCompositeFilter.add_member(:string_filters, Shapes::ShapeRef.new(shape: FindingsTrendsStringFilterList, location_name: "StringFilters"))
6253
6379
  FindingsTrendsCompositeFilter.add_member(:nested_composite_filters, Shapes::ShapeRef.new(shape: FindingsTrendsCompositeFilterList, location_name: "NestedCompositeFilters"))
6254
6380
  FindingsTrendsCompositeFilter.add_member(:operator, Shapes::ShapeRef.new(shape: AllowedOperators, location_name: "Operator"))
@@ -6410,6 +6536,22 @@ module Aws::SecurityHub
6410
6536
  GetEnabledStandardsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6411
6537
  GetEnabledStandardsResponse.struct_class = Types::GetEnabledStandardsResponse
6412
6538
 
6539
+ GetExportJobV2Request.add_member(:export_job_id, Shapes::ShapeRef.new(shape: ExportJobId, required: true, location: "uri", location_name: "ExportJobId"))
6540
+ GetExportJobV2Request.struct_class = Types::GetExportJobV2Request
6541
+
6542
+ GetExportJobV2Response.add_member(:export_job_id, Shapes::ShapeRef.new(shape: ExportJobId, required: true, location_name: "ExportJobId"))
6543
+ GetExportJobV2Response.add_member(:name, Shapes::ShapeRef.new(shape: ExportName, location_name: "Name"))
6544
+ GetExportJobV2Response.add_member(:status, Shapes::ShapeRef.new(shape: ExportStatus, required: true, location_name: "Status"))
6545
+ GetExportJobV2Response.add_member(:data_type, Shapes::ShapeRef.new(shape: ExportDataType, required: true, location_name: "DataType"))
6546
+ GetExportJobV2Response.add_member(:output_configuration, Shapes::ShapeRef.new(shape: ExportOutput, location_name: "OutputConfiguration"))
6547
+ GetExportJobV2Response.add_member(:scopes, Shapes::ShapeRef.new(shape: ExportScopes, location_name: "Scopes"))
6548
+ GetExportJobV2Response.add_member(:destination, Shapes::ShapeRef.new(shape: ExportDestination, required: true, location_name: "Destination"))
6549
+ GetExportJobV2Response.add_member(:failure_code, Shapes::ShapeRef.new(shape: ExportFailureCode, location_name: "FailureCode"))
6550
+ GetExportJobV2Response.add_member(:failure_message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FailureMessage"))
6551
+ GetExportJobV2Response.add_member(:started_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "StartedAt"))
6552
+ GetExportJobV2Response.add_member(:ended_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndedAt"))
6553
+ GetExportJobV2Response.struct_class = Types::GetExportJobV2Response
6554
+
6413
6555
  GetFindingAggregatorRequest.add_member(:finding_aggregator_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "FindingAggregatorArn"))
6414
6556
  GetFindingAggregatorRequest.struct_class = Types::GetFindingAggregatorRequest
6415
6557
 
@@ -6517,6 +6659,19 @@ module Aws::SecurityHub
6517
6659
  GetRecommendedPolicyV2Response.add_member(:resource_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceArn"))
6518
6660
  GetRecommendedPolicyV2Response.struct_class = Types::GetRecommendedPolicyV2Response
6519
6661
 
6662
+ GetRemediationsV2Request.add_member(:target_uid, Shapes::ShapeRef.new(shape: RemediationStringUid, location_name: "TargetUid"))
6663
+ GetRemediationsV2Request.add_member(:metadata_uid, Shapes::ShapeRef.new(shape: RemediationStringUid, location_name: "MetadataUid"))
6664
+ GetRemediationsV2Request.add_member(:filters, Shapes::ShapeRef.new(shape: RemediationFilters, location_name: "Filters"))
6665
+ GetRemediationsV2Request.add_member(:show_guidance, Shapes::ShapeRef.new(shape: Boolean, location_name: "ShowGuidance"))
6666
+ GetRemediationsV2Request.add_member(:guidance_format, Shapes::ShapeRef.new(shape: GuidanceFormat, location_name: "GuidanceFormat"))
6667
+ GetRemediationsV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
6668
+ GetRemediationsV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6669
+ GetRemediationsV2Request.struct_class = Types::GetRemediationsV2Request
6670
+
6671
+ GetRemediationsV2Response.add_member(:items, Shapes::ShapeRef.new(shape: RemediationV2ItemList, required: true, location_name: "Items"))
6672
+ GetRemediationsV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6673
+ GetRemediationsV2Response.struct_class = Types::GetRemediationsV2Response
6674
+
6520
6675
  GetResourcesStatisticsV2Request.add_member(:group_by_rules, Shapes::ShapeRef.new(shape: ResourceGroupByRules, required: true, location_name: "GroupByRules"))
6521
6676
  GetResourcesStatisticsV2Request.add_member(:scopes, Shapes::ShapeRef.new(shape: ResourceScopes, location_name: "Scopes"))
6522
6677
  GetResourcesStatisticsV2Request.add_member(:sort_order, Shapes::ShapeRef.new(shape: SortOrder, location_name: "SortOrder"))
@@ -6701,6 +6856,12 @@ module Aws::SecurityHub
6701
6856
  JiraCloudUpdateConfiguration.add_member(:project_key, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ProjectKey"))
6702
6857
  JiraCloudUpdateConfiguration.struct_class = Types::JiraCloudUpdateConfiguration
6703
6858
 
6859
+ KbArticle.add_member(:title, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Title"))
6860
+ KbArticle.add_member(:url, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Url"))
6861
+ KbArticle.struct_class = Types::KbArticle
6862
+
6863
+ KbArticleList.member = Shapes::ShapeRef.new(shape: KbArticle)
6864
+
6704
6865
  KeywordFilter.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Value"))
6705
6866
  KeywordFilter.struct_class = Types::KeywordFilter
6706
6867
 
@@ -6781,6 +6942,29 @@ module Aws::SecurityHub
6781
6942
  ListEnabledProductsForImportResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6782
6943
  ListEnabledProductsForImportResponse.struct_class = Types::ListEnabledProductsForImportResponse
6783
6944
 
6945
+ ListExportJobsV2Request.add_member(:status, Shapes::ShapeRef.new(shape: ExportStatus, location: "querystring", location_name: "Status"))
6946
+ ListExportJobsV2Request.add_member(:data_type, Shapes::ShapeRef.new(shape: ExportDataType, location: "querystring", location_name: "DataType"))
6947
+ ListExportJobsV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: ExportMaxResults, location: "querystring", location_name: "MaxResults"))
6948
+ ListExportJobsV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
6949
+ ListExportJobsV2Request.struct_class = Types::ListExportJobsV2Request
6950
+
6951
+ ListExportJobsV2Response.add_member(:items, Shapes::ShapeRef.new(shape: ExportSummaryList, required: true, location_name: "Items"))
6952
+ ListExportJobsV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6953
+ ListExportJobsV2Response.struct_class = Types::ListExportJobsV2Response
6954
+
6955
+ ListExposuresByRemediationV2Request.add_member(:target_uid, Shapes::ShapeRef.new(shape: RemediationStringUid, required: true, location_name: "TargetUid"))
6956
+ ListExposuresByRemediationV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
6957
+ ListExposuresByRemediationV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6958
+ ListExposuresByRemediationV2Request.struct_class = Types::ListExposuresByRemediationV2Request
6959
+
6960
+ ListExposuresByRemediationV2Response.add_member(:items, Shapes::ShapeRef.new(shape: ExposureFindingItemsList, required: true, location_name: "Items"))
6961
+ ListExposuresByRemediationV2Response.add_member(:target_uid, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "TargetUid"))
6962
+ ListExposuresByRemediationV2Response.add_member(:resource, Shapes::ShapeRef.new(shape: RemediationResource, required: true, location_name: "Resource"))
6963
+ ListExposuresByRemediationV2Response.add_member(:total_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "TotalCount"))
6964
+ ListExposuresByRemediationV2Response.add_member(:trait, Shapes::ShapeRef.new(shape: RemediationTrait, required: true, location_name: "Trait"))
6965
+ ListExposuresByRemediationV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6966
+ ListExposuresByRemediationV2Response.struct_class = Types::ListExposuresByRemediationV2Response
6967
+
6784
6968
  ListFindingAggregatorsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
6785
6969
  ListFindingAggregatorsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
6786
6970
  ListFindingAggregatorsRequest.struct_class = Types::ListFindingAggregatorsRequest
@@ -7239,6 +7423,128 @@ module Aws::SecurityHub
7239
7423
  Remediation.add_member(:recommendation, Shapes::ShapeRef.new(shape: Recommendation, location_name: "Recommendation"))
7240
7424
  Remediation.struct_class = Types::Remediation
7241
7425
 
7426
+ RemediationCompositeFilter.add_member(:string_filters, Shapes::ShapeRef.new(shape: RemediationStringFilterList, location_name: "StringFilters"))
7427
+ RemediationCompositeFilter.struct_class = Types::RemediationCompositeFilter
7428
+
7429
+ RemediationCompositeFilterList.member = Shapes::ShapeRef.new(shape: RemediationCompositeFilter)
7430
+
7431
+ RemediationFilters.add_member(:composite_filters, Shapes::ShapeRef.new(shape: RemediationCompositeFilterList, location_name: "CompositeFilters"))
7432
+ RemediationFilters.struct_class = Types::RemediationFilters
7433
+
7434
+ RemediationGuidance.add_member(:target_type_name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "TargetTypeName"))
7435
+ RemediationGuidance.add_member(:pattern, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Pattern"))
7436
+ RemediationGuidance.add_member(:version, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Version"))
7437
+ RemediationGuidance.add_member(:context, Shapes::ShapeRef.new(shape: RemediationGuidanceContext, required: true, location_name: "Context"))
7438
+ RemediationGuidance.add_member(:specification, Shapes::ShapeRef.new(shape: RemediationGuidanceSpecification, required: true, location_name: "Specification"))
7439
+ RemediationGuidance.add_member(:examples, Shapes::ShapeRef.new(shape: RemediationGuidanceExamples, required: true, location_name: "Examples"))
7440
+ RemediationGuidance.add_member(:metadata, Shapes::ShapeRef.new(shape: RemediationGuidanceMetadata, required: true, location_name: "Metadata"))
7441
+ RemediationGuidance.struct_class = Types::RemediationGuidance
7442
+
7443
+ RemediationGuidanceContext.add_member(:problem_statement, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ProblemStatement"))
7444
+ RemediationGuidanceContext.add_member(:risk_assessment, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RiskAssessment"))
7445
+ RemediationGuidanceContext.add_member(:affected_scope, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AffectedScope"))
7446
+ RemediationGuidanceContext.add_member(:prerequisites, Shapes::ShapeRef.new(shape: RemediationStringList, location_name: "Prerequisites"))
7447
+ RemediationGuidanceContext.struct_class = Types::RemediationGuidanceContext
7448
+
7449
+ RemediationGuidanceExamples.add_member(:aws_cli, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AwsCli"))
7450
+ RemediationGuidanceExamples.add_member(:cli, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Cli"))
7451
+ RemediationGuidanceExamples.add_member(:python, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Python"))
7452
+ RemediationGuidanceExamples.add_member(:terraform, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Terraform"))
7453
+ RemediationGuidanceExamples.add_member(:cdk, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Cdk"))
7454
+ RemediationGuidanceExamples.add_member(:cloud_formation, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CloudFormation"))
7455
+ RemediationGuidanceExamples.add_member(:ia_c, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IaC"))
7456
+ RemediationGuidanceExamples.add_member(:template, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Template"))
7457
+ RemediationGuidanceExamples.struct_class = Types::RemediationGuidanceExamples
7458
+
7459
+ RemediationGuidanceMetadata.add_member(:resource_type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceType"))
7460
+ RemediationGuidanceMetadata.add_member(:exposure_type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ExposureType"))
7461
+ RemediationGuidanceMetadata.add_member(:trait_titles, Shapes::ShapeRef.new(shape: RemediationStringList, required: true, location_name: "TraitTitles"))
7462
+ RemediationGuidanceMetadata.add_member(:reversibility, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Reversibility"))
7463
+ RemediationGuidanceMetadata.add_member(:fix_effect, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "FixEffect"))
7464
+ RemediationGuidanceMetadata.add_member(:risk_level, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RiskLevel"))
7465
+ RemediationGuidanceMetadata.add_member(:automation_level, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AutomationLevel"))
7466
+ RemediationGuidanceMetadata.add_member(:human_review_required, Shapes::ShapeRef.new(shape: Boolean, location_name: "HumanReviewRequired"))
7467
+ RemediationGuidanceMetadata.add_member(:generated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "GeneratedAt"))
7468
+ RemediationGuidanceMetadata.add_member(:verification_status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VerificationStatus"))
7469
+ RemediationGuidanceMetadata.struct_class = Types::RemediationGuidanceMetadata
7470
+
7471
+ RemediationGuidanceSpecification.add_member(:parameters, Shapes::ShapeRef.new(shape: RemediationParameterList, location_name: "Parameters"))
7472
+ RemediationGuidanceSpecification.add_member(:steps, Shapes::ShapeRef.new(shape: RemediationStepList, location_name: "Steps"))
7473
+ RemediationGuidanceSpecification.add_member(:expected_end_state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ExpectedEndState"))
7474
+ RemediationGuidanceSpecification.add_member(:required_permissions, Shapes::ShapeRef.new(shape: RemediationStringList, location_name: "RequiredPermissions"))
7475
+ RemediationGuidanceSpecification.struct_class = Types::RemediationGuidanceSpecification
7476
+
7477
+ RemediationOutcome.add_member(:resolved_findings_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "ResolvedFindingsCount"))
7478
+ RemediationOutcome.add_member(:severity_reduction_findings_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "SeverityReductionFindingsCount"))
7479
+ RemediationOutcome.add_member(:severity_unchanged_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "SeverityUnchangedCount"))
7480
+ RemediationOutcome.struct_class = Types::RemediationOutcome
7481
+
7482
+ RemediationParameter.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
7483
+ RemediationParameter.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Type"))
7484
+ RemediationParameter.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
7485
+ RemediationParameter.add_member(:required, Shapes::ShapeRef.new(shape: Boolean, location_name: "Required"))
7486
+ RemediationParameter.struct_class = Types::RemediationParameter
7487
+
7488
+ RemediationParameterList.member = Shapes::ShapeRef.new(shape: RemediationParameter)
7489
+
7490
+ RemediationResource.add_member(:account_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "AccountId"))
7491
+ RemediationResource.add_member(:region, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Region"))
7492
+ RemediationResource.add_member(:resource_owner_account_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceOwnerAccountId"))
7493
+ RemediationResource.add_member(:resource_owner_org_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceOwnerOrgId"))
7494
+ RemediationResource.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Type"))
7495
+ RemediationResource.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
7496
+ RemediationResource.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Id"))
7497
+ RemediationResource.add_member(:resource_guid, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceGuid"))
7498
+ RemediationResource.add_member(:resource_region, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ResourceRegion"))
7499
+ RemediationResource.add_member(:cloud_provider, Shapes::ShapeRef.new(shape: CloudProviderName, required: true, location_name: "CloudProvider"))
7500
+ RemediationResource.struct_class = Types::RemediationResource
7501
+
7502
+ RemediationStep.add_member(:phase, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Phase"))
7503
+ RemediationStep.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
7504
+ RemediationStep.add_member(:service, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Service"))
7505
+ RemediationStep.add_member(:action, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Action"))
7506
+ RemediationStep.add_member(:logic, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Logic"))
7507
+ RemediationStep.add_member(:inverse, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Inverse"))
7508
+ RemediationStep.add_member(:verify_after, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "VerifyAfter"))
7509
+ RemediationStep.struct_class = Types::RemediationStep
7510
+
7511
+ RemediationStepList.member = Shapes::ShapeRef.new(shape: RemediationStep)
7512
+
7513
+ RemediationStringFilter.add_member(:field_name, Shapes::ShapeRef.new(shape: RemediationStringField, required: true, location_name: "FieldName"))
7514
+ RemediationStringFilter.add_member(:filter, Shapes::ShapeRef.new(shape: RemediationStringFilterCondition, required: true, location_name: "Filter"))
7515
+ RemediationStringFilter.struct_class = Types::RemediationStringFilter
7516
+
7517
+ RemediationStringFilterCondition.add_member(:value, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Value"))
7518
+ RemediationStringFilterCondition.struct_class = Types::RemediationStringFilterCondition
7519
+
7520
+ RemediationStringFilterList.member = Shapes::ShapeRef.new(shape: RemediationStringFilter)
7521
+
7522
+ RemediationStringList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
7523
+
7524
+ RemediationSummaryDetail.add_member(:action, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Action"))
7525
+ RemediationSummaryDetail.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
7526
+ RemediationSummaryDetail.add_member(:is_immediate, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "IsImmediate"))
7527
+ RemediationSummaryDetail.add_member(:post_remediation_steps, Shapes::ShapeRef.new(shape: RemediationStringList, location_name: "PostRemediationSteps"))
7528
+ RemediationSummaryDetail.add_member(:kb_articles, Shapes::ShapeRef.new(shape: KbArticleList, location_name: "KbArticles"))
7529
+ RemediationSummaryDetail.struct_class = Types::RemediationSummaryDetail
7530
+
7531
+ RemediationTrait.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Type"))
7532
+ RemediationTrait.add_member(:title, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Title"))
7533
+ RemediationTrait.struct_class = Types::RemediationTrait
7534
+
7535
+ RemediationV2Item.add_member(:target_uid, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "TargetUid"))
7536
+ RemediationV2Item.add_member(:outcome, Shapes::ShapeRef.new(shape: RemediationOutcome, required: true, location_name: "Outcome"))
7537
+ RemediationV2Item.add_member(:priority, Shapes::ShapeRef.new(shape: RemediationPriority, required: true, location_name: "Priority"))
7538
+ RemediationV2Item.add_member(:remediation_summary, Shapes::ShapeRef.new(shape: RemediationSummaryDetail, required: true, location_name: "RemediationSummary"))
7539
+ RemediationV2Item.add_member(:resource, Shapes::ShapeRef.new(shape: RemediationResource, required: true, location_name: "Resource"))
7540
+ RemediationV2Item.add_member(:status, Shapes::ShapeRef.new(shape: RemediationStatus, required: true, location_name: "Status"))
7541
+ RemediationV2Item.add_member(:trait, Shapes::ShapeRef.new(shape: RemediationTrait, required: true, location_name: "Trait"))
7542
+ RemediationV2Item.add_member(:guidance, Shapes::ShapeRef.new(shape: RemediationGuidance, location_name: "Guidance"))
7543
+ RemediationV2Item.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdatedAt"))
7544
+ RemediationV2Item.struct_class = Types::RemediationV2Item
7545
+
7546
+ RemediationV2ItemList.member = Shapes::ShapeRef.new(shape: RemediationV2Item)
7547
+
7242
7548
  Resource.add_member(:type, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Type"))
7243
7549
  Resource.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Id"))
7244
7550
  Resource.add_member(:partition, Shapes::ShapeRef.new(shape: Partition, location_name: "Partition"))
@@ -7640,6 +7946,11 @@ module Aws::SecurityHub
7640
7946
  RuleGroupVariablesPortSetsDetails.add_member(:definition, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Definition"))
7641
7947
  RuleGroupVariablesPortSetsDetails.struct_class = Types::RuleGroupVariablesPortSetsDetails
7642
7948
 
7949
+ S3ExportDestination.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "BucketArn"))
7950
+ S3ExportDestination.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "KmsKeyArn"))
7951
+ S3ExportDestination.add_member(:object_prefix, Shapes::ShapeRef.new(shape: S3ObjectPrefix, location_name: "ObjectPrefix"))
7952
+ S3ExportDestination.struct_class = Types::S3ExportDestination
7953
+
7643
7954
  ScopeValueList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
7644
7955
 
7645
7956
  SecurityControl.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
@@ -7911,6 +8222,16 @@ module Aws::SecurityHub
7911
8222
 
7912
8223
  StartConfigurationPolicyDisassociationResponse.struct_class = Types::StartConfigurationPolicyDisassociationResponse
7913
8224
 
8225
+ StartExportJobV2Request.add_member(:name, Shapes::ShapeRef.new(shape: ExportName, location_name: "Name"))
8226
+ StartExportJobV2Request.add_member(:destination, Shapes::ShapeRef.new(shape: ExportDestination, required: true, location_name: "Destination"))
8227
+ StartExportJobV2Request.add_member(:output_configuration, Shapes::ShapeRef.new(shape: ExportOutput, required: true, location_name: "OutputConfiguration"))
8228
+ StartExportJobV2Request.add_member(:scopes, Shapes::ShapeRef.new(shape: ExportScopes, location_name: "Scopes"))
8229
+ StartExportJobV2Request.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken", metadata: {"idempotencyToken" => true}))
8230
+ StartExportJobV2Request.struct_class = Types::StartExportJobV2Request
8231
+
8232
+ StartExportJobV2Response.add_member(:export_job_id, Shapes::ShapeRef.new(shape: ExportJobId, required: true, location_name: "ExportJobId"))
8233
+ StartExportJobV2Response.struct_class = Types::StartExportJobV2Response
8234
+
7914
8235
  StatelessCustomActionDefinition.add_member(:publish_metric_action, Shapes::ShapeRef.new(shape: StatelessCustomPublishMetricAction, location_name: "PublishMetricAction"))
7915
8236
  StatelessCustomActionDefinition.struct_class = Types::StatelessCustomActionDefinition
7916
8237
 
@@ -8453,6 +8774,20 @@ module Aws::SecurityHub
8453
8774
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
8454
8775
  end)
8455
8776
 
8777
+ api.add_operation(:cancel_export_job_v2, Seahorse::Model::Operation.new.tap do |o|
8778
+ o.name = "CancelExportJobV2"
8779
+ o.http_method = "POST"
8780
+ o.http_request_uri = "/exportjobsv2/{ExportJobId}/cancel"
8781
+ o.input = Shapes::ShapeRef.new(shape: CancelExportJobV2Request)
8782
+ o.output = Shapes::ShapeRef.new(shape: CancelExportJobV2Response)
8783
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
8784
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
8785
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
8786
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
8787
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8788
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8789
+ end)
8790
+
8456
8791
  api.add_operation(:create_action_target, Seahorse::Model::Operation.new.tap do |o|
8457
8792
  o.name = "CreateActionTarget"
8458
8793
  o.http_method = "POST"
@@ -9182,6 +9517,19 @@ module Aws::SecurityHub
9182
9517
  )
9183
9518
  end)
9184
9519
 
9520
+ api.add_operation(:get_export_job_v2, Seahorse::Model::Operation.new.tap do |o|
9521
+ o.name = "GetExportJobV2"
9522
+ o.http_method = "GET"
9523
+ o.http_request_uri = "/exportjobsv2/{ExportJobId}"
9524
+ o.input = Shapes::ShapeRef.new(shape: GetExportJobV2Request)
9525
+ o.output = Shapes::ShapeRef.new(shape: GetExportJobV2Response)
9526
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
9527
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
9528
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
9529
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
9530
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
9531
+ end)
9532
+
9185
9533
  api.add_operation(:get_finding_aggregator, Seahorse::Model::Operation.new.tap do |o|
9186
9534
  o.name = "GetFindingAggregator"
9187
9535
  o.http_method = "GET"
@@ -9377,6 +9725,25 @@ module Aws::SecurityHub
9377
9725
  )
9378
9726
  end)
9379
9727
 
9728
+ api.add_operation(:get_remediations_v2, Seahorse::Model::Operation.new.tap do |o|
9729
+ o.name = "GetRemediationsV2"
9730
+ o.http_method = "POST"
9731
+ o.http_request_uri = "/GetRemediationsV2"
9732
+ o.input = Shapes::ShapeRef.new(shape: GetRemediationsV2Request)
9733
+ o.output = Shapes::ShapeRef.new(shape: GetRemediationsV2Response)
9734
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
9735
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
9736
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
9737
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
9738
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
9739
+ o[:pager] = Aws::Pager.new(
9740
+ limit_key: "max_results",
9741
+ tokens: {
9742
+ "next_token" => "next_token"
9743
+ }
9744
+ )
9745
+ end)
9746
+
9380
9747
  api.add_operation(:get_resources_statistics_v2, Seahorse::Model::Operation.new.tap do |o|
9381
9748
  o.name = "GetResourcesStatisticsV2"
9382
9749
  o.http_method = "POST"
@@ -9590,6 +9957,43 @@ module Aws::SecurityHub
9590
9957
  )
9591
9958
  end)
9592
9959
 
9960
+ api.add_operation(:list_export_jobs_v2, Seahorse::Model::Operation.new.tap do |o|
9961
+ o.name = "ListExportJobsV2"
9962
+ o.http_method = "GET"
9963
+ o.http_request_uri = "/exportjobsv2"
9964
+ o.input = Shapes::ShapeRef.new(shape: ListExportJobsV2Request)
9965
+ o.output = Shapes::ShapeRef.new(shape: ListExportJobsV2Response)
9966
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
9967
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
9968
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
9969
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
9970
+ o[:pager] = Aws::Pager.new(
9971
+ limit_key: "max_results",
9972
+ tokens: {
9973
+ "next_token" => "next_token"
9974
+ }
9975
+ )
9976
+ end)
9977
+
9978
+ api.add_operation(:list_exposures_by_remediation_v2, Seahorse::Model::Operation.new.tap do |o|
9979
+ o.name = "ListExposuresByRemediationV2"
9980
+ o.http_method = "POST"
9981
+ o.http_request_uri = "/ListExposuresByRemediationV2"
9982
+ o.input = Shapes::ShapeRef.new(shape: ListExposuresByRemediationV2Request)
9983
+ o.output = Shapes::ShapeRef.new(shape: ListExposuresByRemediationV2Response)
9984
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
9985
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
9986
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
9987
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
9988
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
9989
+ o[:pager] = Aws::Pager.new(
9990
+ limit_key: "max_results",
9991
+ tokens: {
9992
+ "next_token" => "next_token"
9993
+ }
9994
+ )
9995
+ end)
9996
+
9593
9997
  api.add_operation(:list_finding_aggregators, Seahorse::Model::Operation.new.tap do |o|
9594
9998
  o.name = "ListFindingAggregators"
9595
9999
  o.http_method = "GET"
@@ -9771,6 +10175,22 @@ module Aws::SecurityHub
9771
10175
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
9772
10176
  end)
9773
10177
 
10178
+ api.add_operation(:start_export_job_v2, Seahorse::Model::Operation.new.tap do |o|
10179
+ o.name = "StartExportJobV2"
10180
+ o.http_method = "POST"
10181
+ o.http_request_uri = "/exportjobsv2"
10182
+ o.input = Shapes::ShapeRef.new(shape: StartExportJobV2Request)
10183
+ o.output = Shapes::ShapeRef.new(shape: StartExportJobV2Response)
10184
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
10185
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
10186
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
10187
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationalUnitNotFoundException)
10188
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
10189
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
10190
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
10191
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
10192
+ end)
10193
+
9774
10194
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
9775
10195
  o.name = "TagResource"
9776
10196
  o.http_method = "POST"