Skip to content

Latest commit

 

History

History
35 lines (25 loc) · 1.54 KB

29.Slots.md

File metadata and controls

35 lines (25 loc) · 1.54 KB

Slots

New in version 2018.3.0.

此功能正在开发中,将来的版本中可能会有变化

很多时候,在执行过程中存储命令的结果很有用。 Salt Slots 设计用于允许您存储此信息,并在以后执行highstate状态或其他作业的过程中再次使用。

Slots 扩展了state状态语法,并允许您在执行状态功能之前立即执行一些操作。 因此,您可以在执行状态之前的最后一刻做出决定。

Execution functions

使用执行模块的返回数据作为一个状态值是Slots开发所实现的第一步。 其他功能正在开发中。

Slots允许您将远程执行功能的返回值用作状态中的参数值。

Slots语法看起来很接近简单的python函数调用。

__slot__:salt:<module>.<function>(<args>, ..., <kwargs...>, ...)

另外,语法中的某些细节来自执行功能的性质以及简化用户体验的需求。 第一个是您不需要引用传递给slots函数的字符串。 第二个是所有参数都作为字符串处理。

下面是一个简单的示例:

copy-some-file:
  file.copy:
    - name: __slot__:salt:test.echo(text=/tmp/some_file)
    - source: __slot__:salt:test.echo(/etc/hosts)

这将在调用状态之前立即执行 test.echo 这个execution功能函数。 该示例中的函数将返回/tmp/some_file和/etc/hosts字符串,这些字符串将用作状态函数file.copy中的目标参数和源参数。