Intrinsische Funktionsreferenzen in den Attributen DeletionPolicy und UpdateReplacePolicy - AWS CloudFormation

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Intrinsische Funktionsreferenzen in den Attributen DeletionPolicy und UpdateReplacePolicy

Wenn Sie die AWS::LanguageExtensions Transformation zu einer AWS CloudFormation Vorlage hinzufügen, können Sie systeminterne Funktionen verwenden, um die DeletionPolicy Attribut Attribute und Ressourcen zu definieren. UpdateReplacePolicy Attribut

Anmerkung

Die intrinsische Funktion muss als gültige DeletionPolicy-Optionen oder UpdateReplacePolicy-Optionen aufgelöst werden.

Deklaration

JSON

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

YAML

DeletionPolicy: IntrinsicFunction
UpdateReplacePolicy: IntrinsicFunction

Parameter

IntrinsicFunction

Die intrinsische Funktion, die als eine gültige DeletionPolicy Attribut- oder UpdateReplacePolicy Attribut-Option aufgelöst wird.

Beispiele

Definieren von DeletionPolicy und UpdateReplacePolicy mithilfe der intrinsischen Funktion Fn:If

Im folgenden Beispiel werden die DeletionPolicy Attribut- und UpdateReplacePolicy Attribut-Attribute basierend auf der Bedingung gesetzt, die in der intrinsischen Funktion Fn::If definiert ist. Wenn der Stage-Parameter Prod ist, werden die DeletionPolicy- und UpdateReplacePolicy-Attribute auf Retain gesetzt.

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

Definieren der Attribute DeletionPolicy und UpdateReplacePolicy mithilfe der intrinsischen Funktion Ref

Im folgenden Beispiel werden die DeletionPolicy Attribut- und UpdateReplacePolicy Attribut-Attribute basierend auf dem Wert gesetzt, der durch die intrinsische Funktion Ref aufgelöst wurde. Wenn die DeletionPolicyParam- und UpdateReplacePolicyParam-Parameter beide auf Retain festgelegt sind, werden die DeletionPolicy- und UpdateReplacePolicy-Attribute ebenfalls auf Retain festgelegt.

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

Unterstützte Funktionen

Innerhalb der DeletionPolicy- oder UpdateReplacePolicy-Attribute können Sie die folgenden Funktionen verwenden:

Sie können auch die folgenden Pseudo-Parameter verwenden:

  • AWS::AccountId

  • AWS::Partition

  • AWS::Region