-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathcreate-dev-testfile.sh
51 lines (40 loc) · 1.02 KB
/
create-dev-testfile.sh
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
#!/bin/bash
set -eo pipefail
main() {
resource=$1
name=$2
if [[ -z $resource ]]; then
echo "No resource provided. Pass one in through \`make dev-new resource=<resource>\`"
exit 1
fi
if [[ -z $name ]]; then
echo ""
echo "No resource name provided, using \`${resource}\` as name"
name=${resource}
fi
resource="prefect_${resource}"
dev_file_target="${PWD}/dev/${name}"
mkdir -p $dev_file_target
cat <<EOF > $dev_file_target/${resource}.tf
terraform {
required_providers {
prefect = {
source = "prefecthq/prefect"
}
}
}
provider "prefect" {
$([ -n "$PREFECT_API_URL" ] && echo ' endpoint = "'$PREFECT_API_URL'"')
$([ -n "$PREFECT_API_KEY" ] && echo ' api_key = "'$PREFECT_API_KEY'"')
$([ -n "$PREFECT_CLOUD_ACCOUNT_ID" ] && echo ' account_id = "'$PREFECT_CLOUD_ACCOUNT_ID'"')
}
resource "${resource}" "${name}" {}
EOF
cmd="cd ${dev_file_target} && terraform plan"
echo ""
echo "run:"
echo "${cmd}"
echo "(copied to clipboard)"
printf "${cmd}" | pbcopy
}
main $@