从.txt文件/ s3存储桶中获取cloudformation参数

时间:2016-12-20 07:22:13

标签: amazon-web-services amazon-cloudformation

我想将输入参数从文本文件传递给cloudformation属性,或者将文本文件保存在s3存储桶中,并将s3 URL指向CF属性。

请告诉我这是否可行?如果是,该怎么办?

2 个答案:

答案 0 :(得分:0)

如果您使用AWS管理控制台创建CloudFormation堆栈,则无法实现,但如果您使用AWS CLI,则可以。使用以下格式之一将参数保存到文本文件(例如parameters.txt)中:

简写:

ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean ...

JSON:

[
 {
   "ParameterKey": "string",
   "ParameterValue": "string",
   "UsePreviousValue": true|false
 }
 ...
]

然后使用AWS CLI命令cloudformation create-stack,例如:

aws cloudformation create-stack --stack-name <YourStackName> \
  --template-body file://<YourTemplateFileName.ext> \
  --parameters file://parameters.txt

不幸的是,似乎--parameters不能直接引用S3存储桶,只能引用本地文件或内联参数。

答案 1 :(得分:0)

请参阅使用s3网址传递的此博客参数:

https://aws.amazon.com/blogs/devops/passing-parameters-to-cloudformation-stacks-with-the-aws-cli-and-powershell/

也试试这个:

{
    "permissions": {
        "auth.add_user" : True,
        "auth.add_group" : True,
        "auth.add_userproxy" : False,
        "auth.change_group" : False,
        "auth.change_user" : True,
        "auth.delete_permission" : False,
        "evidence.view_all_customers" : False,
        "contenttypes.add_contenttype" : True,
        "evidence.view_all_demands" : False,
        "evidence.delete_supplier" : True,
    }
}