Example #1
0
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)