TestimoX

API Reference

Class

Rule

Namespace TestimoX.Definitions
Assembly TestimoX

Describe the rule to be run

Inheritance

  • Object
  • Rule

Constructors

Properties

public String Name { get; set; } #

Rule name

public PermissionRequired PermissionRequired { get; set; } #

Permission required to run the rule

public Boolean Enable { get; set; } #

Enable or disable the rule

public Scope Scope { get; set; } #

Scope of the rule

public Source Source { get; set; } #

Define the source of the rule

public List<Test> Tests { get; set; } #

Tests to run on the source

public ScriptBlock DataDescription { get; set; } #

Description of the data

public ScriptBlock DataHighlights { get; set; } #

Highlights of the data (table conditions)

public ScriptBlock DataDescriptionMarkdown { get; set; } #

Description of the data in Markdown format

public ScriptBlock Solution { get; set; } #

Resolution steps in HTML

public ScriptBlock SolutionMarkdown { get; set; } #

Resolution steps in Markdown format

public PowerShellModule[] RequiredModules { get; set; } #

Required PowerShell modules for the script to run

public String[] SupportedSystems { get; set; } #

Supported systems by the rule

public Nullable<PowerShellMethod> PreferredPowerShellMethod { get; set; } #

PowerShell method to run the script

public Category[] Category { get; set; } #

Categories associated with the rule

public String DisplayName { get; set; } #

Display name for the rule

public String Description { get; set; } #

Description of the rule

public RuleDataRequirements DataRequirements { get; set; } #

Optional data requirements for this rule. Used by the pre-execution planner to stage datasets once and reuse across multiple rules.

public RuleGuidance Guidance { get; set; } #

Optional inline guidance content (Summary/Why/How/References) for display in reports and export.

public String MatchProperty { get; set; } #

Optional property path used to match entries for inclusion/exclusion (e.g., "SamAccountName", "UserPrincipalName"). Applies to C# rules first; PS support can be added later.

public List<String> Inclusions { get; set; } #

Optional list of keys to include (acts as a pre-filter when provided).

public List<String> Exclusions { get; set; } #

Optional list of keys to exclude (excluded items will be shown in report but not counted in tests).

public ReportHints ReportHints { get; set; } #

Optional report hints that guide how typed results should be displayed (summary fields, sections). If not provided, the renderer falls back to smart flattening.

public Boolean IsDeprecated { get; set; } #

Indicates this rule is deprecated and kept for backward compatibility. Engines and UIs may highlight or hide deprecated rules.

public RuleVisibility Visibility { get; set; } #

Controls whether this rule should appear in interactive selectors and rule listings. Hidden rules stay discoverable programmatically (by explicit name) but are omitted from UX flows.

public List<RuleVendorRef> Crosswalk { get; set; } #

Optional inline crosswalk references to vendor baselines or external docs (PingCastle/PurpleKnight). Author in the rule source so maintainers can see mappings at a glance.

public List<String> Tags { get; set; } #

Free-form tags for rule filtering and UI search (e.g., "laps", "acl", "heavy").

public RuleCost Cost { get; set; } #

Rough execution cost hint used to exclude heavy rules in large environments.

public Nullable<ScoreKind> ScoreKind { get; set; } #

Optional default scoring domain for all tests in this rule. If not set, the scoring engine derives contribution from Category. Individual tests can override via ScoreKind.