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.
CloudFormationRéférence sur les propriétés de configuration
Lorsque vous créez un pipeline CodePipeline, vous ajoutez une action Deploy au pipeline avec CloudFormation comme fournisseur. Ensuite, vous devez spécifier l'action CloudFormation que le pipeline appelle et les paramètres de l'action. Cette rubrique décrit les propriétés de configuration CloudFormation. Pour spécifier des propriétés, vous pouvez utiliser la console CodePipeline ou créer un objet JSON à utiliser pour la AWS CLI, l’API CodePipeline ou les modèles CloudFormation.
Rubriques
Propriétés de configuration (Console)
La console
Note
Lorsque vous créez un nouveau pipeline, vous pouvez spécifier uniquement les modes d'action Créer ou mettre à jour une pile ou Créer ou remplacer un jeu de modifications. Les propriétés de la section Avancé sont disponibles uniquement lorsque vous modifiez un pipeline.
- Mode d'action
-
Action CloudFormation que CodePipeline appelle lors du traitement de l'étape associée. Choisissez l'un des modes d'action suivants :
-
Créer ou remplacer un jeu de modifications permet de créer le jeu de modifications s'il n'existe pas, en fonction du nom de la pile et du modèle que vous soumettez. Si le jeu de modifications existe, CloudFormation le supprime, puis en crée un nouveau.
-
Créer ou mettre à jour une pile crée la pile si la pile spécifiée n'existe pas. Si la pile existe, CloudFormation la met à jour. Utilisez cette action pour mettre à jour les piles existantes. CodePipeline ne remplace pas la pile.
-
Supprimer une pile supprime une pile. Si vous spécifiez une pile qui n'existe pas, l'action se termine avec succès sans supprimer de pile.
-
Exécuter un jeu de modifications exécute un jeu de modifications.
-
Remplacer une pile ayant échoué crée la pile si la pile spécifiée n'existe pas. Si la pile existe et qu'elle est en état d'échec (présentée comme
ROLLBACK_COMPLETE,ROLLBACK_FAILED,CREATE_FAILEDouDELETE_FAILEDouUPDATE_ROLLBACK_FAILED) CloudFormation supprime la pile et en crée une nouvelle. Si la pile n'est pas en état d'échec, CloudFormation la met à jour. Utilisez cette action pour remplacer les piles ayant échoué sans les récupérer ou les dépanner. Généralement, ce mode est choisi pour le test.
-
- Nom de la pile
-
Nom associé à une pile existante ou à une pile que vous souhaitez créer. Le nom doit être unique dans la région AWS dans laquelle vous créez la pile.
Note
Un nom de pile ne peut contenir que des caractères alphanumériques (sensibles à la casse) et des traits d'union. Il doit commencer par un caractère alphabétique et ne doit pas dépasser 128 caractères.
- Modifier le nom du jeu
-
Nom d'un jeu existant de modifications ou d'un nouveau jeu que vous souhaitez créer pour la pile spécifiée.
- Modèle
-
Emplacement d'un fichier de modèle CloudFormation conforme au format
.ArtifactName::TemplateFileName - Configuration de modèle
-
Emplacement d'un fichier de configuration de modèle conforme au format
. Le fichier de configuration de modèle peut contenir des valeurs de paramètres du modèle, une politique de pile et des balises. Si vous incluez des informations sensibles, telles que des mots de passe, limitez l'accès à ce fichier. Pour de plus amples informations, consultez CloudFormation artefacts.ArtifactName::TemplateConfigurationFileName - Fonctionnalités
-
Pour les piles qui contiennent certaines ressources, reconnaissez de manière explicite que CloudFormation peut créer ou mettre à jour ces ressources. Par exemple, vous devez spécifier
CAPABILITY_IAMsi votre modèle de pile contient des ressources AWS Identity and Access Management (IAM). Pour plus d’informations, consultez les paramètres de requête de l’opération d’API CreateStack.Si vous disposez de ressources IAM dans votre modèle de pile, vous devez spécifier cette propriété.
Vous pouvez spécifier plusieurs capacités.
- Nom du rôle
-
Nom de la fonction du service IAM qu'CloudFormation assume lorsqu'il fonctionne sur des ressources dans la pile spécifiée.
- Nom du fichier de sortie
-
Dans la section Avancé, vous pouvez spécifier un nom de fichier de sortie, comme
CreateStackOutput.json, qu'CodePipeline ajoute à l'artefact de sortie après l'exécution de l'action spécifiée. L'artefact de sortie contient un fichier JSON avec le contenu de la sectionOutputsdu modèle CloudFormation.Si vous ne spécifiez pas de nom, CodePipeline ne génère pas d'artefact de sortie.
- Remplacements de paramètres
-
Les paramètres sont définis dans votre modèle et vous permettent d'entrer des valeurs personnalisées lorsque vous créez ou mettez à jour une pile. Vous pouvez spécifier un objet JSON qui remplace les valeurs des paramètres du modèle dans le fichier de configuration du modèle. Tous les noms de paramètres doivent être présents dans le modèle de la pile. Pour de plus amples informations, consultez Syntaxe Parameters du modèle CloudFormation.
Note
Taille maximum de 1 kilo-octets pour l'objet JSON pouvant être stocké dans la propriété
ParameterOverrides.Nous vous recommandons d'utiliser le fichier de configuration du modèle pour spécifier la plupart des valeurs de paramètres. Utilisez les remplacements de paramètres pour spécifier des valeurs de paramètres dynamiques uniquement. Les paramètres dynamiques sont inconnus tant que vous n'exécutez pas le pipeline.
L'exemple suivant définit une valeur pour le paramètre
ParameterNameen utilisant une fonction de remplacement de paramètre. La fonction extrait une valeur à partir d'un artefact d'entrée CodePipeline. Pour plus d'informations sur les fonctions de remplacement des paramètres, consultez Utilisation de fonctions de remplacement de paramètres avec des pipelines CodePipeline .{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }
Propriétés de configuration (objet JSON)
Lorsque vous spécifiez CloudFormation comme fournisseur d'une action d'étape, définissez les propriétés suivantes dans la propriété Configuration. Utilisez l’objet JSON pour la AWS CLI, l’API CodePipeline ou les modèles CloudFormation. Pour obtenir des exemples, consultez Procédure : Création d'un pipeline pour les piles de test et de production et CloudFormationRéférence sur les propriétés de configuration .
ActionMode-
Action CloudFormation que CodePipeline appelle lors du traitement de l'étape associée. Spécifiez un seul des modes d'action suivants :
-
CHANGE_SET_EXECUTEexécute un jeu de modifications. -
CHANGE_SET_REPLACEcrée le jeu de modification, s'il n'existe pas, en fonction du nom de la pile et du modèle que vous soumettez. Si le jeu de modifications existe, CloudFormation le supprime, puis en crée un nouveau. -
CREATE_UPDATEcrée la pile si la pile spécifiée n'existe pas. Si la pile existe, CloudFormation la met à jour. Utilisez cette action pour mettre à jour les piles existantes. CodePipeline ne remplace pas la pile. -
DELETE_ONLYsupprime une pile. Si vous spécifiez une pile qui n'existe pas, l'action se termine avec succès sans supprimer de pile. -
REPLACE_ON_FAILUREcrée une pile si la pile spécifiée n'existe pas. Si la pile existe et qu'elle est en état d'échec (signalé commeROLLBACK_COMPLETE,ROLLBACK_FAILED,CREATE_FAILED,DELETE_FAILEDouUPDATE_ROLLBACK_FAILED), CloudFormation supprime la pile et en crée une nouvelle. Si la pile n'est pas en état d'échec, CloudFormation la met à jour. Utilisez cette action pour remplacer automatiquement les piles ayant échoué sans les récupérer ou les dépanner. Généralement, ce mode est choisi pour le test.
Cette propriété est requise.
-
Capabilities-
Pour les piles qui contiennent certaines ressources, reconnaissez de manière explicite que CloudFormation peut créer ou mettre à jour ces ressources. Par exemple, vous devez spécifier
CAPABILITY_IAMsi votre modèle de pile contient des ressources AWS Identity and Access Management (IAM). Pour plus d’informations, consultez les paramètres de requête de l’opération d’API CreateStack.Cette propriété est conditionnelle. Si vous disposez de ressources IAM dans votre modèle de pile, vous devez spécifier cette propriété.
Vous pouvez spécifier plusieurs fonctionnalités. L’exemple suivant ajoute les propriétés
CAPABILITY_IAMetCAPABILITY_AUTO_EXPANDau modèle : ChangeSetName-
Nom d'un jeu existant de modifications ou d'un nouveau jeu que vous souhaitez créer pour la pile spécifiée.
Cette propriété est requise pour les modes d'action suivants :
CHANGE_SET_REPLACEetCHANGE_SET_EXECUTE. Pour tous les autres modes d'action, cette propriété est ignorée. OutputFileName-
Nom pour le fichier de sortie, tel que
CreateStackOutput.json. CodePipeline ajoute le fichier à l'artefact de sortie après l'exécution de l'action spécifiée. L'artefact de sortie contient un fichier JSON avec le contenu de la sectionOutputsdu modèle CloudFormation.Cette propriété est facultative. Si vous ne spécifiez pas de nom, CodePipeline ne génère pas d'artefact de sortie.
ParameterOverrides-
Les paramètres sont définis dans votre modèle et vous permettent d'entrer des valeurs personnalisées lorsque vous créez ou mettez à jour une pile. Vous pouvez spécifier un objet JSON qui remplace les valeurs des paramètres du modèle dans le fichier de configuration du modèle. Tous les noms de paramètres doivent être présents dans le modèle de la pile. Pour de plus amples informations, consultez Syntaxe Parameters du modèle CloudFormation.
L'exemple suivant ajoute les remplacements de paramètres
InstanceTypeetKeyNameau modèle :Note
La taille maximale de l'objet JSON qui peut être stocké dans la propriété
ParameterOverridesest de 1 kilo-octet.Nous vous recommandons d'utiliser le fichier de configuration du modèle pour spécifier la plupart des valeurs de paramètres. Utilisez les remplacements de paramètres pour spécifier des valeurs de paramètres dynamiques uniquement. Les valeurs des paramètres dynamiques sont inconnues jusqu'à ce que vous exécutiez le pipeline.
L'exemple suivant définit une valeur pour le paramètre
ParameterNameen utilisant une fonction de remplacement de paramètre. La fonction extrait une valeur à partir d'un artefact d'entrée CodePipeline. Pour plus d'informations sur les fonctions de remplacement des paramètres, consultez Utilisation de fonctions de remplacement de paramètres avec des pipelines CodePipeline .{ "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]} }Cette propriété est facultative.
RoleArn-
Amazon Resource Name (ARN) de la fonction du service IAM qu'CloudFormation assume lorsqu'il fonctionne sur des ressources dans une pile.
Cette propriété est obligatoire pour les modes d'action suivants :
CREATE_UPDATE,REPLACE_ON_FAILURE,DELETE_ONLY, etCHANGE_SET_REPLACE.RoleArnn'est pas appliqué lors de l'exécution d'un jeu de modifications. Si vous n'utilisez pas CodePipeline pour créer le jeu de modifications, assurez-vous que le jeu de modifications ou la pile dispose d'un rôle associé. StackName-
Nom d'une pile existante ou d'une pile que vous souhaitez créer.
Cette propriété est requise pour tous les modes d'action.
TemplateConfiguration-
TemplateConfigurationest le fichier de configuration de modèle. Vous incluez ce fichier dans un artefact d'entrée pour cette action. Le nom de fichier de configuration de modèle suit ce format :Artifactname::TemplateConfigurationFileNameArtifactnameest le nom de l'artefact d'entrée tel qu'il apparaît dans CodePipeline. Par exemple, une étape source avec le nom d'artefactSourceArtifactet un nom de fichiertest-configuration.jsoncrée un nomTemplateConfiguration, tel qu'illustré dans l'exemple suivant :"TemplateConfiguration": "SourceArtifact::test-configuration.json"Le fichier de configuration de modèle peut contenir des valeurs de paramètres du modèle et une politique de pile. Si vous incluez des informations sensibles, telles que des mots de passe, limitez l'accès à ce fichier. Pour un exemple de fichier de configuration, veuillez consulter la rubrique CloudFormation artefacts.
Cette propriété est facultative.
TemplatePath-
TemplatePathreprésente le fichier de modèle CloudFormation. Vous incluez ce fichier dans un artefact d'entrée pour cette action. Le nom de fichier respecte le format suivant :Artifactname::TemplateFileNameArtifactnameest le nom de l'artefact d'entrée tel qu'il apparaît dans CodePipeline. Par exemple, une étape source avec le nom d'artefactSourceArtifactet un nom de fichiertemplate.yamlcrée un nomTemplatePath, tel qu'illustré dans l'exemple suivant :"TemplatePath": "SourceArtifact::template.yaml"Cette propriété est requise pour les modes d'action suivants :
CREATE_UPDATE,REPLACE_ON_FAILUREetCHANGE_SET_REPLACE. Pour tous les autres modes d'action, cette propriété est ignorée.
Consultez aussi
Les ressources connexes suivantes peuvent s'avérer utiles lors de l'utilisation de ces paramètres.
-
Pour plus d’informations sur les paramètres d’action CloudFormation dans CodePipeline, consultez la Référence de configuration de l’action de déploiement CloudFormation dans le Guide de l’utilisateur AWS CodePipeline.
-
Pour des valeurs d'exemple de modèle par fournisseur d'action (par exemple pour les champs
Ownerouconfiguration), veuillez consulter la rubrique Référence sur la structure des actions dans le Guide de l'utilisateur AWS CodePipeline. -
Pour télécharger des modèles de piles de pipeline en YAML ou JSON, consultez Tutoriel : Créer un pipeline avec CloudFormation dans le Guide de l’utilisateur AWS CodePipeline.