【发布时间】:2020-01-03 01:41:16
【问题描述】:
当从命令行调用pulumi up 或pulumi destroy 时,如何指示Pulumi 调用我的自定义Typescript 函数?
我尝试从主代码块调用我的函数,但它在 pulumi up 上被多次调用。
此外,有些命令我只想为up 调用,而其他一些命令只应为destroy 调用。
【问题讨论】:
标签: pulumi
当从命令行调用pulumi up 或pulumi destroy 时,如何指示Pulumi 调用我的自定义Typescript 函数?
我尝试从主代码块调用我的函数,但它在 pulumi up 上被多次调用。
此外,有些命令我只想为up 调用,而其他一些命令只应为destroy 调用。
【问题讨论】:
标签: pulumi
您只能在update 期间使用pulumi.runtime.isDryRun() 运行代码或函数。 Pulumi 目前没有公开挂钩生命周期事件的方法,但这在 https://github.com/pulumi/pulumi/issues/1691 的路线图上。
【讨论】:
如果你对这个被称为异步的函数没问题,你可以使用Pulumi Automation API 包装你的堆栈,并在invoking it using TypeScript 时提供onEvent 选项:
stack.up({
onEvent: (event) => {
if (event["preludeEvent"] !== undefined) {
// run something once before changing resources
return
}
},
})
destory期间也可以这样做
【讨论】: