DeletionPolicy
및 UpdateReplacePolicy
속성의 내장 함수의 참조
AWS CloudFormation 템플릿에 AWS::LanguageExtensions
변환을 추가할 때 내장 함수를 사용하여 DeletionPolicy 속성
및 UpdateReplacePolicy 속성
리소스 속성을 정의할 수 있습니다.
참고
내장 함수는 유효한 DeletionPolicy 옵션
또는 UpdateReplacePolicy 옵션
로 확인되어야 합니다.
선언
JSON
{ "DeletionPolicy":
IntrinsicFunction
}
{ "UpdateReplacePolicy":
IntrinsicFunction
}
YAML
DeletionPolicy:
IntrinsicFunction
UpdateReplacePolicy:
IntrinsicFunction
파라미터
IntrinsicFunction
-
유효한
DeletionPolicy 속성
또는UpdateReplacePolicy 속성
옵션으로 확인되는 내장 함수입니다.
예시
Fn:If
내장 함수를 사용하여 DeletionPolicy
및 UpdateReplacePolicy
를 정의합니다.
다음 예제는 Fn::If
내장 함수에 정의된 조건을 기반으로 DeletionPolicy 속성
및 UpdateReplacePolicy 속성
속성을 설정합니다. Stage
파라미터가 Prod
인 경우 DeletionPolicy
및 UpdateReplacePolicy
속성은 Retain
으로 설정됩니다.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::LanguageExtensions", "Parameters": { "Stage": { "Type": "String", "AllowedValues": [ "Prod", "Staging", "Dev" ] } }, "Conditions": { "IsProd": { "Fn::Equals": [ { "Ref": "Stage" }, "Prod" ] } }, "Resources": { "Table": { "Type": "AWS::DynamoDB::Table", "Properties": { "KeySchema": [{ "AttributeName": "primaryKey", "KeyType": "HASH" }], "AttributeDefinitions": [{ "AttributeName": "primaryKey", "AttributeType": "S" }] }, "DeletionPolicy": { "Fn::If": [ "IsProd", "Retain", "Delete" ] }, "UpdateReplacePolicy": { "Fn::If": [ "IsProd", "Retain", "Delete" ] } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Transform: 'AWS::LanguageExtensions' Parameters: Stage: Type: String AllowedValues: - Prod - Staging - Dev Conditions: IsProd: !Equals - !Ref Stage - Prod Resources: Table: Type: 'AWS::DynamoDB::Table' Properties: KeySchema: - AttributeName: primaryKey KeyType: HASH AttributeDefinitions: - AttributeName: primaryKey AttributeType: S DeletionPolicy: !If - IsProd - Retain - Delete UpdateReplacePolicy: !If - IsProd - Retain - Delete
Ref
내장 함수를 사용하여 DeletionPolicy
및 UpdateReplacePolicy
속성을 정의합니다.
다음 예제는 Ref
내장 함수에서 확인한 값을 기반으로 DeletionPolicy 속성
및 UpdateReplacePolicy 속성
속성을 설정합니다. DeletionPolicyParam
및 UpdateReplacePolicyParam
파라미터가 모두 Retain
으로 설정된 경우 DeletionPolicy
및 UpdateReplacePolicy
속성도 Retain
으로 설정됩니다.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::LanguageExtensions", "Parameters": { "DeletionPolicyParam": { "Type": "String", "AllowedValues": [ "Delete", "Retain", "Snapshot" ], "Default": "Delete" }, "UpdateReplacePolicyParam": { "Type": "String", "AllowedValues": [ "Delete", "Retain", "Snapshot" ], "Default": "Delete" } }, "Resources": { "Table": { "Type": "AWS::DynamoDB::Table", "Properties": { "KeySchema": [ { "AttributeName": "primaryKey", "KeyType": "HASH" }], "AttributeDefinitions": [{ "AttributeName": "primaryKey", "AttributeType": "S" }] }, "DeletionPolicy": { "Ref": "DeletionPolicyParam" }, "UpdateReplacePolicy": { "Ref": "UpdateReplacePolicyParam" } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Transform: 'AWS::LanguageExtensions' Parameters: DeletionPolicyParam: Type: String AllowedValues: - Delete - Retain - Snapshot Default: Delete UpdateReplacePolicyParam: Type: String AllowedValues: - Delete - Retain - Snapshot Default: Delete Resources: Table: Type: 'AWS::DynamoDB::Table' Properties: KeySchema: - AttributeName: primaryKey KeyType: HASH AttributeDefinitions: - AttributeName: primaryKey AttributeType: S DeletionPolicy: !Ref DeletionPolicyParam UpdateReplacePolicy: !Ref UpdateReplacePolicyParam
지원되는 함수
DeletionPolicy
또는 UpdateReplacePolicy
속성 내에서 다음 함수를 사용할 수 있습니다.
다음 가상 파라미터를 사용할 수 있습니다.
-
AWS::AccountId
-
AWS::Partition
-
AWS::Region