Вы не установили aws_access_key
и aws_secret_key
в задаче "создание linux vm".
Как мне кажется, хранить учетные данные в Ansible (за исключением Ansible Vault )— плохая идея. Их лучше хранить в отдельном файле оболочки -и использовать перед запуском плейбука, например:
Файл с учетными данными,aws_testing_profile.sh
:
export AWS_ACCESS_KEY_ID=''
export AWS_SECRET_ACCESS_KEY=''
запустить плейбук:
source aws_testing_profile.sh
ansible-playbook -i inventory/testing/ my_playbook.yml
Конечно, вы можете хранить учетные данные в ~/.aws/credentials
, но мне это не нравится, потому что любая ваша команда будет иметь ваши права AWS без подтверждения.
Может быть, что-то вроде:
perl -0777 -pe '
s{<li>\s*<a\s[^>]*href="[^"]*latest-news\.(?:htm|php)"[^>]*>\s*Latest News\s*</a>\s*</li>}
{<!-- $& -->}g' your-file.htm
будет достаточно.
Обратите внимание, что если вы не включите многострочный -режим (с флагом m
), ^
соответствует только началу темы (каждому NUL -запись с разделителями с -0
, весь ввод с -0777
), а не начало любой строки в теме . Также обратите внимание, что \s
также соответствует символу новой строки. Используйте \h
, если вы хотите сопоставлять только горизонтальный интервал (, но AFAIK HTML не делает разницы между горизонтальным и вертикальным, NL и SPC взаимозаменяемы в том, что касается его синтаксиса, по крайней мере, за пределами таких вещей, как <pre>
, CDATA...
, значения атрибутов в кавычках.. ).
Чтобы избежать подстановки внутри уже прокомментированных разделов, вы можете сделать:
perl -0777 -pe '
s{(<!--.*?-->)|<li>\s*<a\s[^>]*href="[^"]*latest-news\.(?:htm|php)"[^>]*>\s*Latest News\s*</a>\s*</li>}
{$1 // "<!-- $& -->"}gse' your-file.htm