从puppet修改现有资源

从puppet修改现有资源,puppet,devops,Puppet,Devops,我们正在为存储子系统实现一个puppet模块。我们正在实现自己的类型和提供程序,我们将拥有与存储子系统相关的卷、主机等类型 我们已经确保了我们的类型,创建和删除工作正常 我们的问题是,如何实现对现有资源的修改? 假设已经创建了一个卷资源,现在我想更改卷的过期时间,如何在我的提供程序中实现这一点? 是通过创建一个新的值,比如modify,还是有其他方法 如何实现对现有资源的修改?假设 卷资源已创建,现在我想更改 卷的过期时间,如何在我的 供应商?是通过创建一个新的值(如modify)来实现的,还是

我们正在为存储子系统实现一个puppet模块。我们正在实现自己的类型和提供程序,我们将拥有与存储子系统相关的卷、主机等类型

我们已经确保了我们的类型,创建和删除工作正常

我们的问题是,如何实现对现有资源的修改? 假设已经创建了一个卷资源,现在我想更改卷的过期时间,如何在我的提供程序中实现这一点? 是通过创建一个新的值,比如modify,还是有其他方法

如何实现对现有资源的修改?假设 卷资源已创建,现在我想更改 卷的过期时间,如何在我的 供应商?是通过创建一个新的值(如modify)来实现的,还是存在 还有别的办法吗

否,您不创建特殊的
确保
值。这将很难处理,因为它需要您的清单知道是否需要创建资源。请始终记住,清单描述了每个资源的目标状态,而不管它们的当前状态,甚至它们是否存在

然而,这里的自定义类型文档有点模糊,因为实现基本上是开放的。你可以做任何对你有意义的事。但有两种特别常见的模式:

  • 如果物理资源的属性不同步,提供者的属性设置器方法(也)会逐个属性修改它们

  • 提供程序实现,因此资源属性通过提供程序的
    flush
    方法直接或间接与系统同步


我不认为这是他问的问题,@MattSchuchard。他似乎想知道提供者的实现和修改物理资源,而不是DSL级的属性操作。@JohnBollinger我理解,但我的观点是,解释一种方法比回答“你不能/不应该这样做”要好。不,@MattSchuchard,我想你不明白。我是说你回答的问题与OP提出的问题不同。@JohnBollinger是的,这就是我对你的评论的意思,因此我确实理解,只是对行动方针有不同的看法,以及为什么我留下评论而不是写下我认为很糟糕的答案。是的,似乎我们可以使用flush方法来修改现有资源,在我们调用restapi的例子中,我们主要关心的是何时调用POST(创建)和何时调用PUT(修改)。现在我们考虑跟踪属性更改,并在flush方法中调用modify。