from azure.identity import DefaultAzureCredential from azure.mgmt.compute import ComputeManagementClient from pprint import pprint import azure.mgmt.compute as compute import uuid import requests import json #subscription_id = instance_metadata['compute']['subscription_id'] def delete_self_instance(): instance_metadata = requests.get("http://169.254.169.254/metadata/instance?api-version=2025-04-07&format=json", headers={"Metadata":"True"}).json() instance_resource_id = instance_metadata['compute']['resourceId'] parts = instance_resource_id.split('/') subscription_id = parts[2] resource_group = parts[4] vm_name = parts[8] if vm_name == "ado2-crawler-dev": print("This is dev, don't die") return False credential = DefaultAzureCredential() compute_client = ComputeManagementClient(credential, subscription_id) compute_client.virtual_machines.begin_delete(resource_group, vm_name) print("Kill this instance") return True delete_self_instance()