-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathcreate_vm.sh
executable file
·42 lines (35 loc) · 1.51 KB
/
create_vm.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
#/bin/bash
keyvaultName=jupyterkeyvault1
location=westus2
certificateName=mycert
resourceGroupName=myResourceGroupSecureWeb4
disk_name=earth_data
backup_diskname=jupyterbackup
vmName=jupyter52
#Obtain the ID of the certificate we want to use from the keyvault within the VM
secret=$(az keyvault secret list-versions \
--vault-name $keyvaultName \
--name $certificateName \
--query "[?attributes.enabled].id" --output tsv)
vm_secret=$(az vm secret format --secrets "$secret")
#Create the VM
az vm create \
--resource-group $resourceGroupName \
--name $vmName \
--image Ubuntu2204 \
--admin-username azureuser \
--custom-data cloud-init.txt \
--generate-ssh-keys \
--secrets "$vm_secret"
#Open the port for Jupyter
az vm open-port --resource-group $resourceGroupName --name $vmName --port 443 --priority 101
az vm open-port --resource-group $resourceGroupName --name $vmName --port 80 --priority 100
jupyter_ip=$(az vm list --show-details --query "[?name=='$vmName'].{IP:publicIps}" -o tsv)
echo "Jupyterhub should be running at https://$jupyter_ip"
echo "Give it a minute to start up before you try to access it"
#Connect data disk
#diskId=$(az disk show -g $resourceGroupName -n $disk_name --query 'id' -o tsv)
#az vm disk attach -g $resourceGroupName --vm-name $vmName --disk $diskId
#Connect backup disk
#diskIdBackup=$(az disk show -g $resourceGroupName -n $backup_diskname --query 'id' -o tsv)
#az vm disk attach -g $resourceGroupName --vm-name $vmName --disk $diskIdBackup