-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgcloud_config
77 lines (61 loc) · 1.86 KB
/
gcloud_config
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
65
66
67
68
69
70
71
72
73
74
75
76
77
set_project(){
echo "What project would we be working on?"
projectList=$(gcloud projects list --format="value(NAME)")
projArray+=($projectList)
i=0
for project in $projectList
do
((i++))
echo "$i: $project"
done
while [ -z "$PROJNUM" ]
do
read -p "Please select (1-$i): " PROJNUM
if [[ -n ${PROJNUM//[0-9]/} ]]; then
unset PROJNUM
fi
done
PROJECT=${projArray[(($PROJNUM-1))]}
echo "You are to set $PROJECT as your default project, press <Enter> to continue"
read
gcloud config set project $PROJECT
}
zone_setup(){
############################################################
## DO NOT ASSUME THE ZONES AND REGIONS - GET IT FROM GCLOUD
############################################################
local zone=$(gcloud config get-value compute/zone)
if [ -z "$zone" ]
then
echo "We cannot detect a Zone in your configuration"
echo "What Region do you want to set your resources to?"
echo "1. US-West"
echo "2. US-Central"
echo "3. US-East"
while [ -z "$zoneNum" ]
do
read -p "Please select (1, 2, or 3): " zoneNum
if [[ -n ${zoneNum//[0-9]/} ]]; then
unset zoneNum
fi
done
local letters=(a b c)
local a=$((RANDOM%3+1))
local b=$((RANDOM%3))
if [ "${zoneNum,,}" = "2" ]; then
zoneValue="us-central${a}-${letters[$b]}"
regionValue="us-central${a}"
elif [ "${zoneNum,,}" = "3" ]; then
zoneValue="us-east${a}-${letters[$b]}"
regionValue="us-east${a}"
else
zoneValue="us-west${a}-${letters[$b]}"
regionValue="us-west${a}"
fi
echo "You are about to set your Zone to $zoneValue, press <Enter> to continue"
read
gcloud compute project-info add-metadata --metadata google-compute-default-region=$regionValue,google-compute-default-zone=$zoneValue
fi
# Initialize Gcloud
gcloud init
}