blob: b13d82df669d5a0812086cdfeb7acc0d0955ba6e [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package swarming
import (
"infra/libs/skylab/inventory"
)
func init() {
converters = append(converters, cr50Converter)
reverters = append(reverters, cr50Reverter)
}
func cr50Converter(dims Dimensions, ls *inventory.SchedulableLabels) {
if v := ls.GetCr50Phase(); v != inventory.SchedulableLabels_CR50_PHASE_INVALID {
dims["label-cr50_phase"] = []string{v.String()}
}
if v := ls.GetCr50RoKeyid(); v != "" {
dims["label-cr50_ro_keyid"] = []string{v}
}
if v := ls.GetCr50RoVersion(); v != "" {
dims["label-cr50_ro_version"] = []string{v}
}
if v := ls.GetCr50RwKeyid(); v != "" {
dims["label-cr50_rw_keyid"] = []string{v}
}
if v := ls.GetCr50RwVersion(); v != "" {
dims["label-cr50_rw_version"] = []string{v}
}
}
func cr50Reverter(ls *inventory.SchedulableLabels, d Dimensions) Dimensions {
if v, ok := getLastStringValue(d, "label-cr50_phase"); ok {
if cr50, ok := inventory.SchedulableLabels_CR50_Phase_value[v]; ok {
*ls.Cr50Phase = inventory.SchedulableLabels_CR50_Phase(cr50)
}
delete(d, "label-cr50_phase")
}
if v, ok := getLastStringValue(d, "label-cr50_ro_keyid"); ok {
*ls.Cr50RoKeyid = v
delete(d, "label-cr50_ro_keyid")
}
if v, ok := getLastStringValue(d, "label-cr50_ro_version"); ok {
*ls.Cr50RoVersion = v
delete(d, "label-cr50_ro_version")
}
if v, ok := getLastStringValue(d, "label-cr50_rw_keyid"); ok {
*ls.Cr50RwKeyid = v
delete(d, "label-cr50_rw_keyid")
}
if v, ok := getLastStringValue(d, "label-cr50_rw_version"); ok {
*ls.Cr50RwVersion = v
delete(d, "label-cr50_rw_version")
}
return d
}