github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/scripts/winworker.sh (about) 1 #!/usr/bin/env bash 2 3 set -euo pipefail 4 5 cd "$(dirname "${0}")/.." 6 source build/shlib.sh 7 8 export CLOUDSDK_CORE_PROJECT=${CLOUDSDK_CORE_PROJECT-${GCEWORKER_PROJECT-cockroach-workers}} 9 export CLOUDSDK_COMPUTE_ZONE=${GCEWORKER_ZONE-${CLOUDSDK_COMPUTE_ZONE-us-east1-b}} 10 NAME=${GCEWORKER_NAME-gceworker-win-$(id -un)} 11 12 cmd=${1-} 13 if [[ "${cmd}" ]]; then 14 shift 15 fi 16 17 reset_password() { 18 gcloud compute reset-windows-password --quiet "${NAME}" 19 cat <<EOF 20 21 You can now connect to this machine using Microsoft Remote Desktop. 22 EOF 23 } 24 25 case "${cmd}" in 26 create) 27 gcloud compute instances \ 28 create "${NAME}" \ 29 --machine-type "n1-standard-4" \ 30 --network "default" \ 31 --maintenance-policy "MIGRATE" \ 32 --image-project "windows-cloud" \ 33 --image-family "windows-2016" \ 34 --boot-disk-size "100" \ 35 --boot-disk-type "pd-ssd" \ 36 --boot-disk-device-name "${NAME}" \ 37 --scopes "default,cloud-platform" 38 retry reset_password 39 ;; 40 start) 41 gcloud compute instances start "${NAME}" 42 ;; 43 stop) 44 gcloud compute instances stop "${NAME}" 45 ;; 46 delete|destroy) 47 gcloud compute instances delete "${NAME}" 48 ;; 49 ip) 50 gcloud compute instances describe --format="value(networkInterfaces[0].accessConfigs[0].natIP)" "${NAME}" 51 ;; 52 reset-password) 53 reset_password 54 ;; 55 *) 56 echo "$0: unknown command: ${cmd}, use one of create, start, stop, delete, or reset-password" 57 exit 1 58 ;; 59 esac