Существует ли какой-либо модуль ansible, который позволяет запускать команды Python на хосте, как это делает модуль ansiPython

Программы на 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 для достижения этой цели?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»