in src/MIMConfigDocumenter/MIMServicePolicyDocumenter.cs [1317:1416]
protected void ProcessWorkflow()
{
Logger.Instance.WriteMethodEntry();
try
{
this.PrintSimpleSectionHeader(4);
// General Info
this.CreateSimpleMultivalueOrderedSettingsDiffgramDataSet();
this.FillSimpleMultivalueOrderedSettingsDiffgramDataSet(new KeyValuePair<string, string>[]
{
new KeyValuePair<string, string>("Resource Type", "ObjectType"),
new KeyValuePair<string, string>("Display Name", "DisplayName"),
new KeyValuePair<string, string>("Description", "Description"),
new KeyValuePair<string, string>("Workflow Type", "RequestPhase"),
new KeyValuePair<string, string>("Run On Policy Update", "RunOnPolicyUpdate"),
});
this.PrintSimpleSettingsSectionTable(new OrderedDictionary { { "General", 30 }, { string.Empty, 70 } }, HtmlTableSize.Large);
// Workflow Activties
this.CreateWorkflowActivityDetailsDataSets();
this.FillWorkflowActivityDetails(true);
this.FillWorkflowActivityDetails(false);
this.CreateWorkflowActivityAssemblyVersionDiffgramDataSet();
this.CreateWorkflowActivitySelectedOptionsDiffgramDataSet();
this.CreateWorkflowActivityMultiValuesDiffgramDataSet();
this.CreateWorkflowActivityValueExpressionsDiffgramDataSet();
this.CreateWorkflowActivityUpdateExpressionsDiffgramDataSet();
foreach (DataRow row in this.DiffgramDataSets[0].Tables[0].Rows)
{
this.WriteBreakTag();
var activityIndex = (int)row["ActivityIndex"];
var activityType = (string)row["Activity Type"];
this.PrintWorkflowAssemblyVersion(activityIndex);
this.PrintWorkflowSelectedOptions(activityIndex);
switch (activityType)
{
case "QAAuthenticationGate":
this.PrintWorkflowActivityMultiValuesTable(activityIndex, new OrderedDictionary { { "QAGate Questions", 100 } });
break;
case "VerifyRequest":
this.PrintWorkflowActivityValueExpressionsTable(activityIndex, 1, "Contitions", new OrderedDictionary { { "Required Condition for the Request", 50 }, { "Denial Message if Condition is not Satisfied", 50 } });
break;
case "CreateResource":
this.PrintWorkflowActivityValueExpressionsTable(activityIndex, 1, "Query Resources", new OrderedDictionary { { "Query Key", 20 }, { "XPath Filter", 80 } });
this.PrintWorkflowActivityValueExpressionsTable(activityIndex, 2, "Attributes", new OrderedDictionary { { "Source Expression", 70 }, { "Target", 30 } });
break;
case "UpdateResources":
this.PrintWorkflowActivityValueExpressionsTable(activityIndex, 1, "Query Resources", new OrderedDictionary { { "Query Key", 20 }, { "XPath Filter", 80 } });
this.PrintWorkflowActivityValueExpressionsTable(activityIndex, 2, "Updates", new OrderedDictionary { { "Source Expression", 70 }, { "Target", 25 }, { "Allow Null", 5 } });
break;
case "GenerateUniqueValue":
this.PrintWorkflowActivityValueExpressionsTable(activityIndex, 1, "LDAP Queries", new OrderedDictionary { { "Directory Entry Path", 35 }, { "LDAP Filter", 65 } });
this.PrintWorkflowActivityMultiValuesTable(activityIndex, new OrderedDictionary { { "UniqueValue Expression", 100 } });
break;
case "RunPowerShellScript":
this.PrintWorkflowActivityValueExpressionsTable(activityIndex, 1, "Parameters", new OrderedDictionary { { "Parameter", 30 }, { "Value Expression", 70 } });
this.PrintWorkflowActivityMultiValuesTable(activityIndex, new OrderedDictionary { { "Arguments", 100 } });
break;
case "DeleteResources":
case "AddDelay":
case "SendEmailNotification":
case "RequestApproval":
case "PWResetActivity":
case "ApprovalActivity":
case "FilterValidationActivity":
case "FunctionActivity":
case "GroupValidationActivity":
case "EmailNotificationActivity":
case "RequestorValidationActivity":
case "SynchronizationRuleActivity":
case "CreateResourceActivity":
case "ReadResourceActivity":
case "UpdateResourceActivity":
case "DeleteResourceActivity":
case "PAMRequestHandlerActivity":
case "AddUserToGroupActivity":
case "PAMRequestValidationActivity":
case "PAMRequestMFASequenceActivity":
case "PAMRequestApprovalSequenceActivity":
case "PAMRequestDelayedValidationSequenceActivity":
case "PAMRequestAvailabilityWindowValidationActivity":
case "PasswordCheckGate":
case "LockoutGate":
break;
default:
this.PrintWorkflowActivityUnhandledWarning(activityType);
break;
}
}
}
finally
{
Logger.Instance.WriteMethodExit();
}
}