{ "Comment": "Suspend ASG and reboot instances in the group", "StartAt": "SetVariables", "States": { "SetVariables": { "Type": "Pass", "Result": { "asgName": "acme-dev-web-asg" }, "ResultPath": "$.vars", "Next": "SuspendProcesses" }, "SuspendProcesses": { "Type": "Task", "Parameters": { "AutoScalingGroupName.$": "$.vars.asgName" }, "Resource": "arn:aws:states:::aws-sdk:autoscaling:suspendProcesses", "ResultPath": "$.suspendResult", "Next": "DescribeAutoScalingGroups" }, "DescribeAutoScalingGroups": { "Type": "Task", "Parameters": { "AutoScalingGroupNames.$": "States.Array($.vars.asgName)", "MaxRecords": 1 }, "Resource": "arn:aws:states:::aws-sdk:autoscaling:describeAutoScalingGroups", "Next": "RebootInstances", "ResultPath": "$.asgData" }, "RebootInstances": { "Type": "Task", "Parameters": { "InstanceIds.$": "$.asgData.AutoScalingGroups[0].Instances[*].InstanceId" }, "Resource": "arn:aws:states:::aws-sdk:ec2:rebootInstances", "ResultPath": "$.rebootResult", "Next": "ResumeProcesses" }, "ResumeProcesses": { "Type": "Task", "Parameters": { "AutoScalingGroupName.$": "$.vars.asgName" }, "Resource": "arn:aws:states:::aws-sdk:autoscaling:resumeProcesses", "End": true } } }