Exemplo n.º 1
0
        private static UpdateInventoryCommand VmsToInventory(ISeq <TypedPsObject <MinimizedVirtualMachineInfo> > vms)
        {
            var inventory = vms.Map(vm =>
            {
                var info = new MachineInfo
                {
                    MachineId       = vm.Value.Id,
                    Status          = InventoryConverter.MapVmInfoStatusToVmStatus(vm.Value.State),
                    Name            = vm.Value.Name,
                    NetworkAdapters = vm.Value.NetworkAdapters?.Map(a => new VirtualMachineNetworkAdapterInfo
                    {
                        AdapterName       = a.Name,
                        VirtualSwitchName = a.SwitchName
                    }).ToArray(),
                    Networks = GetNetworksByAdapters(vm.Value.Id, vm.Value.NetworkAdapters)
                };

                //info.IpV4Addresses = GetAddressesByFamily(vm, AddressFamily.InterNetwork);
                //info.IpV6Addresses = GetAddressesByFamily(vm, AddressFamily.InterNetworkV6);
                return(info);
            }).ToList();

            return(new UpdateInventoryCommand
            {
                AgentName = Environment.MachineName,
                Inventory = inventory
            });
        }
Exemplo n.º 2
0
 public Task Handle(VirtualMachineStateChangedEvent message)
 {
     return(_bus.Publish(new MachineStateChangedEvent
     {
         MachineId = message.VmId,
         Status = InventoryConverter.MapVmInfoStatusToVmStatus(message.State)
     }));
 }