gpt4 book ai didi

aws-cdk - 使用 CDK cli 获取堆栈依赖项列表

转载 作者:行者123 更新时间:2023-12-04 13:26:24 27 4
gpt4 key购买 nike

是否可以使用 AWS CDK CLI 以某种方式获取另一个堆栈所依赖的堆栈列表?例如,给定一个类似于以下内容的堆栈列表:

const app = new App();
const alphaStack = new Stack(app);

const betaStack = new Stack(app);
betaStack.addDependency(alphaStack);

const gammaStack = new Stack(app);
gammaStack.addDependency(gammaStack);

const deltaStack = new Stack(app);
deltaStack.addDependency(betaStack);
deltaStack.addDependency(gammaStack);
我想运行一个命令,它可以给我类似于以下的输出:
$ cdk list-deps alpha-stack  # no result

$ cdk list-deps beta-stack
alpha-stack

$ cdk list-deps gamma-stack
alpha-stack

$ cdk list-deps delta-stack
beta-stack
gamma-stack
具体来说,我希望能够在部署堆栈之前运行它。

最佳答案

如果这对将来的任何人有帮助;以下似乎解决了我想解决的问题:

// the stack that we're interested in finding deps for
const stackName = "...";

// assuming app is as defined in the question
const { stacks } = app.synth();

stacks
.find(({ stackName }) => stackName === searchForStackName)
?.dependencies.forEach((dep) => console.log(dep.id));
注意事项:
  • 它显然不是 CLI 内置的,需要暴露 app来自您的 CDK 定义。
  • 这确实需要调用 synth在应用程序上。最初我的理解是,这会在 AWS 中创建一些我想避免的工件;但实际情况似乎并非如此。
  • 我不确定如何可靠/稳定 dep.id来自这个片段/答案。尽管到目前为止它对于我的目的来说已经足够强大,dependencies返回 CloudArtifact 的列表我不确定它是否总是代表 Stack .
  • 关于aws-cdk - 使用 CDK cli 获取堆栈依赖项列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68295094/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com