2016-10-21 7 views
3

나는 다음을 수행하려고 해요. 일반적으로 사용자는 "InlineSubnetId"드롭 다운을 비워 두지 만 AWS 유형에 값이 필요하기 때문에 cloudformation 유효성 검사와 함께 작동하지 않습니다. 사용자가 AWS에서 제공 한 SubnetIds 중에서 선택할 수 있도록 문자열 유형을 사용할 수 없습니다.AWS Cloudformation 매개 변수 의존성

어떻게 해결할 수 있습니까?

  1. 유효성 검사를 무시하고 선택한 AWS 유형을 비워 둘 수있는 방법이 있습니까?
  2. "없음"과 같은 다른 옵션을 Subnet :: Id 목록에 추가하는 방법은 무엇입니까?
  3. 모드가 인라인 인 경우에만 inlineSubnetId 매개 변수를 숨기는 방법이 있습니까?
  4. 매개 변수의 두 번째 페이지는 매개 변수의 첫 번째 페이지 출력에 따라 달라집니다.

도움 주셔서 감사합니다.

답변

0

문제에 대한 좋은 해결책이 없다고 생각합니다. 당신이 시도 할 수있는 한가지는 디폴트 값으로 AWS::NoValue을 사용하는 것입니다.

0

매개 변수를 선택적으로 사용하려면 AWS 전용 매개 변수 유형 (예 : AWS::*)을 사용할 수 없습니다. 희망하는 해결 방법 중 어느 것도 작동하지 않습니다. 이 ^(subnet-[0-9a-fA-F]{8})?$과 같은 것으로 설정되어있는 String 유형을 권장하지만 기존 서브넷 값으로 미리 채워진 드롭 다운을 만들지 않아도됩니다.

0

나는이 유형의 조건부 매개 변수를 찾고 있었지만 그것이 존재하지 않는다고 말할 수있다. 가장 가까운 곳은 AWS 조건입니다.

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html

이것은 당신이 평가하는 조건을 정의 할 수 있습니다 true 또는 당신이하고 Fn과 함께 사용할 수있는 입력 매개 변수를 기반으로 거짓 진술 자원에 다른 값을 삽입하는 경우.

위 시나리오의 경우 값을 알려진 서브넷 ID로 기본값을 설정하고 필요하지 않은 경우 조건을 사용하여이 값을 무시할 수 있습니다. 불행히도 기본 서브넷이 존재하지 않기 때문에 다른 VPC에서 동일한 CloudFormation 템플릿을 사용하려는 경우에는 약간 부족합니다.

관련 문제