is_vm and is_vm_template return TRUE for an object representing a virtual machine deployment (which will include other resources besides the VM itself).
is_vm_resource returns TRUE for an object representing the specific VM resource.
is_vm_scaleset and is_vm_scaleset_template return TRUE for an object representing a VM scaleset deployment.
is_vm_scaleset_resource returns TRUE for an object representing the specific VM scaleset resource.