2017-08-14 257 views
0

我想使用Ansible來獲取有關AWS Ec2實例的信息。我真的在尋找它的Instance-ID。我將使用它來循環模板。但我似乎無法獲得實例ID。以下是我迄今爲止:將變量輸出存儲到變量

--- 
- 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 

我知道這是不正確的,當我運行此我得到:

「instanceId.instances.id」:「變量未定義」

有人可以告訴我一種方法來返回instanceId嗎?

回答

1

如果您第一次做某件事,請逐步做......理解裏面的內容。像:

- 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

明白了。感謝你 - 我一直這樣做,直到我得到了instancesId.instances,但並不完全確定如何拉動實例ID在這一點上,但這工作得很好:-) – ryekayo