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