Существует ли какой-либо модуль ansible, который позволяет запускать команды Python на хосте, как это делает модуль ansi ⇐ Python
Существует ли какой-либо модуль ansible, который позволяет запускать команды Python на хосте, как это делает модуль ansi
Иногда я не могу использовать встроенные функции ansible/jinja2, чтобы получить то, что хочу, поэтому я получаю это через bash.
Например, мне пришлось ввести вчерашнюю дату в формате гггг-мм-дд, и я нашел самый простой способ Ansible сделать ее слишком сложной, поскольку задача такая простая
- name: вывести вчерашнюю дату отлаживать: msg: "{{ '%Y-%m-%d'|strftime(ansible_date_time.epoch|int - 86400) }}" Поэтому я написал следующие задачи, чтобы получить его через Bash
- name: Зарегистрируйте вчерашнюю дату с помощью Bash. ansible.builtin.shell: командная строка: | echo "$(date -d 'вчера' '+%Y-%m-%d')" зарегистрироваться: вчера_дата_bash_echo_result - имя: Показать вчера_дата_bash_echo_result ansible.builtin.debug: msg: "yesterday_date_bash_echo_result.stdout — {{ вчера_дата_bash_echo_result.stdout }}" Теперь я хотел бы сделать то же самое с помощью Python, который еще более удобен в использовании, когда дело доходит до преобразования и форматирования строк (не сосредотачивайтесь, например, на получении вчерашней задачи с датой, подумайте о какой-нибудь конкретной подстановке регулярных выражений) .
Итак, команды Python для получения вчерашней даты, например:
из datetime импорта datetime, timedelta вчера = datetime.now() - timedelta(1) print( datetime.strftime(вчера, '%Y-%m-%d')) Как мне заставить мой контроллер-компьютер запускать их в задаче, чтобы я мог зарегистрировать выходные данные Python?
Мне нужно что-то вроде следующего:
- name: зарегистрировать вчерашнюю дату с помощью Python. ansible.builtin.shell: командная строка: | из даты и времени импорта даты и времени, timedelta вчера = datetime.now() - timedelta(1) print( datetime.strftime(вчера, '%Y-%m-%d')) - имя: Показать вчера_дата_python_echo_result ansible.builtin.debug: msg: "yesterday_date_python_echo_result.stdout — {{ вчера_дата_bash_echo_result.stdout }}" Есть ли какой-либо встроенный модуль ansible для достижения этой цели?
Иногда я не могу использовать встроенные функции ansible/jinja2, чтобы получить то, что хочу, поэтому я получаю это через bash.
Например, мне пришлось ввести вчерашнюю дату в формате гггг-мм-дд, и я нашел самый простой способ Ansible сделать ее слишком сложной, поскольку задача такая простая
- name: вывести вчерашнюю дату отлаживать: msg: "{{ '%Y-%m-%d'|strftime(ansible_date_time.epoch|int - 86400) }}" Поэтому я написал следующие задачи, чтобы получить его через Bash
- name: Зарегистрируйте вчерашнюю дату с помощью Bash. ansible.builtin.shell: командная строка: | echo "$(date -d 'вчера' '+%Y-%m-%d')" зарегистрироваться: вчера_дата_bash_echo_result - имя: Показать вчера_дата_bash_echo_result ansible.builtin.debug: msg: "yesterday_date_bash_echo_result.stdout — {{ вчера_дата_bash_echo_result.stdout }}" Теперь я хотел бы сделать то же самое с помощью Python, который еще более удобен в использовании, когда дело доходит до преобразования и форматирования строк (не сосредотачивайтесь, например, на получении вчерашней задачи с датой, подумайте о какой-нибудь конкретной подстановке регулярных выражений) .
Итак, команды Python для получения вчерашней даты, например:
из datetime импорта datetime, timedelta вчера = datetime.now() - timedelta(1) print( datetime.strftime(вчера, '%Y-%m-%d')) Как мне заставить мой контроллер-компьютер запускать их в задаче, чтобы я мог зарегистрировать выходные данные Python?
Мне нужно что-то вроде следующего:
- name: зарегистрировать вчерашнюю дату с помощью Python. ansible.builtin.shell: командная строка: | из даты и времени импорта даты и времени, timedelta вчера = datetime.now() - timedelta(1) print( datetime.strftime(вчера, '%Y-%m-%d')) - имя: Показать вчера_дата_python_echo_result ansible.builtin.debug: msg: "yesterday_date_python_echo_result.stdout — {{ вчера_дата_bash_echo_result.stdout }}" Есть ли какой-либо встроенный модуль ansible для достижения этой цели?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Не удалось найти код поддержки импортированного модуля для версии ansible ansible 2.9.27.
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Vagrant up не работает по SSH на хосте Linux, но работает на хосте Windows [закрыто]
Anonymous » » в форуме Linux - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-