gpt4 book ai didi

Ansible 初学者 - 列表对象没有属性 'name'

转载 作者:行者123 更新时间:2023-12-05 09:07:25 28 4
gpt4 key购买 nike

我在循环 vars 时遇到问题,

- hosts: all
become: yes
vars:
user:
- name: "neito"
pubkey: "{{ lookup('file', '~/.ssh/vsphere_vm.pub') }}"
privkey: "{{ lookup('file', '~/.ssh/vsphere_vm') }}"
tasks:
- name: "Add SSH public key"
authorized_key:
user: "{{ item.name }}"
key: "{{ item.pubkey }}"
loop:
- "{{ user }}"

运行此剧本时出现以下错误:错误是:'list object' 没有属性 'name'

{{ item.name }} 似乎没有为 Ansible 定义,我想我在这里遗漏了一些明显的东西,但我找不到什么。 (我正在关注 this get started post

编辑 1:

通过像下面这样声明变量:

vars:
user:
{
name: "neito",
pubkey: "{{ lookup('file', '~/.ssh/vsphere_vm.pub') }}",
privkey: "{{ lookup('file', '~/.ssh/vsphere_vm') }}",
}

还有人可以指出为什么第一个语法不起作用吗?

最佳答案

问题出在 "{{ user }}" 前面的 - 破折号:

loop:
- "{{ user }}"

需要:

loop: "{{ user }}"

关于Ansible 初学者 - 列表对象没有属性 'name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64834097/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com