@@ -40,6 +40,7 @@ Metadata:
4040 - IncludeQuickSightModule
4141 - IncludeServiceQuotasModule
4242 - IncludeEUCUtilizationModule
43+ - IncludeResilienceHubModule
4344 - Label :
4445 default : ' EUC (End User Compute) Module Configuration'
4546 Parameters :
@@ -107,6 +108,8 @@ Metadata:
107108 default : ' Include Service Quota Data Collection'
108109 IncludeQuickSightModule :
109110 default : ' Include QuickSight User Collection Module'
111+ IncludeResilienceHubModule :
112+ default : ' Include Resilience Hub Data Collection Module'
110113
111114Mappings :
112115 RegionMap :
@@ -280,7 +283,11 @@ Parameters:
280283 Description : Collects AWS Service Quotas data
281284 AllowedValues : ['yes', 'no']
282285 Default : ' no'
283-
286+ IncludeResilienceHubModule :
287+ Type : String
288+ Description : Collects AWS Resilience Hub data
289+ AllowedValues : ['yes', 'no']
290+ Default : ' no'
284291Conditions :
285292 DeployTAModule : !Equals [ !Ref IncludeTAModule, "yes"]
286293 DeployRightsizingModule : !Equals [ !Ref IncludeRightsizingModule, "yes"]
@@ -301,6 +308,7 @@ Conditions:
301308 DeployLicenseManagerModule : !Equals [ !Ref IncludeLicenseManagerModule, "yes"]
302309 DeployQuickSightModule : !Equals [ !Ref IncludeQuickSightModule, "yes"]
303310 DeployServiceQuotasModule : !Equals [ !Ref IncludeServiceQuotasModule, "yes"]
311+ DeployResilienceHubModule : !Equals [ !Ref IncludeResilienceHubModule, "yes"]
304312 DeployPricingModule : !Or
305313 - !Condition DeployInventoryCollectorModule
306314 - !Condition DeployRDSUtilizationModule
@@ -312,11 +320,11 @@ Conditions:
312320 - !Condition DeployCostAnomalyModule
313321 - !Condition DeploySupportCasesModule
314322 - !Condition DeployInventoryCollectorModule
315- - !Condition DeployComputeOptimizerModule
316323 - !Condition DeployEcsChargebackModule
317324 - !Condition DeployRDSUtilizationModule
318325 - !Condition DeployOrgDataModule
319326 - !Condition DeployBudgetsModule
327+ - !Condition DeployResilienceHubModule
320328 - Fn::Or :
321329 - !Condition DeployBackupModule
322330 - !Condition DeployTransitGatewayModule
@@ -325,6 +333,7 @@ Conditions:
325333 - !Condition DeployQuickSightModule
326334 - !Condition DeployServiceQuotasModule
327335 - !Condition DeployEUCUtilizationModule
336+ - !Condition DeployComputeOptimizerModule
328337 RegionsInScopeIsEmpty : !Equals
329338 - !Join [ '', !Split [ ' ', !Ref RegionsInScope ] ] # remove spaces
330339 - " "
@@ -1464,6 +1473,31 @@ Resources:
14641473 StepFunctionExecutionRoleARN : !GetAtt StepFunctionExecutionRole.Arn
14651474 SchedulerExecutionRoleARN : !GetAtt SchedulerExecutionRole.Arn
14661475
1476+ ResilienceHubModule :
1477+ Type : AWS::CloudFormation::Stack
1478+ Condition : DeployResilienceHubModule
1479+ Properties :
1480+ TemplateURL : !Sub "https://${CFNSourceBucket}.s3.${AWS::URLSuffix}/cfn/data-collection/v3.11.0/module-resilience-hub.yaml"
1481+ Parameters :
1482+ DatabaseName : !Ref DatabaseName
1483+ DestinationBucket : !Ref S3Bucket
1484+ MultiAccountRoleName : !Sub "${ResourcePrefix}${MultiAccountRoleName}"
1485+ DataBucketsKmsKeysArns : !Ref DataBucketsKmsKeysArns
1486+ GlueRoleARN : !GetAtt GlueRole.Arn
1487+ Schedule : !Ref ScheduleFrequent
1488+ ResourcePrefix : !Ref ResourcePrefix
1489+ RegionsInScope :
1490+ Fn::If :
1491+ - RegionsInScopeIsEmpty
1492+ - !Sub " ${AWS::Region}"
1493+ - !Join [ '', !Split [ ' ', !Ref RegionsInScope ] ] # remove spaces
1494+ LambdaAnalyticsARN : !GetAtt LambdaAnalytics.Arn
1495+ AccountCollectorLambdaARN : !Sub "${AccountCollector.Outputs.LambdaFunctionARN}"
1496+ CodeBucket : !If [ ProdCFNTemplateUsed, !FindInMap [RegionMap, !Ref "AWS::Region", CodeBucket], !Ref CFNSourceBucket ]
1497+ StepFunctionTemplate : !FindInMap [StepFunctionCode, main-state-machine, TemplatePath]
1498+ StepFunctionExecutionRoleARN : !GetAtt StepFunctionExecutionRole.Arn
1499+ SchedulerExecutionRoleARN : !GetAtt SchedulerExecutionRole.Arn
1500+
14671501 AccountCollector :
14681502 Type : AWS::CloudFormation::Stack
14691503 Condition : DeployAccountCollector
0 commit comments