2017-08-14 1 views
0

Je souhaite utiliser Ansible pour obtenir des informations sur une instance AWS Ec2. Je cherche vraiment son Instance-ID. Je vais l'utiliser pour faire défiler un modèle. Mais je n'arrive pas à obtenir l'ID d'instance. Voici ce que j'ai jusqu'à présent:Enregistrer la sortie de l'etable dans la variable

--- 
- name: Including Variables 
    include_vars: 
    file: Linux.yml 

- name: Gathering EC2 Facts 
    ec2_remote_facts: 
    aws_access_key: "{{ access_key }}" 
    aws_secret_key: "{{ secret_key }}" 
    region: us-east-1 
    filters: 
     "tag:Name": "{{ ansible_hostname }}" 
    register: instanceId 
- debug: var=instanceId.instances.id 

Je sais que cela est inexact que quand je lance ce que je reçois:

« instanceId.instances.id »: « VARIABLE non défini »

Quelqu'un peut-il me dire un moyen de retourner l'instanceId?

Répondre

1

Si vous faites quelque chose pour la première fois, faites-le progressivement ... Pour comprendre ce qu'il y a dedans. Comme:

- debug: var=instanceId 
# to see raw result and find out that `instances` is there 

- debug: var=instanceId.instances 
# to see what `instanses` is, and to see it is a list 

- debug: var=instanceId.instances[0] 
# to see the first element of the list and see it's properties 

- debug: var=instanceId.instances[0].id 
# to see instance ID 
+0

Vous l'avez. Merci pour cela - je le faisais jusqu'à ce que j'obtiens instancesId.instances mais je ne savais pas exactement comment tirer les identifiants de l'instance à ce stade, mais cela fonctionne plutôt bien :-) – ryekayo