我需要一些有关如何使用Ansible获取特定值的帮助
我的任务:
- name: 'check Describe Information'
debug:
var: describeresult.stdout
我需要从stdout下面获取IP地址值,应该在debug var中放入什么以获取IP地址
TASK [check Describe Information] **********************************************
task path: /home/tom/Getipaddress.yml:28
ok: [127.0.0.1] => {
"describeresult.stdout": {
"failures": [],
"tasks": [
{
"attachments": [
{
"details": [
{
"name": "subnetId",
"value": "subnet-xxxxxxxxxxxxxx"
},
{
"name": "networkInterfaceId",
"value": "eni-xxxxxxxxxxxxxxxx"
},
{
"name": "macAddress",
"value": "xxxxxxxxxxxxxxxxxx"
},
{
"name": "privateIPv4Address",
"value": "xxxxxxxxxxxxxxxxxx"
}
此外,我正在使用AWS ECS命令以--output
作为JSON生成上述输出,不确定如何使用--query
仅过滤或获取以上IP地址
- set_fact:
my_privateIPv4Address: "{{ describeresult.stdout.tasks|
json_query(query) }}"
vars:
query: "[].attachments[].details[?name=='privateIPv4Address'].value"
[json_query
默认返回列表。