2021年8月4日水曜日

CloudFormationのyamlファイルの中で、jsonでの書き方を混ぜても動きます、という話

下のテンプレートで簡単なVPCとサブネットが作成されます。テスト用なのでパラメータ端折っています。

これを調べた動機は、他の人が書いたyamlテンプレートを見ていたらこのJSON混じりの書き方になっていたので、試してみた次第です。

VPCとsubnetに3つずつタグをつけていますが、VPCはyamlの記法で、subnetはJSONの記法で書いています。特に問題なく作成できますが、 JSONの [ { } ] という記法を間違えたりしそうです。

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

AWSTemplateFormatVersion: 2010-09-09
Description: Create VPC. Use JSON style of Tag list for the subnet.

Resources:
myVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
Tags:
- Key: stack
Value: production
- Key: Name
Value: VPC-name
- Key: Time
Value: when
mySubnet:
Type: AWS::EC2::Subnet
Properties:
VpcId:
Ref: myVPC
CidrBlock: 10.0.0.0/24
Tags: # JSON style works in YAML.
[
{ "Key": stack, "Value": production },
{ "Key": Name, "Value": subnet-name },
{ "Key": Time, "Value": when },
]

0 件のコメント:

コメントを投稿