func CreateOrGet()

in agentid/agentid.go [28:47]


func CreateOrGet(p persistence.Persistence) (string, error) {
	holder := idHolder{}
	val := p.Value(agentIdKey)
	err := val.Load(&holder)
	if err != nil && err != persistence.ErrNotFound {
		return "", err
	}
	if err == persistence.ErrNotFound {
		id, err := uuid.NewRandom()
		if err != nil {
			return "", err
		}
		holder.AgentId = id.String()
		err = val.Store(&holder)
		if err != nil {
			return "", err
		}
	}
	return holder.AgentId, nil
}