AWSTemplateFormatVersion: "2010-09-09" Description: AWS CloudFormation - aws fis experiment - stop ec2 instance template. Metadata: AWS::CloudFormation::Interface: ParameterGroups: - Label: default: "Experiment Configuration" Parameters: - FISExperimentTemplateName - EC2InstanceARN - FISEC2AccessManagedPolicy Parameters: EC2InstanceARN: Type: AWS::EC2::Instance::Id Description: ARN of EC2 instance FISExperimentTemplateName: Type: String Description: Name of experiment template FISEC2AccessManagedPolicy: Type: String Description: AWS Managed Policy Default: arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEC2Access Resources: ExperimentTemplate: Type: 'AWS::FIS::ExperimentTemplate' Properties: Description: 'stop a specific instance' Actions: stopInstances: ActionId: 'aws:ec2:stop-instances' Targets: Instances: oneRandomInstance Targets: oneRandomInstance: ResourceType: 'aws:ec2:instance' SelectionMode: 'COUNT(1)' ResourceArns: - !Sub arn:${AWS::Partition}:ec2:${AWS::Region}:${AWS::AccountId}:instance/${EC2InstanceARN} StopConditions: - Source: 'none' Tags: Name: !Ref FISExperimentTemplateName RoleArn: !GetAtt FISRole.Arn FISRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: 'fis.amazonaws.com' Action: 'sts:AssumeRole' ManagedPolicyArns: - !Ref FISEC2AccessManagedPolicy