Bir listeye eklemek veya Ansible'daki bir sözlüğe anahtar eklemek için jina2 şablon ifadesini kullanmaktan daha iyi bir yöntem var mı?
Böyle bir şey yapabileceğini biliyorum:
- name: this is a hack
shell: echo "{% originalvar.append('x') %}New value of originalvar is {{originalvar}}"
ama bunu yapacak bir meta görevi veya yardımcısı yok mu?
Kırılgan hissediyor, belgelenmemiş gibi görünüyor ve değişkenlerin Ansible'da nasıl çalıştığı hakkında pek çok varsayıma dayanıyor.
Kullanım durumum, her biri bir temel rolde (veritabanı sunucusu) bazı yapılandırmalar sağlaması gereken birden çok roldür (veritabanı sunucusu uzantıları). Db server config dosyasına bir satır eklemek kadar basit değildir; her değişiklik aynı satıra uygulanır , örneğin uzantılar bdr
ve pg_stat_statements
her ikisi de hedef satırda görünmelidir:
shared_preload_libaries = 'bdr, pg_stat_statements'
Bunu yapmanın Ansible yolu, yalnızca config dosyasını birden çok kez (uzantı başına bir kez) işlemek için geçerli değeri çıkaran, ayrıştıran ve sonra yeniden yazan bir regexp mi? Öyleyse, bu idrarı birden fazla çalıştırmada nasıl başarılı kılıyorsunuz?
Yapılandırma ayrıştırmak daha zor ise ve başka bir virgülle ayrılmış değer eklemek kadar basit değilse ne olur? XML yapılandırma dosyalarını düşünün.