Как запустить код Python на хосте, как это делает модуль ansible.builtin.shell для Bash? ⇐ Python
Как запустить код Python на хосте, как это делает модуль ansible.builtin.shell для Bash?
Иногда я не могу использовать встроенные функции Ansible/Jinja2, чтобы получить то, что хочу, поэтому я получаю это через Bash.
Например, мне нужно было ввести вчерашнюю дату в формате гггг-мм-дд, и я нашел самый простой способ Ansible сделать ее слишком сложной, поскольку задача такая простая< /п> - name: напечатать вчерашнюю дату отлаживать: msg: "{{ '%Y-%m-%d'|strftime(ansible_date_time.epoch|int - 86400) }}" Поэтому я написал следующие задачи, чтобы получить его через Bash
- name: Зарегистрируйте вчерашнюю дату с помощью Bash. ansible.builtin.???: командная строка: | 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 import 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.???: командная строка: | 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 import 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
-