Références à des fonctions intrinsèques dans les attributs DeletionPolicy et UpdateReplacePolicy - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Références à des fonctions intrinsèques dans les attributs DeletionPolicy et UpdateReplacePolicy

Lorsque vous ajoutez la AWS::LanguageExtensions transformation dans un AWS CloudFormation modèle, vous pouvez utiliser des fonctions intrinsèques pour définir les attributs Attribut DeletionPolicy et les attributs de Attribut UpdateReplacePolicy ressource.

Note

La fonction intrinsèque doit se résoudre dans une option Options DeletionPolicy ou Options UpdateReplacePolicy valide.

Déclaration

JSON

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

YAML

DeletionPolicy: IntrinsicFunction
UpdateReplacePolicy: IntrinsicFunction

Paramètres

IntrinsicFunction

La fonction intrinsèque qui se résout dans une option Attribut DeletionPolicy ou Attribut UpdateReplacePolicy valide.

Exemples

Définir DeletionPolicy et UpdateReplacePolicy à l'aide de la fonction intrinsèque Fn:If

L'exemple suivant définit les attributs Attribut DeletionPolicy et Attribut UpdateReplacePolicy en fonction de la condition définie dans la fonction intrinsèque Fn::If. Si le paramètre Stage est Prod, les attributs DeletionPolicy et UpdateReplacePolicy seront définis sur 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

Définir les attributs DeletionPolicy et UpdateReplacePolicy à l'aide de la fonction intrinsèque Ref

L'exemple suivant définit les attributs Attribut DeletionPolicy et Attribut UpdateReplacePolicy en fonction de la valeur résolue par la fonction intrinsèque Ref. Si les paramètres DeletionPolicyParam et UpdateReplacePolicyParam sont tous deux définis sur Retain, les attributs DeletionPolicy et UpdateReplacePolicy sont également définis sur 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

Fonctions prises en charge

Dans les attributs DeletionPolicy ou UpdateReplacePolicy, vous pouvez utiliser les fonctions suivantes :

Vous pouvez également utiliser les Pseudo-paramètres suivants :

  • AWS::AccountId

  • AWS::Partition

  • AWS::Region