def main()

in Hands-on lab/labfiles/sap-hana/deploy/vm/python-scripts/redeploy-vm.py [0:0]


def main():
    mdUrl = "http://169.254.169.254/metadata/instance/compute?api-version=2017-08-01"
    header={'Metadata': 'True'}
    request = urllib2.Request(url=mdUrl, headers=header)
    response = urllib2.urlopen(request)
    data = response.read()
    metaData = data.decode("utf-8")
    vm_meta_json = json.loads(metaData)
    print(vm_meta_json)
    GROUP_NAME = vm_meta_json["resourceGroupName"]
    VM_NAME = sys.argv[1]

    sched_event_url = "http://169.254.169.254/metadata/scheduledevents?api-version=2017-08-01"
    request2 = urllib2.Request(url=sched_event_url, headers=header)
    response = urllib2.urlopen(request2)
    sched_events_json = response.read()
    print(sched_events_json)

    subscription_id = os.environ.get('AZURE_SUBSCRIPTION_ID')
    credentials = ServicePrincipalCredentials(
            client_id=os.environ['AZURE_CLIENT_ID'],
            secret=os.environ['AZURE_SECRET'],
            tenant=os.environ['AZURE_TENANT']
        )

    compute_client = ComputeManagementClient(credentials, subscription_id)
    r_virtual_machine = compute_client.virtual_machines.get(
            GROUP_NAME,
            VM_NAME
        )

    async_vm_redeploy = compute_client.virtual_machines.redeploy(GROUP_NAME, VM_NAME)
    r_virtual_machine = async_vm_redeploy.result()