1
0
Files
terraform.examples/LocalStack/Automation/LabStepFunctions/reboot-asg-instances.json
T
2026-02-20 15:36:45 +08:00

51 lines
1.4 KiB
JSON

{
"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
}
}
}