2017-09-27 3 views
0

Ich fange an, ein Bash-Skript zu schreiben, um eine VM in einer neuen oder vorhandenen Ressourcengruppe bereitzustellen, so dass wir die Namenskonvention und -konfiguration durchsetzen können.Azure CLI wie überprüft man, ob eine Ressource existiert

In einem Bash-Skript, wie kann ich überprüfen, ob eine Ressource bereits existiert, also versuche ich nicht, es erneut zu erstellen?

#1. If a new resource group is desired, create it now. Microsoft Docs 
az group create --name $RESOURCEGROUPNAME --location $LOCATION 


#2. Create a virtual network and subnet if one has not already been created. Microsoft Docs 
# Consider a separate VNet for each resource group. 
# az network vnet list -output table 
az network vnet create \ 
--resource-group $RESOURCEGROUPNAME \ 
--name $RESOURCEGROUPNAME-vnet \ 
--address-prefix 10.0.x.0/24 \ 
--subnet-name default \ 
--subnet-prefix 10.0.x.0/24 


#x is the next available 3rd octet value 


#3. Create a public IP Address. Microsoft Docs 
az network public-ip create \ 
--resource-group $RESOURCEGROUPNAME \ 
--name $VMNAME-ip \ 
--dns-name $DNSNAME 


#4. Create a network security group. Microsoft Docs 
az network nsg create \ 
--resource-group $RESOURCEGROUPNAME \ 
--name $VMNAME-nsg 


#5. Create a rule to allow SSH to the machine. Microsoft Docs 
az network nsg rule create \ 
--resource-group $RESOURCEGROUPNAME \ 
--nsg-name $VMNAME-nsg \ 
--name allow-ssh \ 
--protocol tcp \ 
--priority 1000 \ 
--destination-port-range 22 \ 
--access allow 


#6. Create a virtual NIC. Microsoft Docs 
az network nic create \ 
--resource-group $RESOURCEGROUPNAME \ 
--name $VMNAME-nic \ 
--vnet-name $RESOURCEGROUPNAME-vnet \ 
--subnet default \ 
--public-ip-address $VMNAME-ip \ 
--network-security-group $VMNAME-nsg 



#7. Create an availability set, if redundancy is required. Microsoft Docs 
az vm availability-set create \ 
--resource-group $RESOURCEGROUPNAME \ 
--name $AVSETNAME-as 


#8. Create the VM. Microsoft Docs 
az vm create \ 
--resource-group $RESOURCEGROUPNAME \ 
--location $LOCATION \ 
--name $VMNAME \ 
--image UbuntuLTS \ 
--size $VMSIZE \ 
--availability-set $AVSETNAME-as \ 
--nics $VMNAME-nic \ 
--admin-username $ADMINUSERNAME \ 
--authentication-type ssh 
--ssh-key-value @$SSHPUBLICKEYFILE \ 
--os-disk-name $VMNAME-osdisk 

Antwort

2

In einem Bash-Skript, wie kann ich überprüfen, ob eine Ressource bereits vorhanden, so ich versuche nicht, es wieder zu schaffen?

Wir CLI verwenden 2.0 Befehl az group exists die Ressourcengruppe zu testen, existieren oder nicht, wie folgt aus:

C:\Users\user>az group exists -n jasontest 
false 

Auf diese Weise, bevor wir es schaffen, können wir den Namen verfügbar ist oder nicht testen. In der neuen Ressourcengruppe können wir neue Vnet- und andere Ressourcen erstellen.

Für jetzt gibt es keine CLI 2.0 Befehl zum Testen anderer Ressource vorhanden oder nicht. Wenn Sie eine Ressource in einer vorhandenen Ressourcengruppe erstellen möchten, sollten Sie den CLI 2.0-Befehl zum Auflisten der Ressourcen verwenden und bash verwenden, um sicherzustellen, dass die Ressource vorhanden ist oder nicht.

0

Wenn ein Befehl resource show eine leere Zeichenfolge und einen Erfolgsstatuscode (0) zurückgibt, ist die Ressource nicht vorhanden.

Verwandte Themen