diff --git a/reboot-asg-instances.json b/reboot-asg-instances.json new file mode 100644 index 0000000..22020d0 --- /dev/null +++ b/reboot-asg-instances.json @@ -0,0 +1,50 @@ +{ + "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 + } + } +} diff --git a/sqlserver-upgrade.json b/sqlserver-upgrade.json new file mode 100644 index 0000000..2ef3526 --- /dev/null +++ b/sqlserver-upgrade.json @@ -0,0 +1,58 @@ +{ + "Comment": "Update SQLserver version on lower environments", + "StartAt": "Parallel", + "States": { + "Parallel": { + "Type": "Parallel", + "Branches": [ + { + "StartAt": "ModifyDBInstanceDev", + "States": { + "ModifyDBInstanceDev": { + "Type": "Task", + "Arguments": { + "DbInstanceIdentifier": "acme-dev-database1", + "ApplyImmediately": true, + "EngineVersion": "16.00.4225.2.v1" + }, + "Resource": "arn:aws:states:::aws-sdk:rds:modifyDBInstance", + "End": true + } + } + }, + { + "StartAt": "ModifyDBInstanceStg", + "States": { + "ModifyDBInstanceStg": { + "Type": "Task", + "Arguments": { + "DbInstanceIdentifier": "acme-stg-database1", + "ApplyImmediately": true, + "EngineVersion": "16.00.4225.2.v1" + }, + "Resource": "arn:aws:states:::aws-sdk:rds:modifyDBInstance", + "End": true + } + } + }, + { + "StartAt": "ModifyDBInstanceStg02", + "States": { + "ModifyDBInstanceStg02": { + "Type": "Task", + "Arguments": { + "DbInstanceIdentifier": "acme-stg02-database1", + "ApplyImmediately": true, + "EngineVersion": "16.00.4225.2.v1" + }, + "Resource": "arn:aws:states:::aws-sdk:rds:modifyDBInstance", + "End": true + } + } + } + ], + "End": true + } + }, + "QueryLanguage": "JSONata" +}