lively-crayon-44649
11/09/2022, 11:04 AMorg/project/stack
? So basically a StackReference
but outside Pulumi?
My use case is I want to load the outputs of another stack, without having to know its relative path in my monorepo, before doing some setup (SSH tunnel) and then running another stack, all using Pulumi Automation. If that makes sense.millions-furniture-75402
11/09/2022, 1:37 PMpulumi stack init org/project-1/sandbox
pulumi stack select org/project-1/sandbox
pulumi up
pulumi stack output
https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/pulumi/automation/#Workspace-stackOutputslively-crayon-44649
11/09/2022, 2:29 PMselect
using LocalWorkspace
, which wants a path (and I can work around), but I'll dig into the API code and see if there's something more direct.millions-furniture-75402
11/09/2022, 2:33 PMexport class Gameserver {
public createStack = async (gameserverStackName: string, configMap: ConfigMap): Promise<any> => {
return await this.updateStack(gameserverStackName, configMap);
}
public destroyStack = async (gameserverStackName: string): Promise<any> => {
const stack = await this.selectStack(gameserverStackName);
const response = await stack.destroy({ onOutput: <http://console.info|console.info> });
await stack.workspace.removeStack(stack.name);
return response;
}
public redeployStack = async (gameserverStackName: string, configMap: ConfigMap): Promise<any> => {
const stack = await this.selectStack(gameserverStackName);
await stack.destroy({ onOutput: <http://console.info|console.info> });
return await this.updateStack(gameserverStackName, configMap);
};
public updateStack = async (gameserverStackName: string, configMap?: ConfigMap): Promise<any> => {
const stack = await this.selectStack(gameserverStackName);
if (configMap) {
await stack.setAllConfig(configMap);
}
return await stack.up({ onOutput: <http://console.info|console.info> });
};
public selectStack = async (gameserverStackName: string): Promise<any> => {
<http://console.info|console.info>(gameserverStackName);
const args: LocalProgramArgs = {
stackName: gameserverStackName,
workDir: upath.joinSafe(__dirname, ".."),
};
return await LocalWorkspace.createOrSelectStack(args);
};
}
lively-crayon-44649
11/09/2022, 2:52 PMworkDir
basically but it's not a dealbreakermillions-furniture-75402
11/09/2022, 2:54 PMlively-crayon-44649
11/09/2022, 3:04 PM