Я, наконец, придумал это:
{{- with .Values.deployment.Id | int }}
{{- if eq . 63 }}_
{{- else if eq . 62 }}-
{{- else if gt . 51 }}{{- sub . 52 | printf "%c" }}
{{- else if gt . 25 }}{{- add . 71 | printf "%c" }}
{{- else }}{{- add . 65 | printf "%c" }}
{{- end }}
{{- end }}
Понимание, что я мог сделать порядковое преобразование через printf
, было большим моментом а-ха, и это прекрасно работает, пока значение для .Id isn '0. Если это так, весь блок просто пропускается. Кажется, это ограничение ключевого слова with
. Итак, я остался с этим:
{{- if eq (int .Values.deployment.Id) 63 }}_
{{- else if eq (int .Values.deployment.Id) 62 }}-
{{- else if gt (int .Values.deployment.Id) 51 }}{{- sub (int .Values.deployment.Id) 52 | printf "%c" }}
{{- else if gt (int .Values.deployment.Id) 25 }}{{- add (int .Values.deployment.Id) 71 | printf "%c" }}
{{- else }}{{- add (int .Values.deployment.Id) 65 | printf "%c" }}
{{- end }}
Что все еще немного уродливо, но лучше, чем огромный поиск.