地味に困ったので、メモ。
以下みたいなCloudFormationのテンプレートを作成時。
AWSTemplateFormatVersion: 2010-09-09 Parameters: (略) SecurityGroupIdsParm: Description: Select SecurityGroupIds Type: 'List<AWS::EC2::SecurityGroup::Id>' (略) Resources: EC2Instance: Type: 'AWS::EC2::Instance' Properties: (略) NetworkInterfaces: - AssociatePublicIpAddress: false DeleteOnTermination: true DeviceIndex: 0 SubnetId: Ref: SubnetIdParm PrivateIpAddress: Ref: PrivateIpAddressParm GroupSet: Ref: SecurityGroupIdsParm (略)
SecurityGroupIdsParm
のパラメータには、複数のセキュリティグループidを与えたいですが、CLIからそれを実行する方法が分からなかった。AWSコンソールからは、プルダウンが表示されるので、それを選択すれば良いわけですが、CLIではどうすればいいのか。
knowledgeが公開されていました。普通にカンマ区切りにしろ、と。
AWS CLI の create-stack コマンドを使用して、list パラメータータイプに複数の値を渡す
> aws cloudformation create-stack --stack-name NewStackName --template-url (テンプレートのURL) --parameters ParameterKey=SecurityGroupIdsParm,ParameterValue=\"SecurityGroup1,SecurityGroup2\"
これでOK。