gpt4 book ai didi

amazon-web-services - 我可以在 AWS CloudFormation 启动 URL 中设置参数吗?

转载 作者:行者123 更新时间:2023-12-04 22:42:30 24 4
gpt4 key购买 nike

我需要将我的用户指向他们需要运行的 cloudformation 堆栈,但我希望能够根据用户对其进行个性化设置。我读过this我想创建一个如下 URL:

https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=SomeName&MyParam=blah&templateURL=https://s3.amazonaws.com/mytemplate.json

注意中间的“MyParam=blah”。用户仍然可以将参数更改为他们想要的任何参数,但我希望能够设置默认值。除了为每个用户编写自定义 Cloudformation 模板之外,还有什么想法吗?

最佳答案

[更新]:截至Jul 14 2017 ,现在可以在提供给启动堆栈 URL 的 URL 查询参数中指定模板参数。使用param_parameterName格式指定模板参数,例如:

https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?stackName=SomeName&param_MyParam=blah&templateURL=https://s3.amazonaws.com/mytemplate.json

参见Creating Quick-Create Links for Stacks了解完整详细信息。


[原始答案,2017 年 2 月 10 日]:

无法直接通过 AWS CloudFormation 启动 URL 预设默认参数。 stackNametemplateURL 是仅有的两个由在此页面上执行的 JavaScript 代码解析的 URI 片段组件。

引用当前CloudFormation Console JavaScript source为了确认这一点,特别是 CreateStackController 使用的 StackInfo 对象中的 parseRouteParams 函数:

this.parseRouteParams = function(a) {
a = _.reduce(a, function(a, b, d) {
a[d] = decodeURIComponent(b);
return a
}, a);
_.extend(this, _.pick(a, "stackName", "templateURL"))
}

以下是一些其他想法:

  • 编写一些服务器端代码,根据提供的查询参数动态呈现 CloudFormation 模板中属性的 Default 值,将呈现的模板上传到 S3 存储桶,然后重定向到创建-stack 页面提供新渲染模板的 URL。
  • 使用另一个接口(interface) CreateStack API例如 AWS CLI create-stack ,或构建您自己的 Web 界面以动态提供默认参数。
  • 编写自定义用户脚本/浏览器扩展,扩展控制台页面以解析其他 URI 片段参数,并将正确的值直接注入(inject)控制台输入字段。
  • 要求 AWS 直接在其 URL 解析代码中添加对此功能的支持。

关于amazon-web-services - 我可以在 AWS CloudFormation 启动 URL 中设置参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42151648/

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