Currently, `New-AzVm` relays on a name to create or use a resource. - [x] To be idempotent, the operation should relay on a resource state. For example, the operation should create a new resource if a resource doesn't exist, - [ ] otherwise the operation should get, validate, and modify (if necessary) the existing resource. - [ ] Another issue is inferred `location`.