Вот что я использую для вставки текста в wp-config:
- name: insert unique key and salts in wp-config
lineinfile:
path: /var/www/wordpress/wp-config.php
regex: "put your unique phrase here"
insertafter: "put your unique phrase here"
line: "{{ api_info }}"
Переменные api_info взяты из main.yml в разделе "дескрипторы":
- name: get API information for wp-config
uri:
url: "https://api.wordpress.org/secret-key/1.1/salt/"
return_content: yes
register: api_info
Проблема с этой настройкой в том, что вместо красиво отформатированных клавиш, которые предоставляет wordpress, я получаю текст ниже. Как видите, помимо самого контента есть еще и метаинформация. Также \ n не переводится в новую строку, а вставляется как таковая:
{'status': 200, 'cookies': {}, 'date': 'Thu, 25 Oct 2018 19:57:00 GMT', 'url': 'https://api.wordpress.org/secret-key/1.1/salt/',' transfer_encoding ':' chunked ',' changed ': False,' server ':' nginx ',' content ': "define (' AUTH_KEY ',' 7Y1} w1mmjo)) zyP (E, 0T @ eWLkD.bU1 :% WrS @ # Rj,% L + Pd @ JB [8 ^ /] aZHj! Wpz - '); \ ndefine (' SECURE_AUTH_KEY ',' 1e>3Msn1,~E/^.R}hx7R%GE}j/8q_;^qL|XcF|y#e2<Kr;:n%+BwW
Q $, U * 0% Na '); \ ndefine (' LOGGED_IN_KEY ','8UJMHPX @ VKfUF ~ l] + _ O0 (/ HTz3wCGT = - # $ ++]. BX Ry; A1 + yw => Acokm?) $ + Gneve + c db, / TQkR! 262-9> -m '); \ ndefine ('SECURE_AUTH_SALT', '#ni =. {7} [z3 / -ay * qb + boD2D ^ nVjTqjUsKr, @ 3ACUxL) .Un2K! Pf2 | &'); \ ndefine ('LOGGED_IN_SALT', '+ ;, | l, HNly (tA ^ bnPe7es1sKQg @ '); \ n ",' failed ': False,' connection ':' close ',' content_type ':' text / plain; charset = utf-8 ',' сообщение ':' OK (неизвестные байты) ',' redirected ': False,' x_frame_options ':' SAMEORIGIN ',' cookies_string ':' '}
То, что вы хотите, явно там, в api_info.content
, так что это то, что вы должны вставить.
line: "{{ api_info.content }}"