func (updater *ApplyResultUpdaterImpl) AddFailed() {
	atomic.AddUint32(&updater.Result.Failed, 1)
}
AddFailed safely increments the number of failed actions
package action
import (
	"fmt"
	"sync/atomic"
)
type ApplyResult struct {
	Success uint32
	Failed  uint32
	Skipped uint32
	Total   uint32
}
type ApplyResultUpdater interface {
	SetTotal(actions uint32)
	AddSuccess()
	AddFailed()
	AddSkipped()
	Done() *ApplyResult
}
type ApplyResultUpdaterImpl struct {
	Result *ApplyResult
}
func NewApplyResultUpdaterImpl() *ApplyResultUpdaterImpl {
	return &ApplyResultUpdaterImpl{
		Result: &ApplyResult{},
	}
}
func (updater *ApplyResultUpdaterImpl) SetTotal(total uint32) {
	atomic.StoreUint32(&updater.Result.Total, total)
}
func (updater *ApplyResultUpdaterImpl) AddSuccess() {
	atomic.AddUint32(&updater.Result.Success, 1)
}