Как заставить фильтр Ansible to_datetime работать внутри цикла с помощью переменных - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть список предметов с датами, которые нужно вычесть, чтобы вычислить количество дней.Проверьте ниже.

  - name: dump result
    debug:
      msg: "{{ ( (ansible_date_time.date|to_datetime('%Y-%m-%d')) - (item['date'] | to_datetime('%Y-%m-%d')) ).days  }}"
    with_items: "{{ key_val }}"

Кроме этого Вызывает следующую ошибку:

fatal: [localhost]: FAILED!=> {"msg": "поле 'args' имеет недопустимое значение ({u'msg ': u \" {{item [' date '] | to_datetime}} \ "}) и не может быть преобразовано вdict.The ошибка была: данные времени «Время начала» не соответствует формату «% Y-% m-% d% H:% M:% S» \ n \ nОшибка, по-видимому, была в / home / script.yml ': строка 26, столбец 7, но может \ n находиться в другом месте файла в зависимости от точной синтаксической проблемы. \ n \ nВредная строка выглядит так: \ n \ n \ n - имя: результат дампа \ n ^ здесь\ n "}

Даже если я запускаю его следующим образом, я получаю ту же ошибку:

msg: "{{ item['date'] | to_datetime }}"

Структура элемента ['date'] выглядит следующим образом:

"2019-02-21 15:33:17"

Если я использую строку и вручную отлаживаю ее с помощью сообщения msg, это работает:

"{{ ('2019-02-21 15:33:17' | to_datetime) }}"

Мне кажется, что когда я представляю переменную, она портится.Любой совет по использованию переменных?


Когда я запускаю:

- name: dump result
  debug:
    msg: "{{ item['date'] }}"
  with_items: "{{ key_val }}"

Я получаю:

ok: [localhost] => (item={'date': u'2019-02-21 10:13:02', 'id': u'7ae7ec89-1f59-4c89-8d56-36901c2c2d28'}) => {
    "msg": "2019-02-21 10:13:02"
}
ok: [localhost] => (item={'date': u'2019-02-21 10:20:11', 'id': u'b8374680-1305-4b08-b14c-ae31cd7a7ce7'}) => {
    "msg": "2019-02-21 10:20:11"
}
ok: [localhost] => (item={'date': u'2019-02-21 10:20:39', 'id': u'95521c1b-d2e0-4f8d-bb55-20a2509f5214'}) => {
    "msg": "2019-02-21 10:20:39"
}
ok: [localhost] => (item={'date': u'2019-02-21 10:20:44', 'id': u'caf668b1-f457-4efc-aa34-1a9f45218490'}) => {
    "msg": "2019-02-21 10:20:44"
}
ok: [localhost] => (item={'date': u'2019-02-21 10:20:47', 'id': u'0dc43b92-0eb2-4ee4-8889-15148c182c01'}) => {
    "msg": "2019-02-21 10:20:47"
}

1 Ответ

0 голосов
/ 25 февраля 2019

У некоторых из моих значений были фиктивные строки, которые не имели структуры% Y-% m-% d.Фиксированный и функциональный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...