gpt4 book ai didi

salt-stack - salt : What does [] mean?

转载 作者:行者123 更新时间:2023-12-03 12:43:19 24 4
gpt4 key购买 nike

这里的 Salt 中 [] 是什么意思?

httpd:
pkg.installed: []
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://httpd/httpd.conf
- require:
- pkg: httpd

来自 https://docs.saltstack.com/en/latest/ref/states/ordering.html#requisite-statements

我有足够的幻想来猜测其含义,但是......它是否记录在某处?

最佳答案

这只是一个不协调的 salt 开发人员不良文档习惯的示例,假设您知道过于灵活的 salt 状态树结构。

您需要了解 saltstack 中有很多快捷方式。以张贴的例子为例。

# you can write this "shorthand" to install httpd
# http are ID and also package name
httpd:
pkg.installed

# this do similar works. I specify a more descriptive ID
install-http-package:
pkg.installed:
- name: http

# this install httpd package together with other package. Again I use descriptive ID
install-web-app-pacakges:
pkg.installed:
- pkgs:
- httpd
- php5
- django

所以问题是关于第一级“id”。 Saltstack会遍历整棵yaml树,判断它是一个描述性的值,还是作为包名使用。

但是,解析需要符合某种格式,这样才不会失败。如果你过度使用速记,解析器会变得困惑。速记只处理 2 行值。

所以为了克服这个问题,传递了空列表值[]。然后解析器看到 [] 并同意它将描述性 ID httpd 作为包名称传递,并继续其他操作的其余部分。

其实“速记组”可以这样写。

# Use simple shorthand 
httpd:
pkg.installed

copy-customise-httpd.conf-to-server:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://httpd/httpd.conf
- require:
- pkg: httpd

过度速记没有任何好处。您只需节省几行输入。速记是 salt-stack yaml 配置学习曲线陡峭的原因之一。

还有一个使用包名作为 id 的问题:ID 必须是唯一的。如果由于一些琐碎的原因而重复使用它们,您可能会遇到一些错误。

关于salt-stack - salt : What does [] mean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36890850/

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