in src/lib/cloudformationutils.ts [14:51]
export async function captureStackOutputs(
cloudFormationClient: CloudFormation,
stackName: string,
asJsonBlob: boolean,
asSecureVars: boolean
): Promise<void> {
const response = await cloudFormationClient
.describeStacks({
StackName: stackName
})
.promise()
try {
if (!response.Stacks) {
throw new Error('No stacks in response')
}
const stack = response.Stacks[0]
if (asJsonBlob) {
console.log(tl.loc('ProcessingStackOutputsToJsonBlobBuildVariable'))
const blob = JSON.stringify(stack.Outputs)
const varName = `${stackName}Outputs`
console.log(tl.loc('CreatingStackOutputVariable', varName))
tl.setVariable(varName, blob, asSecureVars)
} else {
console.log(tl.loc('ProcessingStackOutputsToBuildVariables'))
if (stack.Outputs) {
stack.Outputs.forEach(o => {
if (o.OutputKey) {
console.log(tl.loc('CreatingStackOutputVariable', o.OutputKey))
tl.setVariable(o.OutputKey, `${o.OutputValue}`, asSecureVars)
}
})
}
}
} catch (err) {
console.log(tl.loc('ErrorRetrievingStackOutputs', stackName, err))
}
}