Skip to content

Commit

Permalink
feat(zsec): add new region validation
Browse files Browse the repository at this point in the history
  • Loading branch information
jmolnar-zscaler committed May 10, 2024
1 parent 4a9c167 commit f6a09b3
Showing 1 changed file with 186 additions and 123 deletions.
309 changes: 186 additions & 123 deletions examples/zsec
Original file line number Diff line number Diff line change
Expand Up @@ -187,13 +187,15 @@ first_run="yes"
"ap-southeast-1"
"ap-southeast-2"
"ap-southeast-3"
"ap-southeast-4"
"ca-central-1"
"cn-north-1"
"cn-northwest-1"
"eu-central-1"
"eu-central-2"
"eu-north-1"
"eu-south-1"
"eu-south-2"
"eu-west-1"
"eu-west-2"
"eu-west-3"
Expand Down Expand Up @@ -501,132 +503,193 @@ first_run="yes"

# AWS EC2 type selection
PS3="${CYAN}Select AWS EC2 instance type for $cc_instance_size Cloud Connector: ${RESET}"

if [[ "$cc_instance_size" == "small" ]]; then
vm_sizes=(
"m6i.large - Recommended"
"m5n.large"
"c6i.large"
"c6in.large"
"t3.medium - Not recommended for production use"
"t3a.medium - Not recommended for production use"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.large${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.large'" >> .zsecrc
break
;;
2)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
3)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
4)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
5)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
6)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
if [[ "$aws_region" == "eu-south-2" || "$aws_region" == "ap-southeast-4" ]]; then
vm_sizes=(
"c6in.large - Recommended"
"t3.medium - Not recommended for production use"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}c6in.large${RESET}"
echo "export TF_VAR_ccvm_instance_type='c6in.large'" >> .zsecrc
break
;;
2)
echo "CC EC2 type: ${GREEN}c6in.large${RESET}"
echo "export TF_VAR_ccvm_instance_type='c6in.large'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
else
vm_sizes=(
"m6i.large - Recommended"
"m5n.large"
"c6i.large"
"c6in.large"
"t3.medium - Not recommended for production use"
"t3a.medium - Not recommended for production use"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.large${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.large'" >> .zsecrc
break
;;
2)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
3)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
4)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
5)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
6)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
fi
elif [[ "$cc_instance_size" == "medium" ]]; then
vm_sizes=(
"m6i.4xlarge - Recommended"
"m5n.4xlarge"
"c6i.4xlarge"
"c6in.4xlarge"
"c5.4xlarge"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.4xlarge${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.4xlarge'" >> .zsecrc
break
;;
2)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
3)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
4)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
5)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
if [[ "$aws_region" == "eu-south-2" || "$aws_region" == "ap-southeast-4" ]]; then
vm_sizes=(
"c6in.4xlarge"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.4xlarge${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.4xlarge'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
else
vm_sizes=(
"m6i.4xlarge - Recommended"
"m5n.4xlarge"
"c6i.4xlarge"
"c6in.4xlarge"
"c5.4xlarge"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.4xlarge${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.4xlarge'" >> .zsecrc
break
;;
2)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
3)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
4)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
5)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
fi
elif [[ "$cc_instance_size" == "large" ]]; then
vm_sizes=(
"m6i.4xlarge - Recommended"
"m5n.4xlarge"
"c6i.4xlarge"
"c6in.4xlarge"
"c5.4xlarge"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.4xlarge${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.4xlarge'" >> .zsecrc
break
;;
2)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
3)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
4)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
5)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
if [[ "$aws_region" == "eu-south-2" || "$aws_region" == "ap-southeast-4" ]]; then
vm_sizes=(
"c6in.4xlarge"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.4xlarge${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.4xlarge'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
else
vm_sizes=(
"m6i.4xlarge - Recommended"
"m5n.4xlarge"
"c6i.4xlarge"
"c6in.4xlarge"
"c5.4xlarge"
)
select ccvm_instance_type in "${vm_sizes[@]}"
do
case $REPLY in
1)
echo "CC EC2 type: ${GREEN}m6i.4xlarge${RESET}"
echo "export TF_VAR_ccvm_instance_type='m6i.4xlarge'" >> .zsecrc
break
;;
2)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
3)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
4)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
5)
echo "CC EC2 type: ${GREEN}$ccvm_instance_type${RESET}"
echo "export TF_VAR_ccvm_instance_type='$ccvm_instance_type'" >> .zsecrc
break
;;
*)
echo "${RED}Invalid response. Please enter a number selection${RESET}"
esac
done
fi
fi

read -r -p "${CYAN}Enter CC Provisioning URL${RESET} (E.g. connector.zscaler.net/api/v1/provUrl?name=aws_prov_url): " cc_vm_prov_url
Expand Down

0 comments on commit f6a09b3

Please sign in to comment.