我可以在 AWS CloudFormation 启动 URL 中设置参数吗?
Can I set the parameters in an AWS CloudFormation launch URL?
我需要将我的用户指向他们需要 运行 的 cloudformation 堆栈,但我希望能够根据用户对其进行个性化设置。我读过 this,我想创建一个 URL,例如:
注意中间的"MyParam=blah"。用户仍然可以将参数更改为他们想要的任何参数,但我希望能够设置默认值。除了为每个用户编写自定义 Cloudformation 模板之外,还有其他想法吗?
[更新]:从 Jul 14 2017 开始,现在可以在提供给启动堆栈的 URL 查询参数中指定模板参数 URL。使用param_parameterName
格式指定模板参数,例如:
有关完整详细信息,请参阅 Creating Quick-Create Links for Stacks。
[原始答案,2017 年 2 月 10 日]:
无法通过 AWS CloudFormation 启动直接预设默认参数 URL。 stackName
和 templateURL
是仅有的两个由在此页面上执行的 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"))
}
这里有一些其他想法:
- 编写一些 server-side 代码,根据提供的查询参数动态呈现 CloudFormation 模板中 属性 的
Default
值,将呈现的模板上传到 S3 存储桶,然后重定向到 create-stack 页面,将 URL 提供给 newly-rendered 模板。
- 使用另一个接口 CreateStack API such as the AWS CLI
create-stack
,或构建您自己的 Web 接口以动态提供默认参数。
- 编写一个扩展控制台页面的自定义用户脚本/浏览器扩展,以解析额外的 URI 片段参数并将正确的值直接注入控制台输入字段。
- 要求 AWS 将对此功能的支持直接添加到他们的 URL 解析代码中。
您可以使用我们新的快速启动 URL 向 Cloudformation 控制台提供参数。它支持使用 param_Foo 语法的参数。
这里是示例APP的例子
请注意,这在设计上不支持 No Echo 参数的深度链接。
我需要将我的用户指向他们需要 运行 的 cloudformation 堆栈,但我希望能够根据用户对其进行个性化设置。我读过 this,我想创建一个 URL,例如:
注意中间的"MyParam=blah"。用户仍然可以将参数更改为他们想要的任何参数,但我希望能够设置默认值。除了为每个用户编写自定义 Cloudformation 模板之外,还有其他想法吗?
[更新]:从 Jul 14 2017 开始,现在可以在提供给启动堆栈的 URL 查询参数中指定模板参数 URL。使用param_parameterName
格式指定模板参数,例如:
有关完整详细信息,请参阅 Creating Quick-Create Links for Stacks。
[原始答案,2017 年 2 月 10 日]:
无法通过 AWS CloudFormation 启动直接预设默认参数 URL。 stackName
和 templateURL
是仅有的两个由在此页面上执行的 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"))
}
这里有一些其他想法:
- 编写一些 server-side 代码,根据提供的查询参数动态呈现 CloudFormation 模板中 属性 的
Default
值,将呈现的模板上传到 S3 存储桶,然后重定向到 create-stack 页面,将 URL 提供给 newly-rendered 模板。 - 使用另一个接口 CreateStack API such as the AWS CLI
create-stack
,或构建您自己的 Web 接口以动态提供默认参数。 - 编写一个扩展控制台页面的自定义用户脚本/浏览器扩展,以解析额外的 URI 片段参数并将正确的值直接注入控制台输入字段。
- 要求 AWS 将对此功能的支持直接添加到他们的 URL 解析代码中。
您可以使用我们新的快速启动 URL 向 Cloudformation 控制台提供参数。它支持使用 param_Foo 语法的参数。
这里是示例APP的例子
请注意,这在设计上不支持 No Echo 参数的深度链接。