如何触发生命周期事件的自定义功能?

How to trigger custom function on lifecycle events?

当从命令行调用 pulumi uppulumi destroy 时,如何指示 Pulumi 调用我的自定义 Typescript 函数?

我尝试从主代码块调用我的函数,但它在 pulumi up 上被多次调用。

此外,有些命令我只想为 up 调用,而其他命令只应为 destroy 调用。

您只能在 update 期间使用 pulumi.runtime.isDryRun() 到 运行 代码或函数。 Pulumi 目前没有公开挂钩生命周期事件的方法,但这在 https://github.com/pulumi/pulumi/issues/1691.

的路线图上

如果您同意将此函数称为异步,则可以使用 Pulumi Automation API and provide onEvent option when invoking it using TypeScript:

包装您的堆栈
stack.up({
  onEvent: (event) => {
    if (event["preludeEvent"] !== undefined) {
      // run something once before changing resources
      return
    }
  },
})

destory

期间也可以这样做
  • github.com - 有关可用事件类型的更多详细信息。
  • dev.to - 关于使用pulumi自动化事件的详细博客