code: func (d *Driver) Restart() error {
  	if err := d.checkLegacyDriver(true); err != nil {
  		return err
  	}
  
  	// NOTE(ahmetalpbalkan) Azure will always keep the VM in Running state
  	// during the restart operation. Hence we rely on returned async operation
  	// polling to make sure the reboot is waited upon.
  	c, err := d.newAzureClient()
  	if err != nil {
  		return err
  	}
  	return c.RestartVirtualMachine(d.ResourceGroup, d.naming().VM())
  }
docs: // Restart reboots the virtual machine instance.