gpt4 book ai didi

linux - 由于 v2.11 弃用而更改 ansible 循环

转载 作者:IT王子 更新时间:2023-10-29 00:20:05 25 4
gpt4 key购买 nike

我正在运行一个 playbook,它定义了几个要通过 apt 安装的包:

    - name: Install utility packages common to all hosts
apt:
name: "{{ item }}"
state: present
autoclean: yes
with_items:
- aptitude
- jq
- curl
- git-core
- at
...

我的系统最近的 ansible 更新现在呈现了关于上面的剧本的这条消息:

[DEPRECATION WARNING]: Invoking "apt" only once while using a loop via squash_actions is deprecated. Instead of
using a loop to supply multiple items and specifying `name: {{ item }}`, please use `name: [u'aptitude',
u'jq', u'curl', u'git-core', u'at', u'heirloom-mailx', u'sudo-ldap', u'sysstat', u'vim', u'at', u'ntp',
u'stunnel', u'sysstat', u'arping', u'net-tools', u'lshw', u'screen', u'tmux', u'lsscsi']` and remove the loop.

如果我理解正确的话,Ansible 现在需要这个包列表作为一个数组,留下这个:

name: [u'aptitude', u'jq', u'curl', u'git-core', u'at','heirloom-mailx', u'sudo-ldap', u'sysstat', u'vim', u'at', u'ntp',u'stunnel', u'sysstat', u'arping', u'net-tools', u'lshw', u'screen', u'tmux', u'lsscsi']

有没有更好的方法?看起来我会在 VIM 中永远滚动,试图维护它。或者,或者将其自动换行并处理包的词云。

最佳答案

您可以使用 YAML 样式对数组进行编码以使其更具可读性:

- name: Install utility packages common to all hosts
apt:
name:
- aptitude
- jq
- curl
- git-core
- at
state: present
autoclean: yes

关于linux - 由于 v2.11 弃用而更改 ansible 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52743147/

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