Fn::GetAtt - AWS CloudFormation

Fn::GetAtt

Fn::GetAtt 내장 함수는 템플릿의 리소스에서 속성 값을 반환합니다. 특정 리소스의 GetAtt 반환 값에 대한 자세한 내용은 리소스 및 속성 참조의 해당 리소스에 대한 설명서를 참조하십시오.

선언

JSON

{ "Fn::GetAtt" : [ "logicalNameOfResource", "attributeName" ] }

YAML

전체 함수 이름의 구문:

Fn::GetAtt: [ logicalNameOfResource, attributeName ]

짧은 형식의 구문:

!GetAtt logicalNameOfResource.attributeName

파라미터

logicalNameOfResource

원하는 속성을 포함하는 리소스의 논리적 이름(논리적 ID라고도 함)입니다.

attributeName

값을 가져올 리소스 관련 속성의 이름입니다. 리소스 유형에 대해 사용 가능한 속성에 대한 자세한 내용은 리소스의 참조 페이지를 참조하십시오.

반환 값

속성 값입니다.

예제:

문자열 반환

이 예제 조각에서는 논리적 이름이 myELB인 로드 밸런서의 DNS 이름을 포함하는 문자열을 반환합니다.

JSON

"Fn::GetAtt" : [ "myELB" , "DNSName" ]

YAML

!GetAtt myELB.DNSName

여러 문자열 반환

다음 예제 템플릿은 논리적 이름이 SourceSecurityGroup.OwnerAlias인 로드 밸런서의 SourceSecurityGroup.GroupNamemyELB을 반환합니다.

JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "myELB": { "Type": "AWS::ElasticLoadBalancing::LoadBalancer", "Properties": { "AvailabilityZones": [ "eu-west-1a" ], "Listeners": [ { "LoadBalancerPort": "80", "InstancePort": "80", "Protocol": "HTTP" } ] } }, "myELBIngressGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription": "ELB ingress group", "SecurityGroupIngress": [ { "IpProtocol": "tcp", "FromPort": 80, "ToPort": 80, "SourceSecurityGroupOwnerId": { "Fn::GetAtt": [ "myELB", "SourceSecurityGroup.OwnerAlias" ] }, "SourceSecurityGroupName": { "Fn::GetAtt": [ "myELB", "SourceSecurityGroup.GroupName" ] } } ] } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: myELB: Type: AWS::ElasticLoadBalancing::LoadBalancer Properties: AvailabilityZones: - eu-west-1a Listeners: - LoadBalancerPort: '80' InstancePort: '80' Protocol: HTTP myELBIngressGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: ELB ingress group SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 SourceSecurityGroupOwnerId: !GetAtt myELB.SourceSecurityGroup.OwnerAlias SourceSecurityGroupName: !GetAtt myELB.SourceSecurityGroup.GroupName

지원되는 함수

Fn::GetAtt 논리적 리소스 이름에 대해서는 함수를 사용할 수 없습니다. 리소스의 논리적 ID인 문자열을 지정해야 합니다.

Fn::GetAtt 속성 이름에 대해 Ref 함수를 사용할 수 있습니다.