Octopus.AwsRunScript exported 2025-01-10 by mcasperson belongs to ‘AWS’ category.
Return the name of the online and offline blue and green Auto Scaling Groups
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Inactive Color
AWSBlueGreen.InactiveColor =
The color of the inactive group (Green or Blue). This value is usually found from the “AWS - Find Blue-Green Target Group” step.
Green ASG Name
AWSBlueGreen.AWS.GreenASG =
The name of the green auto scaler group. See https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html
for more details.
Blue ASG Name
AWSBlueGreen.AWS.BlueASG =
The name of the blue auto scaler group. See https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html
for more details.
Region
AWSBlueGreen.AWS.Region =
The AWS region. See https://aws.amazon.com/about-aws/global-infrastructure/regions_az/
for more information.
Account
AWSBlueGreen.AWS.Account =
Script body
Steps based on this template will execute the following Bash script.
#!/bin/bash
INACTIVECOLOR=${1:-'#{AWSBlueGreen.InactiveColor | Trim}'}
GREENASG=${2:-'#{AWSBlueGreen.AWS.GreenASG | Trim}'}
BLUEASG=${3:-'#{AWSBlueGreen.AWS.BlueASG | Trim}'}
echoerror() { echo "$@" 1>&2; }
if [[ -z "${INACTIVECOLOR}" ]]
then
echoerror "Please provide the color of the inactive Auto Scaling group (Green or Blue) as the first argument"
exit 1
fi
if [[ -z "${GREENASG}" ]]
then
echoerror "Please provide the name of the Green Auto Scaling group as the second argument"
exit 1
fi
if [[ -z "${BLUEASG}" ]]
then
echoerror "Please provide the name of the Blue Auto Scaling group as the third argument"
exit 1
fi
if [[ "${INACTIVECOLOR^^}" == "GREEN" ]]
then
set_octopusvariable "ActiveGroup" "${BLUEASG}"
set_octopusvariable "InactiveGroup" "${GREENASG}"
echo "Active group is Blue (${BLUEASG}), inactive group is Green (${GREENASG})"
else
set_octopusvariable "ActiveGroup" "${GREENASG}"
set_octopusvariable "InactiveGroup" "${BLUEASG}"
echo "Active group is Green (${GREENASG}), inactive group is Blue (${BLUEASG})"
fi
Provided under the Apache License version 2.0.
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
{
"Id": "6b72995e-500c-4b4b-9121-88f3a988ec71",
"Name": "AWS - Find Blue-Green ASG",
"Description": "Return the name of the online and offline blue and green Auto Scaling Groups",
"Version": 1,
"ExportedAt": "2025-01-10T03:42:14.665Z",
"ActionType": "Octopus.AwsRunScript",
"Author": "mcasperson",
"Packages": [],
"Parameters": [
{
"Id": "f8522014-f1ba-4e4a-a06d-59ebdba6f276",
"Name": "AWSBlueGreen.InactiveColor",
"Label": "Inactive Color",
"HelpText": "The color of the inactive group (Green or Blue). This value is usually found from the \"AWS - Find Blue-Green Target Group\" step.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "8753e6ed-0ae6-4a4c-ae5b-155139037633",
"Name": "AWSBlueGreen.AWS.GreenASG",
"Label": "Green ASG Name",
"HelpText": "The name of the green auto scaler group. See https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html for more details.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "bf9187f5-62e9-4ad9-b53f-459466b84994",
"Name": "AWSBlueGreen.AWS.BlueASG",
"Label": "Blue ASG Name",
"HelpText": "The name of the blue auto scaler group. See https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html for more details.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "eb02bbf2-e05a-4469-9359-c77d77d87dd2",
"Name": "AWSBlueGreen.AWS.Region",
"Label": "Region",
"HelpText": "The AWS region. See https://aws.amazon.com/about-aws/global-infrastructure/regions_az/ for more information.",
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "99a74afc-ee67-4295-8281-3bb1c6e83d06",
"Name": "AWSBlueGreen.AWS.Account",
"Label": "Account",
"HelpText": null,
"DefaultValue": "",
"DisplaySettings": {
"Octopus.ControlType": "AmazonWebServicesAccount"
}
}
],
"Properties": {
"OctopusUseBundledTooling": "False",
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "Bash",
"Octopus.Action.Aws.AssumeRole": "False",
"Octopus.Action.AwsAccount.UseInstanceRole": "False",
"Octopus.Action.AwsAccount.Variable": "#{AWSBlueGreen.AWS.Account}",
"Octopus.Action.Script.ScriptBody": "#!/bin/bash\n\nINACTIVECOLOR=${1:-'#{AWSBlueGreen.InactiveColor | Trim}'}\nGREENASG=${2:-'#{AWSBlueGreen.AWS.GreenASG | Trim}'}\nBLUEASG=${3:-'#{AWSBlueGreen.AWS.BlueASG | Trim}'}\n\nechoerror() { echo \"$@\" 1>&2; }\n\nif [[ -z \"${INACTIVECOLOR}\" ]]\nthen\n echoerror \"Please provide the color of the inactive Auto Scaling group (Green or Blue) as the first argument\"\n exit 1\nfi\n\nif [[ -z \"${GREENASG}\" ]]\nthen\n echoerror \"Please provide the name of the Green Auto Scaling group as the second argument\"\n exit 1\nfi\n\nif [[ -z \"${BLUEASG}\" ]]\nthen\n echoerror \"Please provide the name of the Blue Auto Scaling group as the third argument\"\n exit 1\nfi\n\nif [[ \"${INACTIVECOLOR^^}\" == \"GREEN\" ]]\nthen\n set_octopusvariable \"ActiveGroup\" \"${BLUEASG}\"\n set_octopusvariable \"InactiveGroup\" \"${GREENASG}\"\n echo \"Active group is Blue (${BLUEASG}), inactive group is Green (${GREENASG})\"\nelse\n set_octopusvariable \"ActiveGroup\" \"${GREENASG}\"\n set_octopusvariable \"InactiveGroup\" \"${BLUEASG}\"\n echo \"Active group is Green (${GREENASG}), inactive group is Blue (${BLUEASG})\"\nfi",
"Octopus.Action.Aws.Region": "#{AWSBlueGreen.AWS.Region}"
},
"Category": "AWS",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/aws-find-blue-green-asg.json",
"Website": "/step-templates/6b72995e-500c-4b4b-9121-88f3a988ec71",
"Logo": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADNQTFRF////9o0R/eLD/Nu0/erS95Qg+bhr95sv/vHh+r96/vjw+bFc/NSl+KI++82W+saI+KpNeDqM1wAAA41JREFUeNrsnG2XazAURiuo0Cr//9feliIvR3DvXJFZe3+a6XpW5+xWEpyY2w0AAAAAAAAAAAAAAAAAAADgf1J0bda/9N70q83a3enzUHWVjbR1sW0xp6sd6fPI72VmUt3zA+kymD6N5vnIBMrHsxHTjsUXOX0e+iVaTNU5Q0A/Q+k+4oAp+ixMbw6A4rGVVjGHR92ulNXWuTAlBNJN/FFyr5yy3qN9rawmF9IxR4hqX4U1WMplmGtruVBDuiuswbKkzaGhX+cfXsqbZlXXv0dsYR13nw9fLenGXD7f6U5Ony4yTpzyZLNMUcpMr0xNzfwdRRMR1/LP2cqMctNqKx1LZFydm2U022ueEtLL6HbHfmSRYRn4HDXaXyzU4XRkkZWK/+JlRBBBBBFEEEEEEUQQQQQRRBBB5B9uYJc7SyuLw+nI7R2ptKWJcywd18Utza0rnM4iN66M6qzS5E93Lf1zLaviUL/ISs/Nt6W00DEyuRgiP2Yxvrd15z/Y26ncG76jy1Ta5jEy/L0p/VMWy33woVm8UYN1Y9fqKrzfZ5iedtaV34+kNxHak2Wg2SSkY7djx/bQWkNP6nkE0lH3Lyx7D1aak1Z1erWJ+U130Vz0Sude7mZqv995nW7mZxJd27Sg5XQppuMdWY3xl1XXOge8MasWjZfund0KbvrkE9fK7OPNne+2U9YEWX3nemtSbvLv6LJ7gZ9X45yBl9ZxrZ9d3vjT8rz62tOsny7jXkpYPX9jQmvF8yF55TdaslGviZy1vAmfoTobsZztGNEv7qZZSr/6HRc/0yzlb3HiKhURRBBBBBFEEEEEEUQQQQQRRBD5XSLav38tllbVzeH02Ww/UWA+6XgsHdXFKc2vK5Quoz/duVRnlrb26crpizzXOVU3l2Zb5Pfe+d1OX8ViqW7qH9gt51K44bukr2XxrW54vMaoy7mxa/cgvPRVKcQG7uOCD58HLQLt3r17Iy6AqjYeDG7TUenWW+p9Ot/IOF/lwuHV1nk6o8M469PWXhtr+0BeX/x7Ue40W3xacfb2gXFxUZcX8TYB3Kyfp+GThsjKti2zgZuMiLshxW3gpiQyrn/DXhR/i1NqIte5pkUEEUQQQQQRRBBBBBFEEEEEEUR+g4jQUZBEqjqFO9mOiyeShoXvYoukZOG4GCLpWZgu83/vTNRidhlE0rYAAAAAAAAAAAAAAAAAAACAZPkjwAAMDi+bsnPP/wAAAABJRU5ErkJggg==",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Friday, January 10, 2025