-
[AWS] Cloudformation Conditions, AllowedPattern으로 파라미터 값 검사하기CLOUD/AWS 2022. 2. 15. 20:35반응형
Cloudformation
AllowedPattern으로 특정 패턴이 아니면 설정하지 않는 법
1. Default값을 설정하고, 특정 정규식과 Default값만 가능하게 AllowedPattern을 지정한다.
InboundIp: Type: String Default: unused AllowedPattern: "^[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[/][0-9]{1,2}$|^unused$"
2. Conditions 지정
Conditions: IsUnused: !Equals [!Ref InboundIp, "unused"]
Conditions는 Parameter, Metadata와 같은 줄에 생성해야 한다.
해당 String이 unused인지 아닌지를 확인하는 조건식이다3. 리소스 생성
Security Group을 예로 들면
// SecurityGroupInbounds리스트부분에 - !If - IsUnused # 해당 값이 true인지 false인지 Condition 확인 - !Ref AWS::NoValue # True이면 NoValue -> Security Group 설정하지 않겠다는 의미 - IpProtocol: all # False이면 Security Group 생성 FromPort: -1 ToPort: -1 CidrIp: !Ref InboundIp Description: !Ref EKSSecurityRule1IpName
List형식으로 되면 If문을 어떻게 걸어줘야 하나 했는데 다음과 같이 하면 된다.