如何在盐中传递dict作为函数参数

时间:2015-01-11 04:55:30

标签: dictionary yaml salt-stack

我需要使用

pip.installed

在salt中运行并传递参数

env_vars

有多个参数,最终应该呈现给python字典。如果有一个参数并且参数期望除了字典之外的类型的参数然后可以像这样传递它是没关系的:

pip.installed:
  - env_vars: my_var

但我需要传递一个词典,我不知道该怎么做。

它应该是如下构造:

pip.installed:
  - env_vars:
    - my_var1: var_value
    - my_var2: var_value2

我应该如何检查我的配置实际呈现的形式是否正确?

2 个答案:

答案 0 :(得分:4)

答案不正确,Salt将发出警告。

pip.installed:
  - env_vars:
    my_var1: var_value
    my_var2: var_value2

Warnings: 'my_var2' and 'my_var1' are invalid keyword arguments for
          'pip.installed'. If you were trying to pass additional data to be
          used in a template context, please populate 'context' with 'key:
          value' pairs. Your approach will work until Salt Carbon is out.
          Please update your state files.

变量需要嵌套在另一个深层,如下所示:

pip.installed:
  - env_vars:
      my_var1: var_value
      my_var2: var_value2

答案 1 :(得分:-1)

字典没有破折号,只列出项目。

pip.installed:
  - env_vars:
      my_var1: var_value
      my_var2: var_value2

根据达米安的评论编辑格式。谢谢,达米安!

相关问题