public List <string> GetKeys()
        {
            var vmDataItems = _xenStore.Read(Constants.ReadOnlyDataConfigBase);

            if (vmDataItems != null && vmDataItems.Contains(Constants.MetadataBase))
            {
                var metadataItems = _xenStore.Read(_metadataKeyLocation);
                if (metadataItems != null)
                {
                    return(metadataItems.ToList());
                }
            }
            return(new List <string>());
        }
        private IDictionary <string, NetworkInterface> GetInterfaces()
        {
            IDictionary <string, NetworkInterface> interfaces = new Dictionary <string, NetworkInterface>();

            var macAddressesWithoutColons =
                _xenStore.Read(_networkKeyLocation);

            foreach (var macAddress in macAddressesWithoutColons)
            {
                var jsonData         = _xenStore.ReadVmDataKey(macAddress);
                var networkInterface = new Json <NetworkInterface>().Deserialize(jsonData);
                interfaces.Add(networkInterface.mac.ToUpper(), networkInterface);
            }

            return(interfaces);
        }
        public void GetWhiteListIps(ref ProviderData providerData)
        {
            var numberOfWhiteListIps = _xenStore.Read(Constants.Combine(Constants.ReadOnlyDataConfigBase, Constants.ProviderDataBase, Constants.IpWhiteList));

            if (numberOfWhiteListIps != null && numberOfWhiteListIps.Any())
            {
                providerData.ip_whitelist.AddRange(numberOfWhiteListIps);

                foreach (var numberOfWhiteListIp in numberOfWhiteListIps)
                {
                    var jsonData = _xenStore.ReadVmProviderDataKey((Constants.Combine(Constants.IpWhiteList, numberOfWhiteListIp)));
                    if (!string.IsNullOrEmpty(jsonData))
                    {
                        providerData.white_List_Ips.Add(jsonData);
                    }
                }
            }
        }