11#! /bin/bash
22pflag=false
3+ tflag=false
4+ dflag=false
5+ rflag=false
36
47DIRNAME=$( dirname " $0 " )
58
69usage () { echo "
710 -h -- Opens up this help message
811 -p -- Name of the AWS profile to use
12+ -t -- Team name (required)
13+ -d -- Dataset name (required)
14+ -r -- AWS region (required)
915" ; }
10- options=' :p:h'
16+ options=' :p:t:d:r: h'
1117while getopts " $options " option
1218do
1319 case " $option " in
1420 p ) pflag=true; PROFILE=$OPTARG ;;
21+ t ) tflag=true; TEAM=$OPTARG ;;
22+ d ) dflag=true; DATASET=$OPTARG ;;
23+ r ) rflag=true; REGION=$OPTARG ;;
1524 h ) usage; exit ;;
1625 \? ) echo " Unknown option: -$OPTARG " >&2 ; exit 1;;
1726 : ) echo " Missing option argument for -$OPTARG " >&2 ; exit 1;;
1827 * ) echo " Unimplemented option: -$OPTARG " >&2 ; exit 1;;
1928 esac
2029done
2130
31+ if ! " $tflag "
32+ then
33+ echo " Team name is required. Use -t <team-name>" >&2
34+ usage
35+ exit 1
36+ fi
37+
38+ if ! " $dflag "
39+ then
40+ echo " Dataset name is required. Use -d <dataset-name>" >&2
41+ usage
42+ exit 1
43+ fi
44+
45+ if ! " $rflag "
46+ then
47+ echo " AWS region is required. Use -r <region>" >&2
48+ usage
49+ exit 1
50+ fi
51+
2252if " $pflag "
2353then
2454 echo " using AWS profile $PROFILE ..." >&2
2555fi
26- REGION=$( aws configure get region ${PROFILE: +--profile " $PROFILE " } )
2756
28- ARTIFACTS_BUCKET=$( aws --region " $REGION " ssm get-parameter --name " /sdlf/storage/rArtifactsBucket/dev" --query " Parameter.Value" --output text ${PROFILE: +--profile " $PROFILE " } )
57+ echo " using team: $TEAM " >&2
58+ echo " using dataset: $DATASET " >&2
59+ echo " using region: $REGION " >&2
60+
61+ ARTIFACTS_BUCKET=$( aws --region " $REGION " ssm get-parameter --name " /SDLF2/S3/ArtifactsBucket" --query " Parameter.Value" --output text ${PROFILE: +--profile " $PROFILE " } )
2962aws s3 cp " $DIRNAME /scripts/legislators-glue-job.py" " s3://$ARTIFACTS_BUCKET /artifacts/" ${PROFILE: +--profile " $PROFILE " }
3063
31- mkdir " $DIRNAME " /output
64+ mkdir -p " $DIRNAME " /output
3265
33- function send_legislators ()
66+ function send_data ()
3467{
3568 ORIGIN=" $DIRNAME /data/"
3669
37- RAW_BUCKET=$( aws --region " $REGION " ssm get-parameter --name " /sdlf/storage/rRawBucket/dev " --query " Parameter.Value" --output text ${PROFILE: +--profile " $PROFILE " } )
38- KMS_KEY=$( aws --region " $REGION " ssm get-parameter --name " /sdlf/dataset/rKMSDataKey/dev " --query " Parameter.Value" --output text ${PROFILE: +--profile " $PROFILE " } )
70+ RAW_BUCKET=$( aws --region " $REGION " ssm get-parameter --name " /SDLF2/S3/RawBucket " --query " Parameter.Value" --output text ${PROFILE: +--profile " $PROFILE " } )
71+ KMS_KEY=$( aws --region " $REGION " ssm get-parameter --name " /SDLF/KMS/ $TEAM /DataKeyId " --query " Parameter.Value" --output text ${PROFILE: +--profile " $PROFILE " } )
3972
4073 S3_DESTINATION=s3://$RAW_BUCKET /
4174 COUNT=0
4275 for FILE in " $ORIGIN " /* .json;
4376 do
4477 (( COUNT++ )) || true
45- aws s3 cp " $FILE " " ${S3_DESTINATION} legislators /" --sse aws:kms --sse-kms-key-id " $KMS_KEY " ${PROFILE: +--profile " $PROFILE " }
78+ aws s3 cp " $FILE " " ${S3_DESTINATION}${TEAM} / ${DATASET} /" --sse aws:kms --sse-kms-key-id " $KMS_KEY " ${PROFILE: +--profile " $PROFILE " }
4679 echo " transferred $COUNT files"
4780 done
4881}
@@ -58,14 +91,15 @@ aws cloudformation package --template-file "$DIRNAME"/scripts/legislators-glue-j
5891 ${PROFILE: +--profile " $PROFILE " } \
5992 --output-template-file " $DIRNAME " /output/packaged-template.yaml
6093
61- STACK_NAME=" sdlf-legislators -glue-job"
94+ STACK_NAME=" sdlf-${TEAM} - ${DATASET} -glue-job"
6295aws cloudformation deploy \
6396 --s3-bucket " $ARTIFACTS_BUCKET " --s3-prefix sdlf-utils \
6497 --stack-name " $STACK_NAME " \
6598 --template-file " $DIRNAME " /output/packaged-template.yaml \
66- --tags Framework=sdlf \
99+ --parameter-overrides pTeamName=" $TEAM " pDatasetName=" $DATASET " \
100+ --tags Framework=sdlf Team=" $TEAM " Dataset=" $DATASET " \
67101 --capabilities " CAPABILITY_NAMED_IAM" " CAPABILITY_AUTO_EXPAND" \
68102 --region " $REGION " \
69103 ${PROFILE: +--profile " $PROFILE " } || exit 1
70104
71- send_legislators
105+ send_data
0 commit comments