public override ExecuteResult Execute(HandlerStartInfo startInfo) { ExecuteResult result = new ExecuteResult(); result.Status = StatusType.Success; int cheapSequence = 0; // TODO : Implement DryRun Functionality if (startInfo.IsDryRun) { throw new NotImplementedException("Dry Run Functionality Has Not Yet Been Implemented."); } OnProgress("DeleteFileHandler", "Handler Execution Begins.", StatusType.Running, 0, cheapSequence++); try { if (startInfo.Parameters != null) { parameters = HandlerUtils.Deserialize <DeleteFileHandlerParameters>(startInfo.Parameters); } bool isValid = Validate(); if (isValid) { if (parameters.Targets != null) { OnLogMessage("DeleteFileHandler", $"Starting Delete Of [{string.Join(",", parameters.Targets.ToArray())}]"); foreach (String target in parameters.Targets) { if (Utilities.IsDirectory(target)) { ZephyrDirectory dir = Utilities.GetZephyrDirectory(target, clients); dir.Delete(config.Recurse, config.StopOnError, config.Verbose, "DeleteFileHandler", Logger); } else { ZephyrFile file = Utilities.GetZephyrFile(target, clients); file.Delete(config.StopOnError, config.Verbose, "DeleteFileHandler", Logger); } } OnLogMessage("DeleteFileHandler", $"Finished Delete Of [{string.Join(",", parameters.Targets.ToArray())}]"); } } else { OnLogMessage("DeleteFileHandler", "Validation Failed.", LogLevel.Error); throw new Exception("Invalid Input Received"); } } catch (Exception e) { OnProgress("DeleteFileHandler", "Handler Execution Failed.", StatusType.Failed, 0, cheapSequence++, false, e); throw e; } OnProgress("DeleteFileHandler", "Handler Execution Completed.", StatusType.Complete, 0, cheapSequence++); return(result); }
public override object GetParametersInstance() { DeleteFileHandlerParameters parms = new DeleteFileHandlerParameters(); parms.Targets = new List <string>(); parms.Targets.Add(@"C:\MyDir\MyFile.txt"); parms.Targets.Add(@"C:\MyDir\MySubDir\"); parms.Targets.Add(@"\\server\share$\dir\file.dat"); parms.Targets.Add(@"s3://mybucket/dir/subdir/"); parms.Targets.Add(@"s3://mybucket/dir/dir2/MyFile.txt"); return(parms); }