我需要将用户指向他们需要运行的云信息堆栈,但我希望能够基于用户对其进行个性化设置。中间我可以在AWS CloudFormation启动URL中设置参数吗?
的通知“MyParam =嗒嗒”:我读过this,我想创建一个URL等。用户仍然可以将参数更改为任何他们想要的,但我希望能够设置默认值。任何想法,除了为每个用户编写自定义的Cloudformation模板?
我需要将用户指向他们需要运行的云信息堆栈,但我希望能够基于用户对其进行个性化设置。中间我可以在AWS CloudFormation启动URL中设置参数吗?
的通知“MyParam =嗒嗒”:我读过this,我想创建一个URL等。用户仍然可以将参数更改为任何他们想要的,但我希望能够设置默认值。任何想法,除了为每个用户编写自定义的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"))
}
这里有一些其他的想法:
Default
值,将呈现的模板上载到S3存储桶,然后重定向到c reate-stack页面将URL提供给新呈现的模板。create-stack
,或者构建您自己的Web界面以动态提供默认参数。您可以使用我们新的快速启动URL为Cloudformation控制台提供参数。它使用param_Foo语法支持参数。
下面是一个示例应用程序
请注意,这不支持深层链接的无回波参数,通过设计一个例子。
这就是我的想法。感谢您的彻底解答!我发现缩小了cloudformation的javascript源代码,但我无法挑选它在参数上做了什么。干得不错! –