func AddAnnotation()

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
}