Formats de modèle - 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.

Formats de modèle

Vous pouvez créer des CloudFormation modèles au format JSON ou YAML. Les mêmes CloudFormation caractéristiques et fonctions sont disponibles pour les deux formats.

JSON

L'exemple suivant montre la structure d'un modèle au format JSON avec toutes les sections disponibles.

{ "AWSTemplateFormatVersion" : "version date", "Description" : "JSON string", "Metadata" : { template metadata }, "Parameters" : { set of parameters }, "Rules" : { set of rules }, "Mappings" : { set of mappings }, "Conditions" : { set of conditions }, "Transform" : { set of transforms }, "Resources" : { set of resources }, "Outputs" : { set of outputs } }

YAML

L'exemple suivant montre la structure d'un modèle au format YAML avec toutes les sections disponibles.

--- AWSTemplateFormatVersion: "version date" Description: String Metadata: template metadata Parameters: set of parameters Rules: set of rules Mappings: set of mappings Conditions: set of conditions Transform: set of transforms Resources: set of resources Outputs: set of outputs

S'agissant du format à privilégier, optez pour celui qui vous est le plus familier. De même, tenez compte du fait que YAML offre par essence des fonctionnalités qui ne sont pas disponibles en JSON (par exemple, les commentaires).

L'exemple suivant illustre un modèle YAML avec des commentaires en ligne.

AWSTemplateFormatVersion: "2010-09-09" Description: A sample template Resources: MyEC2Instance: #An inline comment Type: "AWS::EC2::Instance" Properties: ImageId: "ami-0ff8a91507f77f867" #Another comment -- This is a Linux AMI InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20

Spécifications

CloudFormation prend en charge les spécifications JSON et YAML suivantes :

JSON

CloudFormation suit la norme JSON ECMA-404. Pour plus d'informations sur le format JSON, consultez http://www.json.org.

YAML

CloudFormation prend en charge la spécification YAML version 1.1 à quelques exceptions près. CloudFormation ne prend pas en charge les fonctionnalités suivantes :

  • les balises binary, omap, pairs, set et timestamp ;

  • Alias

  • les fusions de hachage.

Pour plus d'informations sur YAML, consultez https://yaml.org/.

En savoir plus

Pour chaque ressource que vous spécifiez dans votre modèle, vous définissez ses propriétés et ses valeurs à l'aide des règles de syntaxe spécifiques du JSON ou du YAML. Pour plus d'informations sur la syntaxe des modèles pour chaque format, consultez Sections de modèle.