aws-sdk-securityhub 1.76.0 → 1.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,6 +38,7 @@ module Aws::SecurityHub
38
38
  ArnList = Shapes::ListShape.new(name: 'ArnList')
39
39
  AssociatedStandard = Shapes::StructureShape.new(name: 'AssociatedStandard')
40
40
  AssociatedStandardsList = Shapes::ListShape.new(name: 'AssociatedStandardsList')
41
+ AssociationStatus = Shapes::StringShape.new(name: 'AssociationStatus')
41
42
  AutoEnableStandards = Shapes::StringShape.new(name: 'AutoEnableStandards')
42
43
  AvailabilityZone = Shapes::StructureShape.new(name: 'AvailabilityZone')
43
44
  AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
@@ -603,6 +604,10 @@ module Aws::SecurityHub
603
604
  BatchDisableStandardsResponse = Shapes::StructureShape.new(name: 'BatchDisableStandardsResponse')
604
605
  BatchEnableStandardsRequest = Shapes::StructureShape.new(name: 'BatchEnableStandardsRequest')
605
606
  BatchEnableStandardsResponse = Shapes::StructureShape.new(name: 'BatchEnableStandardsResponse')
607
+ BatchGetSecurityControlsRequest = Shapes::StructureShape.new(name: 'BatchGetSecurityControlsRequest')
608
+ BatchGetSecurityControlsResponse = Shapes::StructureShape.new(name: 'BatchGetSecurityControlsResponse')
609
+ BatchGetStandardsControlAssociationsRequest = Shapes::StructureShape.new(name: 'BatchGetStandardsControlAssociationsRequest')
610
+ BatchGetStandardsControlAssociationsResponse = Shapes::StructureShape.new(name: 'BatchGetStandardsControlAssociationsResponse')
606
611
  BatchImportFindingsRequest = Shapes::StructureShape.new(name: 'BatchImportFindingsRequest')
607
612
  BatchImportFindingsRequestFindingList = Shapes::ListShape.new(name: 'BatchImportFindingsRequestFindingList')
608
613
  BatchImportFindingsResponse = Shapes::StructureShape.new(name: 'BatchImportFindingsResponse')
@@ -610,6 +615,8 @@ module Aws::SecurityHub
610
615
  BatchUpdateFindingsResponse = Shapes::StructureShape.new(name: 'BatchUpdateFindingsResponse')
611
616
  BatchUpdateFindingsUnprocessedFinding = Shapes::StructureShape.new(name: 'BatchUpdateFindingsUnprocessedFinding')
612
617
  BatchUpdateFindingsUnprocessedFindingsList = Shapes::ListShape.new(name: 'BatchUpdateFindingsUnprocessedFindingsList')
618
+ BatchUpdateStandardsControlAssociationsRequest = Shapes::StructureShape.new(name: 'BatchUpdateStandardsControlAssociationsRequest')
619
+ BatchUpdateStandardsControlAssociationsResponse = Shapes::StructureShape.new(name: 'BatchUpdateStandardsControlAssociationsResponse')
613
620
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
614
621
  BooleanFilter = Shapes::StructureShape.new(name: 'BooleanFilter')
615
622
  BooleanFilterList = Shapes::ListShape.new(name: 'BooleanFilterList')
@@ -624,6 +631,7 @@ module Aws::SecurityHub
624
631
  Compliance = Shapes::StructureShape.new(name: 'Compliance')
625
632
  ComplianceStatus = Shapes::StringShape.new(name: 'ComplianceStatus')
626
633
  ContainerDetails = Shapes::StructureShape.new(name: 'ContainerDetails')
634
+ ControlFindingGenerator = Shapes::StringShape.new(name: 'ControlFindingGenerator')
627
635
  ControlStatus = Shapes::StringShape.new(name: 'ControlStatus')
628
636
  Country = Shapes::StructureShape.new(name: 'Country')
629
637
  CreateActionTargetRequest = Shapes::StructureShape.new(name: 'CreateActionTargetRequest')
@@ -759,6 +767,10 @@ module Aws::SecurityHub
759
767
  ListMembersResponse = Shapes::StructureShape.new(name: 'ListMembersResponse')
760
768
  ListOrganizationAdminAccountsRequest = Shapes::StructureShape.new(name: 'ListOrganizationAdminAccountsRequest')
761
769
  ListOrganizationAdminAccountsResponse = Shapes::StructureShape.new(name: 'ListOrganizationAdminAccountsResponse')
770
+ ListSecurityControlDefinitionsRequest = Shapes::StructureShape.new(name: 'ListSecurityControlDefinitionsRequest')
771
+ ListSecurityControlDefinitionsResponse = Shapes::StructureShape.new(name: 'ListSecurityControlDefinitionsResponse')
772
+ ListStandardsControlAssociationsRequest = Shapes::StructureShape.new(name: 'ListStandardsControlAssociationsRequest')
773
+ ListStandardsControlAssociationsResponse = Shapes::StructureShape.new(name: 'ListStandardsControlAssociationsResponse')
762
774
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
763
775
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
764
776
  LoadBalancerState = Shapes::StructureShape.new(name: 'LoadBalancerState')
@@ -809,6 +821,7 @@ module Aws::SecurityHub
809
821
  Record = Shapes::StructureShape.new(name: 'Record')
810
822
  RecordState = Shapes::StringShape.new(name: 'RecordState')
811
823
  Records = Shapes::ListShape.new(name: 'Records')
824
+ RegionAvailabilityStatus = Shapes::StringShape.new(name: 'RegionAvailabilityStatus')
812
825
  RelatedFinding = Shapes::StructureShape.new(name: 'RelatedFinding')
813
826
  RelatedFindingList = Shapes::ListShape.new(name: 'RelatedFindingList')
814
827
  RelatedRequirementsList = Shapes::ListShape.new(name: 'RelatedRequirementsList')
@@ -851,6 +864,10 @@ module Aws::SecurityHub
851
864
  RuleGroupVariables = Shapes::StructureShape.new(name: 'RuleGroupVariables')
852
865
  RuleGroupVariablesIpSetsDetails = Shapes::StructureShape.new(name: 'RuleGroupVariablesIpSetsDetails')
853
866
  RuleGroupVariablesPortSetsDetails = Shapes::StructureShape.new(name: 'RuleGroupVariablesPortSetsDetails')
867
+ SecurityControl = Shapes::StructureShape.new(name: 'SecurityControl')
868
+ SecurityControlDefinition = Shapes::StructureShape.new(name: 'SecurityControlDefinition')
869
+ SecurityControlDefinitions = Shapes::ListShape.new(name: 'SecurityControlDefinitions')
870
+ SecurityControls = Shapes::ListShape.new(name: 'SecurityControls')
854
871
  SecurityGroups = Shapes::ListShape.new(name: 'SecurityGroups')
855
872
  SensitiveDataDetections = Shapes::StructureShape.new(name: 'SensitiveDataDetections')
856
873
  SensitiveDataDetectionsList = Shapes::ListShape.new(name: 'SensitiveDataDetectionsList')
@@ -869,6 +886,15 @@ module Aws::SecurityHub
869
886
  Standard = Shapes::StructureShape.new(name: 'Standard')
870
887
  Standards = Shapes::ListShape.new(name: 'Standards')
871
888
  StandardsControl = Shapes::StructureShape.new(name: 'StandardsControl')
889
+ StandardsControlArnList = Shapes::ListShape.new(name: 'StandardsControlArnList')
890
+ StandardsControlAssociationDetail = Shapes::StructureShape.new(name: 'StandardsControlAssociationDetail')
891
+ StandardsControlAssociationDetails = Shapes::ListShape.new(name: 'StandardsControlAssociationDetails')
892
+ StandardsControlAssociationId = Shapes::StructureShape.new(name: 'StandardsControlAssociationId')
893
+ StandardsControlAssociationIds = Shapes::ListShape.new(name: 'StandardsControlAssociationIds')
894
+ StandardsControlAssociationSummaries = Shapes::ListShape.new(name: 'StandardsControlAssociationSummaries')
895
+ StandardsControlAssociationSummary = Shapes::StructureShape.new(name: 'StandardsControlAssociationSummary')
896
+ StandardsControlAssociationUpdate = Shapes::StructureShape.new(name: 'StandardsControlAssociationUpdate')
897
+ StandardsControlAssociationUpdates = Shapes::ListShape.new(name: 'StandardsControlAssociationUpdates')
872
898
  StandardsControls = Shapes::ListShape.new(name: 'StandardsControls')
873
899
  StandardsInputParameterMap = Shapes::MapShape.new(name: 'StandardsInputParameterMap')
874
900
  StandardsManagedBy = Shapes::StructureShape.new(name: 'StandardsManagedBy')
@@ -904,6 +930,13 @@ module Aws::SecurityHub
904
930
  ThreatList = Shapes::ListShape.new(name: 'ThreatList')
905
931
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp', timestampFormat: "iso8601")
906
932
  TypeList = Shapes::ListShape.new(name: 'TypeList')
933
+ UnprocessedErrorCode = Shapes::StringShape.new(name: 'UnprocessedErrorCode')
934
+ UnprocessedSecurityControl = Shapes::StructureShape.new(name: 'UnprocessedSecurityControl')
935
+ UnprocessedSecurityControls = Shapes::ListShape.new(name: 'UnprocessedSecurityControls')
936
+ UnprocessedStandardsControlAssociation = Shapes::StructureShape.new(name: 'UnprocessedStandardsControlAssociation')
937
+ UnprocessedStandardsControlAssociationUpdate = Shapes::StructureShape.new(name: 'UnprocessedStandardsControlAssociationUpdate')
938
+ UnprocessedStandardsControlAssociationUpdates = Shapes::ListShape.new(name: 'UnprocessedStandardsControlAssociationUpdates')
939
+ UnprocessedStandardsControlAssociations = Shapes::ListShape.new(name: 'UnprocessedStandardsControlAssociations')
907
940
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
908
941
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
909
942
  UpdateActionTargetRequest = Shapes::StructureShape.new(name: 'UpdateActionTargetRequest')
@@ -4273,6 +4306,20 @@ module Aws::SecurityHub
4273
4306
  BatchEnableStandardsResponse.add_member(:standards_subscriptions, Shapes::ShapeRef.new(shape: StandardsSubscriptions, location_name: "StandardsSubscriptions"))
4274
4307
  BatchEnableStandardsResponse.struct_class = Types::BatchEnableStandardsResponse
4275
4308
 
4309
+ BatchGetSecurityControlsRequest.add_member(:security_control_ids, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "SecurityControlIds"))
4310
+ BatchGetSecurityControlsRequest.struct_class = Types::BatchGetSecurityControlsRequest
4311
+
4312
+ BatchGetSecurityControlsResponse.add_member(:security_controls, Shapes::ShapeRef.new(shape: SecurityControls, required: true, location_name: "SecurityControls"))
4313
+ BatchGetSecurityControlsResponse.add_member(:unprocessed_ids, Shapes::ShapeRef.new(shape: UnprocessedSecurityControls, location_name: "UnprocessedIds"))
4314
+ BatchGetSecurityControlsResponse.struct_class = Types::BatchGetSecurityControlsResponse
4315
+
4316
+ BatchGetStandardsControlAssociationsRequest.add_member(:standards_control_association_ids, Shapes::ShapeRef.new(shape: StandardsControlAssociationIds, required: true, location_name: "StandardsControlAssociationIds"))
4317
+ BatchGetStandardsControlAssociationsRequest.struct_class = Types::BatchGetStandardsControlAssociationsRequest
4318
+
4319
+ BatchGetStandardsControlAssociationsResponse.add_member(:standards_control_association_details, Shapes::ShapeRef.new(shape: StandardsControlAssociationDetails, required: true, location_name: "StandardsControlAssociationDetails"))
4320
+ BatchGetStandardsControlAssociationsResponse.add_member(:unprocessed_associations, Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociations, location_name: "UnprocessedAssociations"))
4321
+ BatchGetStandardsControlAssociationsResponse.struct_class = Types::BatchGetStandardsControlAssociationsResponse
4322
+
4276
4323
  BatchImportFindingsRequest.add_member(:findings, Shapes::ShapeRef.new(shape: BatchImportFindingsRequestFindingList, required: true, location_name: "Findings"))
4277
4324
  BatchImportFindingsRequest.struct_class = Types::BatchImportFindingsRequest
4278
4325
 
@@ -4306,6 +4353,12 @@ module Aws::SecurityHub
4306
4353
 
4307
4354
  BatchUpdateFindingsUnprocessedFindingsList.member = Shapes::ShapeRef.new(shape: BatchUpdateFindingsUnprocessedFinding)
4308
4355
 
4356
+ BatchUpdateStandardsControlAssociationsRequest.add_member(:standards_control_association_updates, Shapes::ShapeRef.new(shape: StandardsControlAssociationUpdates, required: true, location_name: "StandardsControlAssociationUpdates"))
4357
+ BatchUpdateStandardsControlAssociationsRequest.struct_class = Types::BatchUpdateStandardsControlAssociationsRequest
4358
+
4359
+ BatchUpdateStandardsControlAssociationsResponse.add_member(:unprocessed_association_updates, Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociationUpdates, location_name: "UnprocessedAssociationUpdates"))
4360
+ BatchUpdateStandardsControlAssociationsResponse.struct_class = Types::BatchUpdateStandardsControlAssociationsResponse
4361
+
4309
4362
  BooleanFilter.add_member(:value, Shapes::ShapeRef.new(shape: Boolean, location_name: "Value"))
4310
4363
  BooleanFilter.struct_class = Types::BooleanFilter
4311
4364
 
@@ -4481,6 +4534,7 @@ module Aws::SecurityHub
4481
4534
  DescribeHubResponse.add_member(:hub_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "HubArn"))
4482
4535
  DescribeHubResponse.add_member(:subscribed_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "SubscribedAt"))
4483
4536
  DescribeHubResponse.add_member(:auto_enable_controls, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnableControls"))
4537
+ DescribeHubResponse.add_member(:control_finding_generator, Shapes::ShapeRef.new(shape: ControlFindingGenerator, location_name: "ControlFindingGenerator"))
4484
4538
  DescribeHubResponse.struct_class = Types::DescribeHubResponse
4485
4539
 
4486
4540
  DescribeOrganizationConfigurationRequest.struct_class = Types::DescribeOrganizationConfigurationRequest
@@ -4561,6 +4615,7 @@ module Aws::SecurityHub
4561
4615
 
4562
4616
  EnableSecurityHubRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
4563
4617
  EnableSecurityHubRequest.add_member(:enable_default_standards, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableDefaultStandards"))
4618
+ EnableSecurityHubRequest.add_member(:control_finding_generator, Shapes::ShapeRef.new(shape: ControlFindingGenerator, location_name: "ControlFindingGenerator"))
4564
4619
  EnableSecurityHubRequest.struct_class = Types::EnableSecurityHubRequest
4565
4620
 
4566
4621
  EnableSecurityHubResponse.struct_class = Types::EnableSecurityHubResponse
@@ -4813,6 +4868,24 @@ module Aws::SecurityHub
4813
4868
  ListOrganizationAdminAccountsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
4814
4869
  ListOrganizationAdminAccountsResponse.struct_class = Types::ListOrganizationAdminAccountsResponse
4815
4870
 
4871
+ ListSecurityControlDefinitionsRequest.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location: "querystring", location_name: "StandardsArn"))
4872
+ ListSecurityControlDefinitionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
4873
+ ListSecurityControlDefinitionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
4874
+ ListSecurityControlDefinitionsRequest.struct_class = Types::ListSecurityControlDefinitionsRequest
4875
+
4876
+ ListSecurityControlDefinitionsResponse.add_member(:security_control_definitions, Shapes::ShapeRef.new(shape: SecurityControlDefinitions, required: true, location_name: "SecurityControlDefinitions"))
4877
+ ListSecurityControlDefinitionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
4878
+ ListSecurityControlDefinitionsResponse.struct_class = Types::ListSecurityControlDefinitionsResponse
4879
+
4880
+ ListStandardsControlAssociationsRequest.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "querystring", location_name: "SecurityControlId"))
4881
+ ListStandardsControlAssociationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
4882
+ ListStandardsControlAssociationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
4883
+ ListStandardsControlAssociationsRequest.struct_class = Types::ListStandardsControlAssociationsRequest
4884
+
4885
+ ListStandardsControlAssociationsResponse.add_member(:standards_control_association_summaries, Shapes::ShapeRef.new(shape: StandardsControlAssociationSummaries, required: true, location_name: "StandardsControlAssociationSummaries"))
4886
+ ListStandardsControlAssociationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
4887
+ ListStandardsControlAssociationsResponse.struct_class = Types::ListStandardsControlAssociationsResponse
4888
+
4816
4889
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location: "uri", location_name: "ResourceArn"))
4817
4890
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
4818
4891
 
@@ -5222,6 +5295,27 @@ module Aws::SecurityHub
5222
5295
  RuleGroupVariablesPortSetsDetails.add_member(:definition, Shapes::ShapeRef.new(shape: NonEmptyStringList, location_name: "Definition"))
5223
5296
  RuleGroupVariablesPortSetsDetails.struct_class = Types::RuleGroupVariablesPortSetsDetails
5224
5297
 
5298
+ SecurityControl.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5299
+ SecurityControl.add_member(:security_control_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlArn"))
5300
+ SecurityControl.add_member(:title, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Title"))
5301
+ SecurityControl.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
5302
+ SecurityControl.add_member(:remediation_url, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RemediationUrl"))
5303
+ SecurityControl.add_member(:severity_rating, Shapes::ShapeRef.new(shape: SeverityRating, required: true, location_name: "SeverityRating"))
5304
+ SecurityControl.add_member(:security_control_status, Shapes::ShapeRef.new(shape: ControlStatus, required: true, location_name: "SecurityControlStatus"))
5305
+ SecurityControl.struct_class = Types::SecurityControl
5306
+
5307
+ SecurityControlDefinition.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5308
+ SecurityControlDefinition.add_member(:title, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Title"))
5309
+ SecurityControlDefinition.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
5310
+ SecurityControlDefinition.add_member(:remediation_url, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "RemediationUrl"))
5311
+ SecurityControlDefinition.add_member(:severity_rating, Shapes::ShapeRef.new(shape: SeverityRating, required: true, location_name: "SeverityRating"))
5312
+ SecurityControlDefinition.add_member(:current_region_availability, Shapes::ShapeRef.new(shape: RegionAvailabilityStatus, required: true, location_name: "CurrentRegionAvailability"))
5313
+ SecurityControlDefinition.struct_class = Types::SecurityControlDefinition
5314
+
5315
+ SecurityControlDefinitions.member = Shapes::ShapeRef.new(shape: SecurityControlDefinition)
5316
+
5317
+ SecurityControls.member = Shapes::ShapeRef.new(shape: SecurityControl)
5318
+
5225
5319
  SecurityGroups.member = Shapes::ShapeRef.new(shape: NonEmptyString)
5226
5320
 
5227
5321
  SensitiveDataDetections.add_member(:count, Shapes::ShapeRef.new(shape: Long, location_name: "Count"))
@@ -5291,6 +5385,49 @@ module Aws::SecurityHub
5291
5385
  StandardsControl.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
5292
5386
  StandardsControl.struct_class = Types::StandardsControl
5293
5387
 
5388
+ StandardsControlArnList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
5389
+
5390
+ StandardsControlAssociationDetail.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5391
+ StandardsControlAssociationDetail.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5392
+ StandardsControlAssociationDetail.add_member(:security_control_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlArn"))
5393
+ StandardsControlAssociationDetail.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, required: true, location_name: "AssociationStatus"))
5394
+ StandardsControlAssociationDetail.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
5395
+ StandardsControlAssociationDetail.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdatedAt"))
5396
+ StandardsControlAssociationDetail.add_member(:updated_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdatedReason"))
5397
+ StandardsControlAssociationDetail.add_member(:standards_control_title, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlTitle"))
5398
+ StandardsControlAssociationDetail.add_member(:standards_control_description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlDescription"))
5399
+ StandardsControlAssociationDetail.add_member(:standards_control_arns, Shapes::ShapeRef.new(shape: StandardsControlArnList, location_name: "StandardsControlArns"))
5400
+ StandardsControlAssociationDetail.struct_class = Types::StandardsControlAssociationDetail
5401
+
5402
+ StandardsControlAssociationDetails.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationDetail)
5403
+
5404
+ StandardsControlAssociationId.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5405
+ StandardsControlAssociationId.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5406
+ StandardsControlAssociationId.struct_class = Types::StandardsControlAssociationId
5407
+
5408
+ StandardsControlAssociationIds.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationId)
5409
+
5410
+ StandardsControlAssociationSummaries.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationSummary)
5411
+
5412
+ StandardsControlAssociationSummary.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5413
+ StandardsControlAssociationSummary.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5414
+ StandardsControlAssociationSummary.add_member(:security_control_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlArn"))
5415
+ StandardsControlAssociationSummary.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, required: true, location_name: "AssociationStatus"))
5416
+ StandardsControlAssociationSummary.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
5417
+ StandardsControlAssociationSummary.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "UpdatedAt"))
5418
+ StandardsControlAssociationSummary.add_member(:updated_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdatedReason"))
5419
+ StandardsControlAssociationSummary.add_member(:standards_control_title, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlTitle"))
5420
+ StandardsControlAssociationSummary.add_member(:standards_control_description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "StandardsControlDescription"))
5421
+ StandardsControlAssociationSummary.struct_class = Types::StandardsControlAssociationSummary
5422
+
5423
+ StandardsControlAssociationUpdate.add_member(:standards_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "StandardsArn"))
5424
+ StandardsControlAssociationUpdate.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5425
+ StandardsControlAssociationUpdate.add_member(:association_status, Shapes::ShapeRef.new(shape: AssociationStatus, required: true, location_name: "AssociationStatus"))
5426
+ StandardsControlAssociationUpdate.add_member(:updated_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "UpdatedReason"))
5427
+ StandardsControlAssociationUpdate.struct_class = Types::StandardsControlAssociationUpdate
5428
+
5429
+ StandardsControlAssociationUpdates.member = Shapes::ShapeRef.new(shape: StandardsControlAssociationUpdate)
5430
+
5294
5431
  StandardsControls.member = Shapes::ShapeRef.new(shape: StandardsControl)
5295
5432
 
5296
5433
  StandardsInputParameterMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
@@ -5376,6 +5513,27 @@ module Aws::SecurityHub
5376
5513
 
5377
5514
  TypeList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
5378
5515
 
5516
+ UnprocessedSecurityControl.add_member(:security_control_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "SecurityControlId"))
5517
+ UnprocessedSecurityControl.add_member(:error_code, Shapes::ShapeRef.new(shape: UnprocessedErrorCode, required: true, location_name: "ErrorCode"))
5518
+ UnprocessedSecurityControl.add_member(:error_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ErrorReason"))
5519
+ UnprocessedSecurityControl.struct_class = Types::UnprocessedSecurityControl
5520
+
5521
+ UnprocessedSecurityControls.member = Shapes::ShapeRef.new(shape: UnprocessedSecurityControl)
5522
+
5523
+ UnprocessedStandardsControlAssociation.add_member(:standards_control_association_id, Shapes::ShapeRef.new(shape: StandardsControlAssociationId, required: true, location_name: "StandardsControlAssociationId"))
5524
+ UnprocessedStandardsControlAssociation.add_member(:error_code, Shapes::ShapeRef.new(shape: UnprocessedErrorCode, required: true, location_name: "ErrorCode"))
5525
+ UnprocessedStandardsControlAssociation.add_member(:error_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ErrorReason"))
5526
+ UnprocessedStandardsControlAssociation.struct_class = Types::UnprocessedStandardsControlAssociation
5527
+
5528
+ UnprocessedStandardsControlAssociationUpdate.add_member(:standards_control_association_update, Shapes::ShapeRef.new(shape: StandardsControlAssociationUpdate, required: true, location_name: "StandardsControlAssociationUpdate"))
5529
+ UnprocessedStandardsControlAssociationUpdate.add_member(:error_code, Shapes::ShapeRef.new(shape: UnprocessedErrorCode, required: true, location_name: "ErrorCode"))
5530
+ UnprocessedStandardsControlAssociationUpdate.add_member(:error_reason, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ErrorReason"))
5531
+ UnprocessedStandardsControlAssociationUpdate.struct_class = Types::UnprocessedStandardsControlAssociationUpdate
5532
+
5533
+ UnprocessedStandardsControlAssociationUpdates.member = Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociationUpdate)
5534
+
5535
+ UnprocessedStandardsControlAssociations.member = Shapes::ShapeRef.new(shape: UnprocessedStandardsControlAssociation)
5536
+
5379
5537
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location: "uri", location_name: "ResourceArn"))
5380
5538
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
5381
5539
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -5422,6 +5580,7 @@ module Aws::SecurityHub
5422
5580
  UpdateOrganizationConfigurationResponse.struct_class = Types::UpdateOrganizationConfigurationResponse
5423
5581
 
5424
5582
  UpdateSecurityHubConfigurationRequest.add_member(:auto_enable_controls, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoEnableControls"))
5583
+ UpdateSecurityHubConfigurationRequest.add_member(:control_finding_generator, Shapes::ShapeRef.new(shape: ControlFindingGenerator, location_name: "ControlFindingGenerator"))
5425
5584
  UpdateSecurityHubConfigurationRequest.struct_class = Types::UpdateSecurityHubConfigurationRequest
5426
5585
 
5427
5586
  UpdateSecurityHubConfigurationResponse.struct_class = Types::UpdateSecurityHubConfigurationResponse
@@ -5558,6 +5717,30 @@ module Aws::SecurityHub
5558
5717
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5559
5718
  end)
5560
5719
 
5720
+ api.add_operation(:batch_get_security_controls, Seahorse::Model::Operation.new.tap do |o|
5721
+ o.name = "BatchGetSecurityControls"
5722
+ o.http_method = "POST"
5723
+ o.http_request_uri = "/securityControls/batchGet"
5724
+ o.input = Shapes::ShapeRef.new(shape: BatchGetSecurityControlsRequest)
5725
+ o.output = Shapes::ShapeRef.new(shape: BatchGetSecurityControlsResponse)
5726
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5727
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5728
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5729
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5730
+ end)
5731
+
5732
+ api.add_operation(:batch_get_standards_control_associations, Seahorse::Model::Operation.new.tap do |o|
5733
+ o.name = "BatchGetStandardsControlAssociations"
5734
+ o.http_method = "POST"
5735
+ o.http_request_uri = "/associations/batchGet"
5736
+ o.input = Shapes::ShapeRef.new(shape: BatchGetStandardsControlAssociationsRequest)
5737
+ o.output = Shapes::ShapeRef.new(shape: BatchGetStandardsControlAssociationsResponse)
5738
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5739
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5740
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5741
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5742
+ end)
5743
+
5561
5744
  api.add_operation(:batch_import_findings, Seahorse::Model::Operation.new.tap do |o|
5562
5745
  o.name = "BatchImportFindings"
5563
5746
  o.http_method = "POST"
@@ -5582,6 +5765,18 @@ module Aws::SecurityHub
5582
5765
  o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5583
5766
  end)
5584
5767
 
5768
+ api.add_operation(:batch_update_standards_control_associations, Seahorse::Model::Operation.new.tap do |o|
5769
+ o.name = "BatchUpdateStandardsControlAssociations"
5770
+ o.http_method = "PATCH"
5771
+ o.http_request_uri = "/associations"
5772
+ o.input = Shapes::ShapeRef.new(shape: BatchUpdateStandardsControlAssociationsRequest)
5773
+ o.output = Shapes::ShapeRef.new(shape: BatchUpdateStandardsControlAssociationsResponse)
5774
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
5775
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
5776
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
5777
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
5778
+ end)
5779
+
5585
5780
  api.add_operation(:create_action_target, Seahorse::Model::Operation.new.tap do |o|
5586
5781
  o.name = "CreateActionTarget"
5587
5782
  o.http_method = "POST"
@@ -6159,6 +6354,42 @@ module Aws::SecurityHub
6159
6354
  )
6160
6355
  end)
6161
6356
 
6357
+ api.add_operation(:list_security_control_definitions, Seahorse::Model::Operation.new.tap do |o|
6358
+ o.name = "ListSecurityControlDefinitions"
6359
+ o.http_method = "GET"
6360
+ o.http_request_uri = "/securityControls/definitions"
6361
+ o.input = Shapes::ShapeRef.new(shape: ListSecurityControlDefinitionsRequest)
6362
+ o.output = Shapes::ShapeRef.new(shape: ListSecurityControlDefinitionsResponse)
6363
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
6364
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
6365
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
6366
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
6367
+ o[:pager] = Aws::Pager.new(
6368
+ limit_key: "max_results",
6369
+ tokens: {
6370
+ "next_token" => "next_token"
6371
+ }
6372
+ )
6373
+ end)
6374
+
6375
+ api.add_operation(:list_standards_control_associations, Seahorse::Model::Operation.new.tap do |o|
6376
+ o.name = "ListStandardsControlAssociations"
6377
+ o.http_method = "GET"
6378
+ o.http_request_uri = "/associations"
6379
+ o.input = Shapes::ShapeRef.new(shape: ListStandardsControlAssociationsRequest)
6380
+ o.output = Shapes::ShapeRef.new(shape: ListStandardsControlAssociationsResponse)
6381
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
6382
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
6383
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccessException)
6384
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
6385
+ o[:pager] = Aws::Pager.new(
6386
+ limit_key: "max_results",
6387
+ tokens: {
6388
+ "next_token" => "next_token"
6389
+ }
6390
+ )
6391
+ end)
6392
+
6162
6393
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
6163
6394
  o.name = "ListTagsForResource"
6164
6395
  o.http_method = "GET"
@@ -50,9 +50,6 @@ module Aws::SecurityHub
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
- if self[:region].nil?
54
- raise ArgumentError, "Missing required EndpointParameter: :region"
55
- end
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -14,36 +14,39 @@ module Aws::SecurityHub
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint)
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
- end
22
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
- end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
- end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://securityhub-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
- end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
- end
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
33
18
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- return Aws::Endpoints::Endpoint.new(url: "https://securityhub-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
- end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
38
20
  end
39
21
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://securityhub.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://securityhub-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://securityhub-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://securityhub.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
42
45
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
46
+ return Aws::Endpoints::Endpoint.new(url: "https://securityhub.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
47
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://securityhub.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
48
  end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
50
  raise ArgumentError, 'No endpoint could be resolved'
48
51
 
49
52
  end
@@ -67,6 +67,34 @@ module Aws::SecurityHub
67
67
  end
68
68
  end
69
69
 
70
+ class BatchGetSecurityControls
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::SecurityHub::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
84
+ class BatchGetStandardsControlAssociations
85
+ def self.build(context)
86
+ unless context.config.regional_endpoint
87
+ endpoint = context.config.endpoint.to_s
88
+ end
89
+ Aws::SecurityHub::EndpointParameters.new(
90
+ region: context.config.region,
91
+ use_dual_stack: context.config.use_dualstack_endpoint,
92
+ use_fips: context.config.use_fips_endpoint,
93
+ endpoint: endpoint,
94
+ )
95
+ end
96
+ end
97
+
70
98
  class BatchImportFindings
71
99
  def self.build(context)
72
100
  unless context.config.regional_endpoint
@@ -95,6 +123,20 @@ module Aws::SecurityHub
95
123
  end
96
124
  end
97
125
 
126
+ class BatchUpdateStandardsControlAssociations
127
+ def self.build(context)
128
+ unless context.config.regional_endpoint
129
+ endpoint = context.config.endpoint.to_s
130
+ end
131
+ Aws::SecurityHub::EndpointParameters.new(
132
+ region: context.config.region,
133
+ use_dual_stack: context.config.use_dualstack_endpoint,
134
+ use_fips: context.config.use_fips_endpoint,
135
+ endpoint: endpoint,
136
+ )
137
+ end
138
+ end
139
+
98
140
  class CreateActionTarget
99
141
  def self.build(context)
100
142
  unless context.config.regional_endpoint
@@ -655,6 +697,34 @@ module Aws::SecurityHub
655
697
  end
656
698
  end
657
699
 
700
+ class ListSecurityControlDefinitions
701
+ def self.build(context)
702
+ unless context.config.regional_endpoint
703
+ endpoint = context.config.endpoint.to_s
704
+ end
705
+ Aws::SecurityHub::EndpointParameters.new(
706
+ region: context.config.region,
707
+ use_dual_stack: context.config.use_dualstack_endpoint,
708
+ use_fips: context.config.use_fips_endpoint,
709
+ endpoint: endpoint,
710
+ )
711
+ end
712
+ end
713
+
714
+ class ListStandardsControlAssociations
715
+ def self.build(context)
716
+ unless context.config.regional_endpoint
717
+ endpoint = context.config.endpoint.to_s
718
+ end
719
+ Aws::SecurityHub::EndpointParameters.new(
720
+ region: context.config.region,
721
+ use_dual_stack: context.config.use_dualstack_endpoint,
722
+ use_fips: context.config.use_fips_endpoint,
723
+ endpoint: endpoint,
724
+ )
725
+ end
726
+ end
727
+
658
728
  class ListTagsForResource
659
729
  def self.build(context)
660
730
  unless context.config.regional_endpoint
@@ -64,10 +64,16 @@ module Aws::SecurityHub
64
64
  Aws::SecurityHub::Endpoints::BatchDisableStandards.build(context)
65
65
  when :batch_enable_standards
66
66
  Aws::SecurityHub::Endpoints::BatchEnableStandards.build(context)
67
+ when :batch_get_security_controls
68
+ Aws::SecurityHub::Endpoints::BatchGetSecurityControls.build(context)
69
+ when :batch_get_standards_control_associations
70
+ Aws::SecurityHub::Endpoints::BatchGetStandardsControlAssociations.build(context)
67
71
  when :batch_import_findings
68
72
  Aws::SecurityHub::Endpoints::BatchImportFindings.build(context)
69
73
  when :batch_update_findings
70
74
  Aws::SecurityHub::Endpoints::BatchUpdateFindings.build(context)
75
+ when :batch_update_standards_control_associations
76
+ Aws::SecurityHub::Endpoints::BatchUpdateStandardsControlAssociations.build(context)
71
77
  when :create_action_target
72
78
  Aws::SecurityHub::Endpoints::CreateActionTarget.build(context)
73
79
  when :create_finding_aggregator
@@ -148,6 +154,10 @@ module Aws::SecurityHub
148
154
  Aws::SecurityHub::Endpoints::ListMembers.build(context)
149
155
  when :list_organization_admin_accounts
150
156
  Aws::SecurityHub::Endpoints::ListOrganizationAdminAccounts.build(context)
157
+ when :list_security_control_definitions
158
+ Aws::SecurityHub::Endpoints::ListSecurityControlDefinitions.build(context)
159
+ when :list_standards_control_associations
160
+ Aws::SecurityHub::Endpoints::ListStandardsControlAssociations.build(context)
151
161
  when :list_tags_for_resource
152
162
  Aws::SecurityHub::Endpoints::ListTagsForResource.build(context)
153
163
  when :tag_resource