mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 02:44:59 +00:00
37 lines
No EOL
1.5 KiB
Bash
Executable file
37 lines
No EOL
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
CLEANUP_EC2_IDS=$(aws ec2 describe-instances --profile service-terraform --region us-east-2 --filters Name=instance-state-name,Values=pending,running "Name=tag:Name,Values=pipeline-${CI_PIPELINE_ID}-*" --query 'Reservations[*].Instances[*].[InstanceId]' --output text | tr '\n' ' ')
|
|
if [ -n "${CLEANUP_EC2_IDS}" ]
|
|
then
|
|
echo "ec2 Instances found, terminating."
|
|
echo $CLEANUP_EC2_IDS
|
|
IFS=', ' read -r -a array <<< "$CLEANUP_EC2_IDS"
|
|
aws ec2 terminate-instances --profile service-terraform --region us-east-2 --instance-ids "${array[@]}"
|
|
|
|
res=$?
|
|
if (( $res != 0 )); then
|
|
echo "Error: instances not terminated - ${CLEANUP_EC2_IDS}"
|
|
exit $res
|
|
fi
|
|
else
|
|
echo 'No hanging ec2 instances'
|
|
fi
|
|
|
|
CLEANUP_CF_ID=$(aws cloudformation list-stacks --region us-east-2 --stack-status-filter CREATE_IN_PROGRESS CREATE_COMPLETE --query "StackSummaries[?contains(StackName, \`pipeline-${CI_PIPELINE_ID}\`) == \`true\`].[StackName]" --output text | tr '\n' ' ')
|
|
if [ -n "${CLEANUP_CF_ID}" ]
|
|
then
|
|
echo "CF stacks found, deleting."
|
|
echo $CLEANUP_CF_ID
|
|
IFS=', ' read -r -a array <<< "$CLEANUP_CF_ID"
|
|
for element in "${array[@]}"
|
|
do
|
|
aws cloudformation delete-stack --region us-east-2 --stack-name $element --retain-resources DeploymentEC2Role
|
|
res=$?
|
|
if (( $res != 0 )); then
|
|
echo "Error: stacks not deleted - ${CLEANUP_CF_ID}"
|
|
exit $res
|
|
fi
|
|
done
|
|
else
|
|
echo "No CF stacks to cleanup"
|
|
fi |