New in version 2018.3.0.
注
此功能正在开发中,将来的版本中可能会有变化
很多时候,在执行过程中存储命令的结果很有用。 Salt Slots 设计用于允许您存储此信息,并在以后执行highstate状态或其他作业的过程中再次使用。
Slots 扩展了state状态语法,并允许您在执行状态功能之前立即执行一些操作。 因此,您可以在执行状态之前的最后一刻做出决定。
注
使用执行模块的返回数据作为一个状态值是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中的目标参数和源参数。