** restart the application or service **/ var restartComponent = action.Action{ Name: "restartcomponent", Forward: func(ctx action.FWContext) (action.Result, error) { var app global.Component switch ctx.Params[0].(type) { case global.Component: app = ctx.Params[0].(global.Component) case *global.Component: app = *ctx.Params[0].(*global.Component) default: return nil, errors.New("First parameter must be App or *global.Component.") } ctype := strings.Split(app.ToscaType, ".") app.Command = "stop " + ctype[2] + "; " + "start " + ctype[2] return ComponentCommandExecutor(&app) }, Backward: func(ctx action.BWContext) { log.Info("[%s] Nothing to recover") }, MinParams: 1, } /** ** start the application or service **/ var startComponent = action.Action{ Name: "startcomponent", Forward: func(ctx action.FWContext) (action.Result, error) { var app global.Component