Repository navigation
Expand file tree
/
Copy pathdelete-containers.sh
More file actions
executable file
·64 lines (52 loc) · 2.21 KB
/
Copy pathdelete-containers.sh
File metadata and controls
executable file
·64 lines (52 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
dos2unix configure-environment.sh
source ./configure-environment.sh
function delete_services() {
for taskDefinition in $(aws ecs list-task-definitions | jq -r ".taskDefinitionArns[] | select(. | contains(\"$1\"))")
do
IFS='/' read -r -a definitionVersion <<< $taskDefinition
definitionVersion=${definitionVersion[${#definitionVersion[@]}-1]}
echo "Deleting task definition $taskDefinition"
eval $(echo "aws ecs deregister-task-definition --task-definition "$definitionVersion"") > /dev/null
echo "Task definition $taskDefinition deleted"
done
aws logs delete-log-group --log-group-name ecs/$1
echo "Deleting service $1..."
result=$(aws ecs delete-service --cluster $clusterName --service $1 --force)
echo "Service $1 deleted"
taskArn=$(aws ecs list-tasks --cluster $clusterName --family $1 | jq -r ".taskArns[0]")
taskStatus=RUNNING
while [ "$taskStatus" = "RUNNING" ]
do
sleep 5
taskStatus=$(aws ecs describe-tasks --cluster $clusterName --tasks $taskArn | jq -r ".tasks[0].lastStatus")
done
echo "Deleting repository $2..."
result=$(aws ecr delete-repository --repository-name $2 --force)
echo "Repository $2 deleted"
}
function delete_queue() {
queueName=$1
if [ "$AwsQueueIsFifo" = "true" ]
then
queueName=$queueName".fifo"
fi
queueUrl=$(aws sqs get-queue-url --queue-name $queueName | jq -r ".QueueUrl")
aws sqs delete-queue --queue-url $queueUrl
}
delete_services $sqsReaderProjectName $sqsReaderRepository
delete_services $sqsWriterProjectName $sqsWriterRepository
echo "Deleting cluster $clusterName..."
result=$(aws ecs delete-cluster --cluster $clusterName)
echo "Cluster $clusterName deleted"
aws ec2 delete-security-group --group-name $securityGroup
policyArn=$(aws iam list-policies | jq -r ".Policies[] | select(.PolicyName==\"$policyName\") | .Arn")
aws iam detach-role-policy --role-name $roleName --policy-arn $policyArn
aws iam delete-role --role-name $roleName
echo "Deleting $actorsTable table..."
result=$(aws dynamodb delete-table --table-name $actorsTable)
echo "Table $actorsTable deleted"
echo "Deleting $moviesTable table..."
result=$(aws dynamodb delete-table --table-name $moviesTable)
echo "Table $moviesTable deleted"
delete_queue $AwsQueueName
delete_queue $AwsQueueName"-exceptions"