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.
Transformation AWS::LanguageExtensions
La AWS::LanguageExtensions
transformation est une macro hébergée par AWS CloudFormation qui vous permet d'utiliser des fonctions intrinsèques et d'autres fonctionnalités non incluses par défaut dans AWS CloudFormation. Lorsqu'un modèle fait référenceAWS::LanguageExtensions
, et que vous créez ou mettez à jour des piles à l'aide d'ensembles de modifications, AWS CloudFormation met à jour toute fonction intrinsèque définie par la transformation à sa valeur résolue dans le modèle. Lorsque vous ajoutez la AWS::LanguageExtensions
transformation dans un AWS CloudFormation modèle, vous pouvez utiliser des fonctions intrinsèques en tant que paramètre de Ref etFn::GetAtt.
La transformation AWS::LanguageExtensions
prend en charge les fonctions et attributs suivants :
Utilisation
La valeur de la déclaration de transformation doit être une chaîne littérale. Vous ne pouvez pas utiliser de paramètre ou de fonction pour spécifier la valeur de transformation. Voir cet extrait pour un exemple de déclaration de transformation :
Syntaxe au niveau supérieur d'un modèle
Utilisez la transformation AWS::LanguageExtensions
au niveau supérieur d'un modèle. Vous ne pouvez pas utiliser la transformation AWS::LanguageExtensions
comme une transformation intégrée dans une autre section de modèle.
JSON
"Transform": "AWS::LanguageExtensions"
YAML
Transform: AWS::LanguageExtensions
Paramètres
La transformation AWS::LanguageExtensions
n'accepte pas de paramètres.
Remarques
Lors de l'utilisation de la transformation AWS::LanguageExtensions
, gardez à l'esprit les considérations suivantes :
-
Si vous mettez à jour une pile en utilisant une valeur de paramètre différente, n'utilisez pas l'option
--use-previous-template
où le modèle original contient la transformation. Utilisez le modèle original, avant transformation, dans l'appelUpdateStack
. La pile sera mise à jour avec les nouvelles valeurs des paramètres. -
La forme courte YAML abrégée n'est pas prise en charge dans un modèle pour les fonctions intrinsèques fournies par la transformation
AWS::LanguageExtensions
. Des exemples de fonctions intrinsèques uniquement disponibles dans la transformationAWS::LanguageExtensions
sontFn::Length
etFn::ToJsonString
. Utilisez des références explicites aux fonctions. Par exemple, utilisezFn::Length
plutôt que!Length
. -
Si vous utilisez plusieurs transformations, utilisez un format de liste. Si vous utilisez des macros personnalisées, placez les transformations AWS fournies après vos macros personnalisées. Si vous utilisez à la fois les transformations
AWS::LanguageExtensions
etAWS::Serverless
, la transformationAWS::LanguageExtensions
doit venir avant la transformationAWS::Serverless
dans la liste. -
Les fonctions et attributs fournis par la transformation
AWS::LanguageExtensions
ne sont pris en charge que dans les sectionsResources
,Conditions
etOutputs
d'un modèle.
Pour plus d'informations sur l'utilisation des macros, voir Création d'une définition de CloudFormation macro.
Exemple
L'exemple suivant montre comment utiliser la transformation AWS::LanguageExtensions
pour utiliser la fonction intrinsèque Fn::Length
, définie par la transformation.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::LanguageExtensions", "Parameters": { "QueueList": { "Type": "CommaDelimitedList" }, "QueueNameParam": { "Description": "Name for your SQS queue", "Type": "String" } }, "Resources": { "Queue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": { "Ref": "QueueNameParam" }, "DelaySeconds": { "Fn::Length": { "Ref": "QueueList" } } } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Transform: 'AWS::LanguageExtensions' Parameters: QueueList: Type: CommaDelimitedList QueueNameParam: Description: Name for your SQS queue Type: String Resources: Queue: Type: 'AWS::SQS::Queue' Properties: QueueName: !Ref QueueNameParam DelaySeconds: 'Fn::Length': !Ref QueueList