<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Spot_azure_vm_start_if_deallocated</id>
	<title>Spot azure vm start if deallocated - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Spot_azure_vm_start_if_deallocated"/>
	<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Spot_azure_vm_start_if_deallocated&amp;action=history"/>
	<updated>2026-04-24T12:52:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://tech.uvoo.io/index.php?title=Spot_azure_vm_start_if_deallocated&amp;diff=5397&amp;oldid=prev</id>
		<title>Busk: Created page with &quot;# Code ``` #!/bin/bash  # Set environment variables RESOURCE_GROUP=&quot;your-resource-group&quot; VM_NAME=&quot;your-vm-name&quot; CHECK_INTERVAL=60  # Check every 60 seconds  # Function to chec...&quot;</title>
		<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Spot_azure_vm_start_if_deallocated&amp;diff=5397&amp;oldid=prev"/>
		<updated>2024-12-17T21:28:18Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;# Code ``` #!/bin/bash  # Set environment variables RESOURCE_GROUP=&amp;quot;your-resource-group&amp;quot; VM_NAME=&amp;quot;your-vm-name&amp;quot; CHECK_INTERVAL=60  # Check every 60 seconds  # Function to chec...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;# Code&lt;br /&gt;
```&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Set environment variables&lt;br /&gt;
RESOURCE_GROUP=&amp;quot;your-resource-group&amp;quot;&lt;br /&gt;
VM_NAME=&amp;quot;your-vm-name&amp;quot;&lt;br /&gt;
CHECK_INTERVAL=60  # Check every 60 seconds&lt;br /&gt;
&lt;br /&gt;
# Function to check the VM state&lt;br /&gt;
check_vm_state() {&lt;br /&gt;
    az vm get-instance-view --resource-group $RESOURCE_GROUP --name $VM_NAME --query &amp;quot;instanceView.statuses[?code=='PowerState/deallocated']&amp;quot; -o tsv&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Function to start the VM&lt;br /&gt;
start_vm() {&lt;br /&gt;
    az vm start --resource-group $RESOURCE_GROUP --name $VM_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Main loop to watch the VM state and start it if deallocated&lt;br /&gt;
while true; do&lt;br /&gt;
    VM_STATE=$(check_vm_state)&lt;br /&gt;
    if [ -n &amp;quot;$VM_STATE&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;VM $VM_NAME is deallocated. Attempting to start...&amp;quot;&lt;br /&gt;
        start_vm&lt;br /&gt;
        if [ $? -eq 0 ]; then&lt;br /&gt;
            echo &amp;quot;VM $VM_NAME started successfully.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            echo &amp;quot;Failed to start VM $VM_NAME.&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;VM $VM_NAME is running.&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    sleep $CHECK_INTERVAL&lt;br /&gt;
done&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>Busk</name></author>
	</entry>
</feed>