Fn::ForEach - AWS CloudFormation

Fn::ForEach

Fn::ForEach 내장 함수는 컬렉션과 조각을 가져와서 컬렉션의 항목을 제공된 조각의 식별자에 적용합니다. Fn::ForEachFn::ForEach를 비롯한 다른 내장 함수를 포함할 수 있으며, Conditions, Outputs, Resources(리소스 속성 포함) 섹션 내에서 사용될 수 있습니다. 포맷 버전, Description, Metadata, Transform, Parameters, Mappings, Rules 또는 Hooks 섹션에는 사용할 수 없습니다. 예시는 예시 섹션을 참조하세요.

중요

Fn::ForEach 내장 함수를 사용하려면 AWS::LanguageExtensions 변환를 사용해야 합니다.

중요

Fn::ForEach 내장 함수를 사용해도 결과 템플릿에 적용되는 할당량은 변경되지 않습니다. 할당량에는 템플릿의 최대 크기와 템플릿의 최대 리소스 수가 포함됩니다. 자세한 내용은 CloudFormation 할당량 이해 단원을 참조하십시오.

선언

JSON

"Fn::ForEach::UniqueLoopName": [ "Identifier", ["Value1","Value2"], // Collection {"OutputKey": {OutputValue}} ]

YAML

'Fn::ForEach::UniqueLoopName': - Identifier - - Value1 # Collection - Value2 - 'OutputKey': OutputValue

파라미터

UniqueLoopName

이 루프의 이름입니다. 이름은 템플릿 내에서 고유해야 하며 템플릿의 CloudFormation 템플릿 Resources 구문 섹션에 있는 논리적 ID 값과 충돌해서는 안 됩니다. 이 이름은 변환된 출력에 없습니다.

Identifier

복제되는 템플릿 조각을 나타내는 OutputKeyOutputValue 파라미터에서 바꾸려는 식별자입니다. OutputKeyOutputValue 파라미터에서 ${Identifier} 또는 &{Identifier}의 모든 인스턴스는 Collection 파라미터의 값으로 대체됩니다.

Collection

반복할 값 컬렉션입니다. 이 파라미터의 배열일 수도 있고 Ref~CommaDelimitedList일 수도 있습니다. &{Identifier}를 사용하는 경우 Collection에 영숫자가 아닌 문자가 전달될 수 있습니다.

OutputKey

변환된 템플릿의 키입니다. ${Identifier} 또는 &{Identifier}OutputKey 파라미터 내에 포함되어 있어야 합니다. 예를 들어 Fn::ForEach가 템플릿의 Resources 섹션에서 사용되는 경우 각 리소스의 논리적 ID입니다.

&{} 구문을 사용하면 OutputKey 파라미터에서 사용할 Collection에 영숫자가 아닌 문자를 사용할 수 있습니다. 예제는 Fn::ForEach의 Collection 내에서 영숫자가 아닌 문자 전달의 내용을 참조하세요.

OutputValue

Collection 파라미터의 각 항목에 대해 변환된 템플릿에 복제되는 값입니다. 예를 들어 Fn::ForEach가 템플릿의 Resources 섹션에서 사용되는 경우 각 리소스를 구성하기 위해 반복되는 템플릿 조각입니다.

반환 값

컬렉션의 각 항목에 대해 한 번씩 반복되는 개체 조각이 포함된 확장 개체이며, 조각의 식별자는 컬렉션의 항목으로 대체됩니다.

지원되는 함수

Fn::ForEach 내에서 다음과 같은 함수를 사용할 수 있습니다.

예시

예시는 예시 섹션을 참조하세요.