-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathcfn-test-create-inputs.sh
More file actions
executable file
·52 lines (41 loc) · 1.42 KB
/
cfn-test-create-inputs.sh
File metadata and controls
executable file
·52 lines (41 loc) · 1.42 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
#!/usr/bin/env bash
# cfn-test-create-inputs.sh
#
# This tool generates json files in the inputs/ for `cfn test`.
#
set -euo pipefail
rm -rf inputs
mkdir inputs
projectName="${1:-$PROJECT_NAME}"
#set profile
profile="default"
if [ ${MONGODB_ATLAS_PROFILE+x} ]; then
echo "profile set to ${MONGODB_ATLAS_PROFILE}"
profile=${MONGODB_ATLAS_PROFILE}
fi
projectId=$(atlas projects list --output json | jq --arg NAME "${projectName}" -r '.results[] | select(.name==$NAME) | .id')
if [ -z "$projectId" ]; then
projectId=$(atlas projects create "${projectName}" --output=json | jq -r '.id')
echo -e "Created project \"${projectName}\" with id: ${projectId}\n"
else
echo -e "FOUND project \"${projectName}\" with id: ${projectId}\n"
fi
streamInstanceName="stream-$(date +%s)-$RANDOM"
cloudProvider="AWS"
region="VIRGINIA_USA"
tier="SP30"
WORDTOREMOVE="template."
cd "$(dirname "$0")" || exit
for inputFile in inputs_*; do
outputFile=${inputFile//$WORDTOREMOVE/}
jq --arg project_id "$projectId" \
--arg stream_instance_name "$streamInstanceName" \
--arg cloud_provider "$cloudProvider" \
--arg region "$region" \
--arg profile "$profile" \
--arg tier "$tier" \
'.Profile?|=$profile | .ProjectId?|=$project_id | .InstanceName?|=$stream_instance_name | .DataProcessRegion.CloudProvider?|=$cloud_provider | .DataProcessRegion.Region?|=$region | .StreamConfig.Tier?|=$tier' \
"$inputFile" >"../inputs/$outputFile"
done
cd ..
ls -l inputs