lib/actions/base/RemediationAction.ps1
|
############################################################################# # RemediationAction.ps1 - Base Remediation Action Class ############################################################################# # This class provides the base interface for all remediation actions. # Each concrete action must implement Execute() and GetManualCommands(). ############################################################################# class RemediationAction { [string]$Description [string]$Version [int]$Priority # Lower number = higher priority (for ordering) RemediationAction([string]$description, [string]$version) { $this.Description = $description $this.Version = $version $this.Priority = 50 # Default priority } # Execute the auto-fix action [bool] Execute([RepositoryState]$state) { throw "Execute must be implemented in derived class" } # Get manual fix command(s) - without comments by default [string[]] GetManualCommands([RepositoryState]$state) { throw "GetManualCommands must be implemented in derived class" } [string] ToString() { return "$($this.Description) for $($this.Version)" } } |