服务是否可以通知Puppet中的另一个资源?

服务是否可以通知Puppet中的另一个资源?,puppet,puppet-enterprise,Puppet,Puppet Enterprise,我正在尝试获取通知另一资源的服务,即 service { 'x': notify => Exec['y'], } 有人知道在触发此通知的场景中会发生什么吗?似乎启动/停止会通知exec,但我似乎找不到任何关于这方面的文档 有人知道在触发此通知的场景中会发生什么吗 由于没有管理服务[x]的属性,因此不应触发该特定通知 关于事件信令,服务资源没有什么特别之处。与任何其他类型的资源一样,如果服务资源的至少一个托管属性成功更改为同步,则服务资源会通知侦听器 似乎启动/停止会通知exe

我正在尝试获取通知另一资源的服务,即

service { 'x': 
  notify    => Exec['y'],
}
有人知道在触发此通知的场景中会发生什么吗?似乎启动/停止会通知exec,但我似乎找不到任何关于这方面的文档

有人知道在触发此通知的场景中会发生什么吗

由于没有管理服务[x]的属性,因此不应触发该特定通知

关于事件信令,服务资源没有什么特别之处。与任何其他类型的资源一样,如果服务资源的至少一个托管属性成功更改为同步,则服务资源会通知侦听器

似乎启动/停止会通知exec,但我似乎找不到任何关于这方面的文档

如果服务最初已停止,但它是使用Sure=>running指定的,则其Sure属性最初不同步。Puppet通过启动服务来同步该属性。这构成了对托管属性的更改,因此它会生成一个事件。这方面的一般规则记录在Puppet语言文档的一节中

然而,并非给定资源声明的所有属性都对应于托管属性。例如,notify没有。在目标系统上没有持久表示的属性称为参数。因为它们在目标上没有持久表示,所以参数既不能不同步也不能同步,因此没有事件通知与它们关联,每个内置类型的属性都是属性的Puppet文档。例如,服务资源的属性仅为

确保 使可能 旗帜
但是,如果您理解属性和参数之间的区别,那么任何给定类型的任何给定属性都属于哪个类别通常是显而易见的。

这将是资源状态的变化。幂等不会触发通知。谢谢!这是否意味着:服务{'x':sure=>'stopped'notify=>Exec['y'],}将在sure属性更改时触发?是的,@AndyGu,根据该声明,如果服务[x]最初正在运行,因此Puppet停止了它,则会通知Exec[y]。另一方面,如果服务[x]最初停止,Puppet将不会对其进行任何操作,因此不会通知Exec。