Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以使用';如果';在salt中安装包时的语句_Python_Salt Stack - Fatal编程技术网

Python 是否可以使用';如果';在salt中安装包时的语句

Python 是否可以使用';如果';在salt中安装包时的语句,python,salt-stack,Python,Salt Stack,我有一个packages.sls文件,其中包含部署期间要安装的软件包列表 是否可以添加if语句,并根据仆从的姓名决定是否安装软件包 以下是一个例子: zabbix-agent-removed: pkg.purged: - name: zabbix-agent - zabbix-agent: '<4.0.0' - ignore_epoch: True # add if not minion == XX, install the following one: za

我有一个
packages.sls
文件,其中包含部署期间要安装的软件包列表

是否可以添加
if
语句,并根据仆从的姓名决定是否安装软件包

以下是一个例子:

zabbix-agent-removed:
  pkg.purged:
    - name: zabbix-agent
    - zabbix-agent: '<4.0.0'
    - ignore_epoch: True

# add if not minion == XX, install the following one:
zabbix-agent-installed:
  pkg.installed:
    - name: zabbix-agent
    - zabbix-agent: '>=4.0.0'
    - ignore_epoch: True
    - require:
      - pkgrepo: zabbix-agent-repo-added
# end if here    

scikit-learn:
  pip.installed:
    - name: scikit-learn == 0.19.1
    - require:
      - pkg: python-pip
zabbix代理已删除:
包装:
-姓名:zabbix代理
-zabbix代理:'=4.0.0'
-忽略时代:正确
-要求:
-pkgrepo:zabbix代理回购已添加
#如果在这里结束
scikit学习:
已安装的pip.com:
-名称:scikit学习==0.19.1
-要求:
-pkg:python-pip
根据文档“是”:他们为您提供了一个如何操作的示例:

apache:
  pkg.installed:
    {% if grains['os'] == 'RedHat' %}
    - name: httpd
    {% elif grains['os'] == 'Ubuntu' %}
    - name: apache2
    {% endif %}

我建议您将“处理”(安装软件包)和“数据”(要安装的软件包)分开。 在盐中,第一个是状态,第二个是

安装软件包的状态可以简单到:

install_packages:
  pkg.installed:
    - pkgs: {{ salt['pillar.get']('packages', []) }}
然后您只需根据
颗粒['os']
将支柱设置为不同。支柱具有类似于州的
top.sls
目标系统。 您可以在此处或此处找到关于支柱的文档,以及关于目标的文档


您还可以决定使用社区维护的saltstack公式,该社区已经提供了此功能

谢谢。我在搜索时看到了那个页面,但是您知道是否可以添加“if”语句来包含所有这些块?所以如果某个变量等于某个输入,我不会安装任何东西?