in gke-deploy/core/resource/resource.go [609:632]
func AddLabel(ctx context.Context, obj *Object, key, value string, override bool) error {
if key == "" || value == "" {
return fmt.Errorf("key and value cannot be empty")
}
if err := addToNestedMap(obj, key, value, override, "metadata", "labels"); err != nil {
return err
}
var nestedFields []string
switch kind := ObjectKind(obj); kind {
case "CronJob":
nestedFields = []string{"spec", "jobTemplate", "spec", "template", "metadata", "labels"}
case "DaemonSet", "Deployment", "Job", "ReplicaSet", "ReplicationController", "StatefulSet":
nestedFields = []string{"spec", "template", "metadata", "labels"}
default:
return nil
}
if err := addToNestedMap(obj, key, value, override, nestedFields...); err != nil {
return err
}
return nil
}