DeletionPolicy 및 UpdateReplacePolicy 속성의 내장 함수의 참조 - AWS CloudFormation

DeletionPolicyUpdateReplacePolicy 속성의 내장 함수의 참조

AWS CloudFormation 템플릿에 AWS::LanguageExtensions 변환을 추가할 때 내장 함수를 사용하여 DeletionPolicy 속성UpdateReplacePolicy 속성 리소스 속성을 정의할 수 있습니다.

참고

내장 함수는 유효한 DeletionPolicy 옵션 또는 UpdateReplacePolicy 옵션로 확인되어야 합니다.

선언

JSON

{ "DeletionPolicy": IntrinsicFunction }
{ "UpdateReplacePolicy": IntrinsicFunction }

YAML

DeletionPolicy: IntrinsicFunction
UpdateReplacePolicy: IntrinsicFunction

파라미터

IntrinsicFunction

유효한 DeletionPolicy 속성 또는 UpdateReplacePolicy 속성 옵션으로 확인되는 내장 함수입니다.

예시

Fn:If 내장 함수를 사용하여 DeletionPolicyUpdateReplacePolicy를 정의합니다.

다음 예제는 Fn::If 내장 함수에 정의된 조건을 기반으로 DeletionPolicy 속성UpdateReplacePolicy 속성 속성을 설정합니다. Stage 파라미터가 Prod인 경우 DeletionPolicyUpdateReplacePolicy 속성은 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 내장 함수를 사용하여 DeletionPolicyUpdateReplacePolicy 속성을 정의합니다.

다음 예제는 Ref 내장 함수에서 확인한 값을 기반으로 DeletionPolicy 속성UpdateReplacePolicy 속성 속성을 설정합니다. DeletionPolicyParamUpdateReplacePolicyParam 파라미터가 모두 Retain으로 설정된 경우 DeletionPolicyUpdateReplacePolicy 속성도 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