in gke-deploy/core/resource/resource.go [661:683]
func addToNestedMap(obj *Object, key, value string, override bool, nestedFields ...string) error {
mapField, ok, err := unstructured.NestedMap(obj.Object, nestedFields...)
if err != nil {
return fmt.Errorf("failed to get map field: %v", err)
}
if !ok {
mapField = make(map[string]interface{})
}
if existing, ok := mapField[key]; ok && !override {
if existing != value {
fmt.Fprintf(os.Stderr, "\nWARNING: Key %q is already set as %q for object %v in %v field. Not overriding.\n", key, existing, obj, strings.Join(nestedFields, "."))
}
} else {
mapField[key] = value
if err := unstructured.SetNestedMap(obj.Object, mapField, nestedFields...); err != nil {
return fmt.Errorf("failed to set map field: %v", err)
}
}
return nil
}