La regla de Cloudwatch de Ansible informa invocaciones fallidas
Creé un AWS lambda que funciona bien cuando lo pruebo y cuando creo un trabajo cron manualmente a través de una regla de vigilancia en la nube.
Informa métricas como invocaciones (no fallidas) y también registra con detalles sobre la ejecución.
Luego decidí eliminar esa regla de vigilancia de nubes creada manualmente para crear una con ansible.
- name: Create lambda service.
lambda:
name: "{{ item.name }}"
state: present
zip_file: "{{ item.zip_file }}"
runtime: 'python2.7'
role: 'arn:aws:iam::12345678901:role/lambda_ecr_delete'
handler: 'main.handler'
region: 'eu-west-2'
environment_variables: "{{ item.env_vars }}"
with_items:
- name: lamda_ecr_cleaner
zip_file: assets/scripts/ecr-cleaner.zip
env_vars:
'DRYRUN': '0'
'IMAGES_TO_KEEP': '20'
'REGION': 'eu-west-2'
register: new_lambda
- name: Schedule a cloudwatch event.
cloudwatchevent_rule:
name: ecr_delete
schedule_expression: "rate(1 day)"
description: Delete old images in ecr repo.
targets:
- id: ecr_delete
arn: "{{ item.configuration.function_arn }}"
with_items: "{{ new_lambda.results }}"
Eso crea casi la misma regla de observación de nubes. La única diferencia que puedo ver con el creado manualmente es en los objetivos, la versión / alias lambda se establece en Predeterminado cuando se crea manualmente mientras se establece en versión, con un número de versión correspondiente cuando se crea con ansible.
La regla de vigilancia en la nube creada con ansible solo ha fallado en las invocaciones.
¿Alguna idea de por qué es esto? No puedo ver ningún registro. ¿Hay alguna manera de establecer la versión en Predeterminado también con el módulo cloudwatchevent_rule en ansible?