dar*_*ren 8 json yaml amazon-web-services aws-cloudformation aws-cli
例如,我有一个需要这些参数的 CF 模板
----- cftemplate.yaml -----
...
Parameters:
**Subnet:
Description: Subnet for the Instance
Type: 'AWS::EC2::Subnet::Id'
SecurityGroups:
Description: Security Group for Instance
Type: 'List<AWS::EC2::SecurityGroup::Id>'**
...
Resources:
EC2Instance:
Type: AWS::EC2::Instance
Properties:
...
**SubnetId: !Ref Subnet
SecurityGroupIds: !Ref SecurityGroups**
...
----- cftemplate.yaml -----
Run Code Online (Sandbox Code Playgroud)
为了部署堆栈,我使用以下命令:
aws cloudformation create-stack --stack-name StackName --template-body file://cftemplate.yaml --parameters file://params.json
Run Code Online (Sandbox Code Playgroud)
其中 params.json 包含:
----- params.json -----
[
{
"ParameterKey":"Subnet",
"ParameterValue":"subnet-11111111"
},
{
"ParameterKey":"SecurityGroups",
"ParameterValue":"sg-111111111",
"ParameterValue":"sg-222222222"
}
]
----- params.json -----
Run Code Online (Sandbox Code Playgroud)
现在,我的目标是消除 .json 文件的使用。有谁知道该命令的简写语法应该达到与上述命令相同的效果?似乎无法在在线文档中找到此内容。提前致谢!
Mar*_*cin 17
等效的命令行是(为了清楚起见,稍微重新格式化):
aws cloudformation create-stack \
--stack-name StackName \
--template-body file://cftemplate.yaml \
--parameters ParameterKey=Subnet,ParameterValue=subnet-11111111 ParameterKey=SecurityGroups,ParameterValue=sg-111111111\\,sg-222222222
Run Code Online (Sandbox Code Playgroud)
在上面注意空格和逗号很重要。
我使用自己的参数和沙箱帐户验证了该命令:
aws cloudformation create-stack --stack-name StackName --template-body file://instance.yaml --parameters ParameterKey=Subnet,ParameterValue=subnet-0ae6ce0f9bbf52251 ParameterKey=SecurityGroups,ParameterValue=sg-06d2a3e9c8aa99620\\,sg-004d23d188ec1146f
Run Code Online (Sandbox Code Playgroud)
这是正确的,并导致开始部署堆栈的过程:
{
"StackId": "arn:aws:cloudformation:us-east-1:xxxxxx:stack/StackName/61fbacd0-d3b0-11ea-970a-0ad23187ddb2"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5054 次 |
| 最近记录: |