Всем привет! Я опять с дурацким вопросом 🙂 Не могу понять,

как переделать в этом таске условие, что бы если какой то праметр был у меня в инвентри, то использовался бы он, если же нет - то срабатывал бы рандом


- name: Install backup cron daily
cron:
name: "rsnapshot_mysql_backup_{{ item.local_backup_alias }}_daily"
minute: "{{ 59 | random ( seed = item.seed | default (item.local_backup_alias | default ('')) + 'daily' ) | string }}"
hour: "{{ 23 | random ( seed = item.seed | default (item.local_backup_alias | default ('')) + 'daily' ) | string }}"
job: "/data/bin/{{ item.local_backup_alias | default ('') }}-cron.sh daily 2> /data/{{ item.local_backup_alias | default ('') }}/tmp/cron.log"
with_items: "{{ rsnapshot_local_backup | default([]) }}"
tags: [ "rsnapshot_configure", "rsnapshot", "rsnapshot_cron" ]


Конкретно в hour.



hour: "{{ 23 | random ( seed = item.seed | default (item.local_backup_alias | default ('')) + 'daily' ) | string }}"


То есть тут надо сделать условие типа {{ item.cron_daily_hour or 23 | random ( seed = item.seed | default (item.local_backup_alias | default ('')) + 'daily' ) | string

Такое вообще возможно, или надо всё-таки сделать два отдельных таска и проверять наличие условия?

4 ответов

10 просмотров

Проще ошибку выдавать или дефолтное значение, чем городить такой огород.

Напили промежуточную переменную через set, а её уже подставляй как угодно.

Elina-Linko Автор вопроса
Elina-Linko Автор вопроса

Сработала такая конструкция: minute: "{{ item.daily_minute if item.daily_minute is defined else 59 | random ( seed = item.seed | default (item.local_backup_alias | default ('')) + 'daily' ) | string }}" hour: "{{ item.daily_hour if item.daily_hour is defined else 23 | random ( seed = item.seed | default (item.local_backup_alias | default ('')) + 'daily' ) | string }}" Но меня она не очень устраивает. Мне хотелось всё это запихать в словарь глубже, но я не могу получить там доступ к элементу. - { backup_type: "mongo", backup_mongo_compress: 0, backup_mongo_pass: "xxx", backup_mongo_replicaset: "geo", backup_mongo_server_srv: geo.mongo, backup_script_log_level: "DEBUG", local_backup_alias: "geo", rsnapshot_backup_interval: [ { name: "hourly", count: "24" }, { name: "daily", count: "7", }, { name: "weekly", count: "3" }, { name: "monthly", count: "2" } ], daily_minute: "0", rsnapshot_backup_interval_use_hourly: true, use_backup_script: "mongo", } Мне бы хотелось запихать всё это, что бы выглядело так: { name: "daily", count: "7", minute "0"}, Но я не понимаю, как правильно написать доступ к элементу minute если name == daily?

Похожие вопросы

Обсуждают сегодня

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Вы когда из вики.... копировали, не обратили внимание на года(ы)? 😉 ==== если до 1917 года в Москве было около 15 000 легковых извозчиков, то к 1920 году их осталось 5 000, а ...
Igor Mitin
4
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
На счёт замены разрабов нейронами: Вряд-ли заказчик сможет нормально пояснить нейросети, чё он хочет. Они то человеку нормально пояснить не могут, не то что нейросети. Так что...
Alex Kom
1
Что я могу сказать? Погуглите получше - чтобы узнать: 1. Что будет стоить содержание машины 2. Что будет стоить содержании лошади. P.S. Моя мысль о том, повторюсь еще раз,...
Igor Mitin
1
Слушайте, а при создании навигации на Tailor рили нельзя определять активный пункт навигации, как в Static Pages?
Pavel Lautsevich
11
Господа, а как такое в миграцию засунуть?
Денис Александрович
12
Карта сайта