Last active
June 13, 2017 16:23
-
-
Save vi2co/9e21cf5e55372df87c3e6a945e851cdb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
if [ $# -eq 0 ]; then | |
echo "Usage: $0 <namespace>" | |
echo "For example: $0 dev" | |
exit 1 | |
else | |
NAMESPACE=$1 | |
fi | |
S3_JAR_BUCKET=svc.mg.mg-nautical.${NAMESPACE}-deployment.s3.mg | |
STACK_NAME=net-mg-meteogroup-mg-nautical-${NAMESPACE} | |
cf='aws cloudformation' | |
cmd='create' | |
echo looking for stack | |
${cf} describe-stacks --stack-name ${STACK_NAME} &>/dev/null | |
if [ "$?" == "0" ]; then | |
echo stack exists... checking status | |
s=$(${cf} describe-stacks --stack-name ${STACK_NAME} --output text \ | |
--query 'Stacks[0].StackStatus') | |
echo stack status ${s} | |
if [ "$s" == "ROLLBACK_COMPLETE" ] || [ "$s" == "ROLLBACK_FAILED" ] || \ | |
[ "$s" == "DELETE_FAILED" ] || [ "$s" == "UPDATE_ROLLBACK_FAILED" ] ; then | |
echo deleting stack | |
${cf} delete-stack --stack-name ${STACK_NAME} | |
${cf} wait stack-delete-complete --stack-name ${STACK_NAME} | |
else | |
cmd='update' | |
fi | |
else | |
${cf} ${cmd}-stack --stack-name ${STACK_NAME} --capabilities CAPABILITY_NAMED_IAM \ | |
--parameters ParameterKey=S3JarBucket,ParameterValue=${S3_JAR_BUCKET} \ | |
ParameterKey=Namespace,ParameterValue=${NAMESPACE} \ | |
--template-body file://stack.json | |
fi | |
echo ${cmd} stack initiated for ${STACK_NAME} | |
${cf} ${cmd}-stack --stack-name ${STACK_NAME} --capabilities CAPABILITY_NAMED_IAM \ | |
--parameters ParameterKey=S3JarBucket,ParameterValue=${S3_JAR_BUCKET} \ | |
ParameterKey=Namespace,ParameterValue=${NAMESPACE} \ | |
--template-body file://stack.json > /dev/null | |
if [ "$?" == "0" ]; then | |
${cf} wait stack-${cmd}-complete --stack-name ${STACK_NAME} | |
fi | |
API=$(${cf} describe-stacks --stack-name ${STACK_NAME} --output text \ | |
--query 'Stacks[0].Outputs[?OutputKey==`ApiId`].[OutputValue]') | |
API_URL="https://${API}.execute-api.$(aws configure get region).amazonaws.com/v1" | |
echo ${API_URL} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment