Работа над выполнение действий секции, добавление комментариев
This commit is contained in:
parent
dc263b76bf
commit
91b1eea1d4
7 changed files with 300 additions and 41 deletions
|
|
@ -437,26 +437,30 @@ func GetSystemUsers() []string {
|
|||
return users
|
||||
}
|
||||
|
||||
// ExecuteAction выполняет указанное действие с использованием шаблонов из expr и картой параметров
|
||||
func ExecuteAction(action *types.SectionAction, application *types.PackageApplication) error {
|
||||
//Карта параметров
|
||||
vars := ParamsForCondition(application)
|
||||
switch action.Type {
|
||||
case "command":
|
||||
//Формируем строку команды по шаблону с подставленными значениями и передаем её для выполнения
|
||||
cmdStr, cmdErr := utils.RenderTemplate(action.Command, vars)
|
||||
if cmdErr != nil {
|
||||
return fmt.Errorf("ошибка создания шаблона команды: %v", cmdErr)
|
||||
return fmt.Errorf("не удалось создать шаблон команды: %v", cmdErr)
|
||||
}
|
||||
return utils.RunCommand(cmdStr, action.RunAs)
|
||||
case "file_template":
|
||||
//Формируем 2 строки пути, с подставленными значениями и передаем её для выполнения
|
||||
source, sourceErr := utils.RenderTemplate(action.FileSource, vars)
|
||||
if sourceErr != nil {
|
||||
return fmt.Errorf("ошибка создания шаблона файла источника: %v", sourceErr)
|
||||
return fmt.Errorf("не удалось создать шаблон файла источника: %v", sourceErr)
|
||||
}
|
||||
target, targetErr := utils.RenderTemplate(action.FileTarget, vars)
|
||||
if targetErr != nil {
|
||||
return fmt.Errorf("ошибка создания шаблона файла цели: %v", targetErr)
|
||||
return fmt.Errorf("не удалось создать шаблон файла цели: %v", targetErr)
|
||||
}
|
||||
return utils.RenderFileTemplate(source, target, vars)
|
||||
default:
|
||||
return fmt.Errorf("неизвестный тип действия")
|
||||
return fmt.Errorf("действие для выполнения '%s' не опознано", action.Type)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue