CloudFormation에서 조건문에 CommaDelimitedList형 변수를 사용할 때(yaml)
1794 단어 AWSCloudFormationtech
날과 씨
ENV
를 매개 변수로 가져오고 환경마다 변수EC2SGID<ENV>
를 사용합니다실패 예
Parameters:
ENV:
Type: String
AllowedValues:
- dev
- stg
- prd
EC2SGIDDev:
Type: CommaDelimitedList
Default: sg-hoge, sg-fuga
EC2SGIDStg:
Type: CommaDelimitedList
Default: sg-foo, sg-bar
EC2SGIDPrd:
Type: CommaDelimitedList
Default: sg-piyo, sg-baz
Resources:
HogeLaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateData:
# 省略
# この書き方だとエラーになる
SecurityGroupIds: !If [IsDev, !Ref EC2SGIDDev, !If IsStg, !Ref EC2SGIDStg, !Ref EC2SGIDPrd]
결실
전제 조건
컨텐트
AWSTemplateFormatVersion: '2010-09-09'
Description: hoge
Parameters:
ENV:
Type: String
AllowedValues:
- dev
- stg
- prd
EC2SGIDDev:
Type: CommaDelimitedList
Default: sg-hoge, sg-fuga
EC2SGIDStg:
Type: CommaDelimitedList
Default: sg-foo, sg-bar
EC2SGIDPrd:
Type: CommaDelimitedList
Default: sg-piyo, sg-baz
Conditions:
IsDev: !Equals [!Ref ENV, dev]
IsStg: !Equals [!Ref ENV, stg]
IsPrd: !Equals [!Ref ENV, prd]
Resources:
HogeLaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateData:
# 省略
# 入れ子で構文エラーを回避
SecurityGroupIds: !If [IsDev, !Ref EC2SGIDDev, !If [IsStg, !Ref EC2SGIDStg, !Ref EC2SGIDPrd]]
Reference
이 문제에 관하여(CloudFormation에서 조건문에 CommaDelimitedList형 변수를 사용할 때(yaml)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/nazniel/articles/ab459e637545ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)