/
left76
/
cli
Обзор
Документация
Войти
/
left76
/
cli
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
vendor/github.com/docker/swarmkit/api/genericresource/string.go
54 строки
1 KB
Renaud Gaubert
Revendored swarmkit
28 ноя 2017, 20:03
28 ноя 2017, 20:03
7843aec
Код
Авторство
О чём код?
package genericresource import ( "strconv" "strings" "github.com/docker/swarmkit/api" ) func discreteToString(d *api.GenericResource_DiscreteResourceSpec) string { return strconv.FormatInt(d.DiscreteResourceSpec.Value, 10) } // Kind returns the kind key as a string func Kind(res *api.GenericResource) string { switch r := res.Resource.(type) { case *api.GenericResource_DiscreteResourceSpec: return r.DiscreteResourceSpec.Kind case *api.GenericResource_NamedResourceSpec: return r.NamedResourceSpec.Kind } return "" } // Value returns the value key as a string func Value(res *api.GenericResource) string { switch res := res.Resource.(type) { case *api.GenericResource_DiscreteResourceSpec: return discreteToString(res) case *api.GenericResource_NamedResourceSpec: return res.NamedResourceSpec.Value } return "" } // EnvFormat returns the environment string version of the resource func EnvFormat(res []*api.GenericResource, prefix string) []string { envs := make(map[string][]string) for _, v := range res { key := Kind(v) val := Value(v) envs[key] = append(envs[key], val) } env := make([]string, 0, len(res)) for k, v := range envs { k = strings.ToUpper(prefix + "_" + k) env = append(env, k+"="+strings.Join(v, ",")) } return env }