Ejemplo n.º 1
0
        public void FromXml(string configurationString)
        {
            if (configurationString == null || configurationString.Length == 0)
            {
                return;
            }
            XmlDocument config = new XmlDocument();

            config.LoadXml(configurationString);
            XmlElement root = config.DocumentElement;

            Entries.Clear();
            foreach (XmlElement cmndNode in root.SelectNodes("linux/sshCommand"))
            {
                LinuxSSHCommandEntry entry = new LinuxSSHCommandEntry();
                entry.SSHConnection = SSHConnectionDetails.FromXmlElement(cmndNode);

                //entry.SSHConnection.SSHSecurityOption = SSHSecurityOptionTypeConverter.FromString(cmndNode.ReadXmlElementAttr("sshSecOpt", "password"));
                //entry.SSHConnection.ComputerName = cmndNode.ReadXmlElementAttr("machine", ".");
                //entry.SSHConnection.SSHPort = cmndNode.ReadXmlElementAttr("sshPort", 22);
                //entry.SSHConnection.UserName = cmndNode.ReadXmlElementAttr("userName", "");
                //entry.SSHConnection.Password = cmndNode.ReadXmlElementAttr("password", "");
                //entry.SSHConnection.PrivateKeyFile = cmndNode.ReadXmlElementAttr("privateKeyFile", "");
                //entry.SSHConnection.PassPhrase = cmndNode.ReadXmlElementAttr("passPhrase", "");
                //entry.SSHConnection.Persistent = cmndNode.ReadXmlElementAttr("persistent", false);

                entry.Name = cmndNode.ReadXmlElementAttr("name", "");

                XmlNode commandStringNode = cmndNode.SelectSingleNode("commandString");
                entry.CommandString = cmndNode.InnerText;

                XmlNode alertTriggersNode = cmndNode.SelectSingleNode("alertTriggers");
                entry.ValueReturnType          = SSHCommandValueReturnTypeConverter.FromString(alertTriggersNode.ReadXmlElementAttr("valueReturnType", "RawValue"));
                entry.ValueReturnCheckSequence = CollectorAgentReturnValueCompareEngine.CheckSequenceTypeFromString(alertTriggersNode.ReadXmlElementAttr("checkSequence", "EWG"));

                XmlNode successNode = alertTriggersNode.SelectSingleNode("success");
                entry.SuccessMatchType    = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(successNode.ReadXmlElementAttr("matchType", "Match"));
                entry.SuccessValueOrMacro = successNode.ReadXmlElementAttr("value", "[any]");

                XmlNode warningNode = alertTriggersNode.SelectSingleNode("warning");
                entry.WarningMatchType    = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(warningNode.ReadXmlElementAttr("matchType", "Match"));
                entry.WarningValueOrMacro = warningNode.ReadXmlElementAttr("value", "0");

                XmlNode errorNode = alertTriggersNode.SelectSingleNode("error");
                entry.ErrorMatchType    = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(errorNode.ReadXmlElementAttr("matchType", "Match"));
                entry.ErrorValueOrMacro = errorNode.ReadXmlElementAttr("value", "[null]");

                Entries.Add(entry);
            }
        }
Ejemplo n.º 2
0
        public void FromXml(string configurationString)
        {
            XmlDocument config = new XmlDocument();

            config.LoadXml(configurationString);
            Entries.Clear();
            XmlElement root = config.DocumentElement;

            //version 5 config
            foreach (XmlElement carvceEntryNode in root.SelectNodes("carvcesEntries/carvceEntry"))
            {
                XmlNode dataSourceNode = carvceEntryNode.SelectSingleNode("dataSource");
                SSHCommandCollectorConfigEntry sshEntry = new SSHCommandCollectorConfigEntry();
                sshEntry.Name            = dataSourceNode.ReadXmlElementAttr("name", "");
                sshEntry.PrimaryUIValue  = dataSourceNode.ReadXmlElementAttr("primaryUIValue", false);
                sshEntry.OutputValueUnit = dataSourceNode.ReadXmlElementAttr("outputValueUnit", "");
                sshEntry.SSHConnection   = SSHConnectionDetails.FromXmlElement((XmlElement)dataSourceNode);


                XmlNode stateQueryNode = dataSourceNode.SelectSingleNode("stateQuery");
                sshEntry.ValueReturnType = SSHCommandValueReturnTypeConverter.FromString(stateQueryNode.ReadXmlElementAttr("valueReturnType", "RawValue"));
                sshEntry.CommandString   = stateQueryNode.InnerText;

                XmlNode testConditionsNode = carvceEntryNode.SelectSingleNode("testConditions");
                if (testConditionsNode != null)
                {
                    sshEntry.ReturnCheckSequence = CollectorAgentReturnValueCompareEngine.CheckSequenceTypeFromString(testConditionsNode.ReadXmlElementAttr("testSequence", "gwe"));
                    XmlNode goodScriptNode = testConditionsNode.SelectSingleNode("success");
                    sshEntry.GoodResultMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(goodScriptNode.ReadXmlElementAttr("testType", "match"));
                    sshEntry.GoodValue           = goodScriptNode.InnerText;

                    XmlNode warningScriptNode = testConditionsNode.SelectSingleNode("warning");
                    sshEntry.WarningResultMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(warningScriptNode.ReadXmlElementAttr("testType", "match"));
                    sshEntry.WarningValue           = warningScriptNode.InnerText;

                    XmlNode errorScriptNode = testConditionsNode.SelectSingleNode("error");
                    sshEntry.ErrorResultMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(errorScriptNode.ReadXmlElementAttr("testType", "match"));
                    sshEntry.ErrorValue           = errorScriptNode.InnerText;
                }
                else
                {
                    sshEntry.ReturnCheckSequence = CollectorAgentReturnValueCheckSequence.GWE;
                }

                Entries.Add(sshEntry);
            }
        }