Remplacer une chaîne de caractères avec la regex à l'aide de remplacer le module dans Ansible

J'ai besoin de remplacer une chaîne de caractères avec app_name: <anything> à app_name: {{ node }}.

Il y a quelques erreur de syntaxe tout essayé de l'exécuter à l'aide de la remplacer le module ci-dessous:

remplacer: dest=/ABC/hybris/newrelic/newrelic.yml regexp='app_name:\s ([A-Za-z0-9 ] *" remplacer='app_name: "{{ noeud }}"'

Message D'Erreur:

[ansible@dev-ci ansible]$ ansible-playbook -i hosts_acc ACC.yml --tags=newrelic
ERROR! Syntax Error while loading YAML.


The error appears to have been in '/ABC/Ansible/roles/NewRelic_Base/tasks/main.yml': line 12, column 101, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- name: NewRelic - Replace app_name variable
  replace: dest=/ABC/hybris/newrelic/newrelic.yml regexp='app_name:\s[A-Za-z0-9 ]*' replace="app_name: {{ node }}"
                                                                                                    ^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes.  Always quote template expression brackets when they
start a value. For instance:

    with_items:
      - {{ foo }}

Should be written as:

    with_items:
      - "{{ foo }}"
Au lieu de replace, vous devez utiliser template et écrire la totalité de la chose.

OriginalL'auteur Jerald Sabu M | 2017-01-17