include的使用
引用多个SLS的状态可以用include模块实现,include模块通常放在文件顶部,引用多个状态文件,一般在状态文件的开头使用。
需求场景:用于含有多个SLS的状态,使用include可以进行多个状态的组合
extend的使用
扩展某个SLS的状态可以使用extend实现,一般在基础的安装状态文件写好后,在项目中使用此安装状态时发现需要一些不是通用的特性时,可以使用extend扩展某个id的功能。
需求场景:软件包安装的时候,需求假设:只在node1上按装php-mbstring包,其他的机器不安装。
require与require_in的使用
require:我依赖谁
require_in:我被谁依赖
如果所依赖的id段没有执行成功,则require所在的id段不执行指令
需求场景:如果安装不成功或者配置httpd不成功,不启动httpd
watch与watch_in的使用
watch :我关注某个状态
watch_in: 我被某个状态关注
监控某个文件是否改变,如果改变则执行某个指令
unless的使用
状态间的条件判断,如果判断成功则不执行所在id下的额模块,判断失败则执行所在id下的模块。一般使用在没有幂等性的cmd.run模块下