var updateStatusInRiak = action.Action{ Name: "update-status-riak", Forward: func(ctx action.FWContext) (action.Result, error) { args := ctx.Params[0].(runContainerActionsArgs) var cont container.Container if ctx.Previous != nil { cont = ctx.Previous.(container.Container) } else { ncont, _ := args.provisioner.GetContainerByBox(args.box) cont = *ncont cont.Image = args.imageId } if err := cont.SetStatus(args.containerStatus); err != nil { return nil, err } return cont, nil }, Backward: func(ctx action.BWContext) { c := ctx.FWResult.(container.Container) c.SetStatus(provision.StatusError) }, } var createContainer = action.Action{ Name: "create-container", Forward: func(ctx action.FWContext) (action.Result, error) { cont := ctx.Previous.(container.Container) args := ctx.Params[0].(runContainerActionsArgs)