public string this[ManagementPackOverrideableParameter parameter] { get { if (_results == null) { throw new InvalidOperationException("Call Apply method first."); } return(_results.ResultantConfigurationOverrides.ContainsKey(parameter) ? _results.ResultantConfigurationOverrides[parameter].EffectiveValue : defaultValues[parameter]); } }
internal string RunTestTask(string connectionString, string query) { ManagementPackClass AllManagementServersPoolClass = GetManagementPackClass("Microsoft.SystemCenter.Library", "Microsoft.SystemCenter.AllManagementServersPool"); IObjectReader <MonitoringObject> Targets = managementGroup.EntityObjects.GetObjectReader <MonitoringObject>(AllManagementServersPoolClass, ObjectQueryOptions.Default); EnterpriseManagementObject Target = Targets.First(); // Get the task. string TaskQuery = "Name = 'QueryOleDbMonitorTemplate.OLEDBMontiorTESTTask'"; ManagementPackTaskCriteria taskCriteria = new ManagementPackTaskCriteria(TaskQuery); IList <ManagementPackTask> tasks = managementGroup.TaskConfiguration.GetTasks(taskCriteria); ManagementPackTask task = null; if (tasks.Count == 1) { task = tasks[0]; } else { throw new InvalidOperationException( "Error! Expected one task with: " + query); } // Use the default task configuration. Microsoft.EnterpriseManagement.Runtime.TaskConfiguration config = new Microsoft.EnterpriseManagement.Runtime.TaskConfiguration(); //Get OleDbTriggerProbe module to override paramters ManagementPackModuleType OleDbTriggerProbeMoudule = managementGroup.Monitoring.GetModuleType("System.OleDbTriggerProbe", managementGroup.ManagementPacks.GetManagementPack(SystemManagementPack.System)); ManagementPackOverrideableParameter overrideConnecionStringParam = OleDbTriggerProbeMoudule.OverrideableParameterCollection["ConnectionString"]; ManagementPackOverrideableParameter overrideQueryParam = OleDbTriggerProbeMoudule.OverrideableParameterCollection["Query"]; config.Overrides.Add(new Pair <ManagementPackOverrideableParameter, string>(overrideConnecionStringParam, connectionString )); config.Overrides.Add(new Pair <ManagementPackOverrideableParameter, string>(overrideQueryParam, query )); //execute task IList <Microsoft.EnterpriseManagement.Runtime.TaskResult> result = managementGroup.TaskRuntime.ExecuteTask(Target, task, config); XmlDocument xd = new XmlDocument(); xd.LoadXml(result[0].Output); TestReportFactory reportTestFactory = new TestReportFactory(); return(GetTestResult(xd, reportTestFactory).UiText()); }