【发布时间】:2022-01-11 12:04:38
【问题描述】:
在我制定 OpenAPI 规范之前,我需要一种方法来确保某些服务已经建立起来,并且它们的 URL 已在 GCP 中正式化 - 使用替换。 URL 相对动态,因为这种环境每晚都会被拆除。
我有一个解决方案是
import { helloWorldUrl } from './cloud-run/hello-world';
import { anotherHelloWorldUrl } from './cloud-run/another-hello-world-service';
import * as pulumi from '@pulumi/pulumi';
import * as fs from 'fs';
import * as Mustache from 'mustache';
pulumi.all([helloWorldUrl, anotherHelloWorldUrl])
.apply(([hello, another]) => {
let gatewayOpenAPI = fs.readFileSync('./api-gateway/open-api/gateway.yaml').toString();
gatewayOpenAPI = Mustache.render(gatewayOpenAPI, { helloWorldUrl: hello, anotherHelloWorld: another });
fs.writeFileSync(`./api-gateway/open-api/gateway-${pulumi.getStack()}.yaml`, gatewayOpenAPI);
// create api gateway infra here.
// cannot return outputs here :(
});
但这不允许我设置输出。有没有更优雅的解决方案?
干杯 KH
【问题讨论】:
标签: pulumi