Private/AtomicClassSchema.ps1
class AtomicDependency { [String] $description [String] $prereq_command [String] $get_prereq_command } class AtomicInputArgument { [String] $description [String] $type [String] $default } class AtomicExecutorBase { [String] $name [Bool] $elevation_required # Implemented to facilitate improved PS object display [String] ToString() { return $this.Name } } class AtomicExecutorDefault : AtomicExecutorBase { [String] $command [String] $cleanup_command } class AtomicExecutorManual : AtomicExecutorBase { [String] $steps [String] $cleanup_command } class AtomicTest { [String] $name [String] $auto_generated_guid [String] $description [String[]] $supported_platforms # I wish this didn't have to be a hashtable but I don't # want to change the schema and introduce a breaking change. [Hashtable] $input_arguments [String] $dependency_executor_name [AtomicDependency[]] $dependencies [AtomicExecutorBase] $executor # Implemented to facilitate improved PS object display [String] ToString() { return $this.name } } class AtomicTechnique { [String[]] $attack_technique [String] $display_name [AtomicTest[]] $atomic_tests } |