AWSTemplateFormatVersion: "2010-09-09" Description: (AWS Heidi) Child stack for AWS Heidi Parameters: PrimaryEventHealthBus: Type: String Description: Primary Event Health Bus Arn(Get it from primary central account) SecondaryEventHealthBus: Type: String Description: Secondary Event Health Bus Arn (Get it from Secondary central account, Leave blank if its single region deployment) Resources: EventHealthBusPutEventOrgRole: Type: AWS::IAM::Role Properties: RoleName: !Sub "EventHealthBusPutEventOrgRole-${AWS::AccountId}-${AWS::Region}" AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: events.amazonaws.com Action: sts:AssumeRole Path: "/" Policies: - PolicyName: !Sub "EventBridge-PutEvents-${AWS::AccountId}-${AWS::Region}" PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Action: - "events:PutEvents" Resource: - !Ref PrimaryEventHealthBus - !If - SecondaryEventHealthBus - !Ref SecondaryEventHealthBus - !Ref "AWS::NoValue" AWSHealthEventRuleDefaultBusPrimaryRule: Type: "AWS::Events::Rule" Properties: Name: !Sub "EventHealthDefaultPrimaryRule-${AWS::AccountId}-${AWS::Region}" Description: "EventBridge default rule for aws.health events" EventBusName: "default" EventPattern: source: - "aws.health" - "awshealthtest" Targets: - Arn: !Ref PrimaryEventHealthBus Id: "EventHealthBusTarget" RoleArn: !GetAtt EventHealthBusPutEventOrgRole.Arn AWSHealthEventRuleDefaultBusSecondaryRule: Condition: SecondaryEventHealthBus Type: "AWS::Events::Rule" Properties: Name: !Sub "EventHealthDefaultSecondarRule-${AWS::AccountId}-${AWS::Region}" Description: "EventBridge default rule for aws.health events" EventBusName: "default" EventPattern: source: - "aws.health" - "awshealthtest" Targets: - Arn: !Ref SecondaryEventHealthBus Id: "EventHealthBusTarget" RoleArn: !GetAtt EventHealthBusPutEventOrgRole.Arn Conditions: SecondaryEventHealthBus: !Not [!Equals [!Ref SecondaryEventHealthBus, ""]]