예제 #1
0
        public async Task <Vm> Delete(string id)
        {
            _logger.LogDebug("deleting " + id);
            VimClient host = FindHostByVm(id);
            Vm        vm   = await host.Delete(id);

            RefreshAffinity(); //TODO: fix race condition here
            return(vm);
        }
예제 #2
0
        public async Task DeleteAll(string target)
        {
            _logger.LogDebug("deleting all matching " + target);
            var tasks = new List <Task>();

            foreach (var vm in await Find(target))
            {
                VimClient host = FindHostByVm(vm.Id);
                tasks.Add(host.Delete(vm.Id));
            }

            if (tasks.Count > 0)
            {
                await Task.WhenAll(tasks.ToArray());
            }
        }