список ами старше x дней / месяцев - PullRequest
0 голосов
/ 15 мая 2018

Кто-нибудь знает, возможно ли получить список AMI EC2 старше x месяцев (или дней) с помощью модуля ec2_ami_find?Пока у меня есть:

- name: ec2 find all
  ec2_ami_find:
    owner: self
    region: us-west-1
    sort: creationDate
    sort_order: descending
  register: ec2_ami

- name: test
  set_fact:
    date: "{{lookup('pipe','date +%Y%m%d%H%M%S -d \"180 day ago\"')}}"
    msg: "{{ ec2_ami | json_query('results[?creationDate<`{{ date }}`]') }}"

Однако, похоже, это не работает со мной.Что бы я ни указывал в команде date (180 дней, 1 день, 700 дней), он получает для меня точно такой же список AMI.

1 Ответ

0 голосов
/ 16 мая 2018

Это связано с интерполяцией строк и заменой переменной даты в директиве set_fact.Вот пример, также я использовал модуль ec2_ami_facts вместо ec2_ami_find, так как ec2_ami_find скоро будет устаревшим.

---

- hosts: localhost
  remote_user: me
  gather_facts: no
  connection: local

  tasks:
    - ec2_ami_facts:
        owner: self
        region: eu-central-1
      register: ec2_ami

    - set_fact:
        filter_date: "{{ lookup('pipe','date \"+%Y-%m-%d\" -d \"180 day ago\"') }}"

    - debug: var=filter_date

    - set_fact:
        filtered_ami: "{{ ec2_ami | json_query(\"images[?creation_date<=`\" + filter_date + \"`]\") }}"

    - shell: echo "{{ filtered_ami | length }} {{ ec2_ami.images | length }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...