如何在盐中将字典作为函数参数传递

how to pass a dict as function argument in salt

我需要使用

pip.installed

在 salt 中运行并传递一个参数

env_vars

具有多个参数,最终应呈现为 python 字典。如果只有一个参数并且参数期望的参数类型不是字典 i 那么就可以像这样传递它:

pip.installed:
  - env_vars: my_var

但我需要通过指令,但我不知道该怎么做。

它应该是这样的构造:

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

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

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

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

根据 Damian 的评论修改了格式。谢谢,达米安!

该答案不正确,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