2016-11-11 3 views
0

i have rôle Route53 (http://docs.ansible.com/ansible/route53_module.html) et la tâche est:Ansible variable non définie

- name: "SET DNS record" 
    route53: 
    aws_access_key: "ACCESSKEY" 
    aws_secret_key: "SECRET" 
    command: "create" 
    zone: "{{ dns_zone }}" 
    hosted_zone_id: "{{ dns_zone_id }}" 
    record: "{{ item.dns_record }}" 
    type: "{{ item.dns_type }}" 
    ttl: "{{ item.dns_ttl }}" 
    value: "{{ item.dns_value }}" 
    failover: "{{item.failover}}" 
    health_check: "{{item.health_check}}" 
    identifier: "{{item.identifier}}" 
    with_items: 
    - "{{ dns_records }}" 

Exemple d'enregistrements DNS:

dns_records: 
    - dns_record: "try1.example.com" 
    dns_type: "A" 
    dns_ttl: "3600" 
    dns_value: "1.1.1.1" 
    failover: "PRIMARY" 
    health_check: "aeejas728asd" 
    identifier: "identifier01" 
    - dns_record: "try2.example.com" 
    dns_type: "A" 
    dns_ttl: "3600" 
    dns_value: "2.2.2.2" 

Si je lance le rôle de livret militaire échoue parce que la deuxième valeur ont basculement non défini, health_check et identifiant. Comment puis-je définir l'expression pour IF else?

Mon essai:

identifier: "{{item.identifier if item.identifier is defined else '!'}}" 

ne fonctionne pas. J'ai besoin de SI pas défini alors IGNORE VALUE.

Merci pour votre aide!

Répondre

1

De l'docs:

identifier: "{{item.identifier|default(omit)}}" 
+0

Un grand merci! Je suis absolument aveugle. – user2918879