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.
AWS CloudFormation référence d'action de déploiement
Exécute une opération sur une AWS CloudFormation pile. Une pile est un ensemble de AWS ressources que vous pouvez gérer comme une seule unité. Les ressources d'une pile sont définies par son modèle AWS CloudFormation
. Un jeu de modifications crée une comparaison qui peut être affichée sans modifier la pile d'origine. Pour plus d'informations sur les types d' AWS CloudFormation actions pouvant être effectuées sur les piles et les ensembles de modifications, consultez le ActionMode
paramètre.
Pour créer un message d'erreur pour une AWS CloudFormation action où une opération de pile a échoué, CodePipeline appelle le AWS CloudFormation DescribeStackEvents
API. Si un IAM rôle d'action est autorisé à y accéderAPI, les détails relatifs à la première ressource défaillante seront inclus dans le message CodePipeline d'erreur. Sinon, si la politique de rôle ne dispose pas de l'autorisation appropriée, elle CodePipeline ignorera l'accès au API et affichera un message d'erreur générique à la place. Pour ce faire, l'cloudformation:DescribeStackEvents
autorisation doit être ajoutée au rôle de service ou à d'autres IAM rôles pour le pipeline.
Si vous ne souhaitez pas que les détails des ressources apparaissent dans les messages d'erreur du pipeline, vous pouvez révoquer cette autorisation pour le IAM rôle d'action en la cloudformation:DescribeStackEvents
supprimant.
Rubriques
Type d'action
-
Catégorie :
Deploy
-
Propriétaire :
AWS
-
Fournisseur :
CloudFormation
-
Version :
1
Paramètres de configuration
- ActionMode
-
Obligatoire : oui
ActionMode
est le nom de l'action exécutée AWS CloudFormation sur une pile ou un ensemble de modifications. Les modes d'action suivants sont disponibles :-
CHANGE_SET_EXECUTE
exécute un jeu de modifications pour la pile de ressources basé sur un ensemble de mises à jour de ressources spécifiées. Avec cette action, AWS CloudFormation commence à modifier la pile. -
CHANGE_SET_REPLACE
cré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 l'ensemble de modifications existe, AWS CloudFormation il est supprimé, puis en crée un nouveau. -
CREATE_UPDATE
crée la pile si elle n'existe pas. Si la pile existe, AWS CloudFormation met à jour la pile. Utilisez cette action pour mettre à jour les piles existantes. Au contraireREPLACE_ON_FAILURE
, si la pile existe et est en état d'échec, elle CodePipeline ne sera ni supprimée ni remplacée. -
DELETE_ONLY
supprime 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_FAILURE
crée une pile, si elle n'existe pas. Si la pile existe et est en état d'échec, AWS CloudFormation supprime la pile, puis crée une nouvelle pile. Si la pile n'est pas en état d'échec, mettez-la AWS CloudFormation à jour.La pile présente un état d'échec lorsque l'un des types d'état suivants est affiché dans AWS CloudFormation :
-
ROLLBACK_FAILED
-
CREATE_FAILED
-
DELETE_FAILED
-
UPDATE_ROLLBACK_FAILED
Utilisez cette action pour remplacer automatiquement les piles ayant échoué sans les récupérer ou les dépanner.
Important
Nous vous recommandons d'utiliser
REPLACE_ON_FAILURE
à des fins de test uniquement, car cela peut supprimer votre pile. -
-
- StackName
-
Obligatoire : oui
StackName
correspond au nom d'une pile existante ou d'une pile que vous souhaitez créer. - Fonctionnalités
-
Obligatoire : Conditionnelle
L'utilisation de
Capabilities
confirme que le modèle peut avoir les capacités de créer et de mettre à jour certaines ressources par lui-même, et que ces capacités sont déterminées en fonction des types de ressources figurant dans le modèle.Cette propriété est obligatoire si votre modèle de pile contient IAM des ressources ou si vous créez une pile directement à partir d'un modèle contenant des macros. Pour que l' AWS CloudFormation action fonctionne correctement de cette manière, vous devez explicitement reconnaître que vous souhaitez qu'elle le fasse avec l'une des fonctionnalités suivantes :
-
CAPABILITY_IAM
-
CAPABILITY_NAMED_IAM
-
CAPABILITY_AUTO_EXPAND
Vous pouvez spécifier plusieurs capacités en utilisant une virgule (pas d'espace) entre les capacités. L'exemple ci-dessous Déclaration d'action montre une entrée avec à la fois les EXPAND propriétés CAPABILITY CAPABILITY _ IAM et AUTO _ _.
Pour plus d'informations
Capabilities
, consultez les propriétés ci-dessous UpdateStackdans la AWS CloudFormation APIréférence. -
- ChangeSetName
-
Obligatoire : Conditionnelle
ChangeSetName
est le nom d'un jeu de modifications existant ou d'un nouveau jeu de modifications que vous souhaitez créer pour la pile spécifiée.Cette propriété est obligatoire pour les modes d'action suivants : CHANGE _ SET _ REPLACE et CHANGE _ SET _EXECUTE. Pour tous les autres modes d'action, cette propriété est ignorée.
- RoleArn
-
Obligatoire : Conditionnelle
RoleArn
Il s'agit ARN du rôle de IAM service qui AWS CloudFormation assume lorsqu'il agit sur les ressources de la pile spécifiée.RoleArn
n'est pas appliqué lors de l'exécution d'un ensemble de modifications. Si vous ne l'utilisez pas CodePipeline pour créer l'ensemble de modifications, assurez-vous qu'un rôle est associé à l'ensemble ou à la pile de modifications.Note
Ce rôle doit se trouver dans le même compte que le rôle de l'action en cours d'exécution, tel que configuré dans la déclaration d'action
RoleArn
.Cette propriété est requise pour les modes d'action suivants :
-
CREATE_UPDATE
-
REPLACE_ON_ FAILURE
-
DELETE_ONLY
-
CHANGE_SET_REPLACE
Note
AWS CloudFormation reçoit une signature S3 URL sur le modèle ; par conséquent, aucune autorisation
RoleArn
n'est requise pour accéder au compartiment d'artefacts. Toutefois, l'actionRoleArn
nécessite une autorisation pour accéder au compartiment d'artefacts afin de générer le document signéURL. -
- TemplatePath
-
Obligatoire : Conditionnelle
TemplatePath
représente le fichier AWS CloudFormation modèle. Vous incluez ce fichier dans un artefact d'entrée pour cette action. Le nom de fichier respecte le format suivant :Artifactname
::TemplateFileName
Artifactname
est le nom de l'artefact d'entrée tel qu'il apparaît dans CodePipeline. Par exemple, une étape source avec le nom d'artefactSourceArtifact
et un nom de fichiertemplate-export.json
crée un nomTemplatePath
, tel qu'illustré dans l'exemple suivant :"TemplatePath": "SourceArtifact::template-export.json"
Cette propriété est requise pour les modes d'action suivants :
-
CREATE_UPDATE
-
REPLACE_ON_ FAILURE
-
CHANGE_SET_REPLACE
Pour tous les autres modes d'action, cette propriété est ignorée.
Note
Le fichier AWS CloudFormation modèle contenant le corps du modèle a une longueur minimale de 1 octet et une longueur maximale de 1 Mo. Pour les actions de AWS CloudFormation déploiement dans CodePipeline, la taille maximale de l'artefact en entrée est toujours de 256 Mo. Pour plus d'informations, consultez Quotas dans AWS CodePipeline et Limites AWS CloudFormation.
-
- OutputFileName
-
Obligatoire : non
OutputFileName
À utiliser pour spécifier un nom de fichier de sortie, tel queCreateStackOutput.json
, qui s' CodePipeline ajoute à l'artefact de sortie du pipeline pour cette action. Le JSON fichier contient le contenu de laOutputs
section issue de la AWS CloudFormation pile.Si vous ne spécifiez pas de nom, CodePipeline cela ne génère pas de fichier de sortie ou d'artefact.
- ParameterOverrides
-
Obligatoire : non
Les paramètres sont définis dans votre modèle de pile et vous permettent de fournir leurs valeurs au moment de la création ou de la mise à jour de la pile. Vous pouvez utiliser un JSON objet pour définir des valeurs de paramètres dans votre modèle. (Ces valeurs remplacent celles définies dans le fichier de configuration du modèle.) Pour plus d'informations sur l'utilisation des remplacements de paramètres, consultez Propriétés de configuration (JSONobjet).
Nous vous recommandons d'utiliser le fichier de configuration de modèle pour la plupart de vos valeurs de paramètres. Utilisez des remplacements de paramètres uniquement pour les valeurs qui ne sont pas connues tant que le pipeline n'est pas en cours d'exécution. Pour plus d'informations, consultez la section Utilisation des fonctions de remplacement de paramètres avec des CodePipeline pipelines dans le guide de l'AWS CloudFormation utilisateur.
Note
Tous les noms de paramètres doivent être présents dans le modèle de la pile.
- TemplateConfiguration
-
Obligatoire : non
TemplateConfiguration
est le fichier de configuration de modèle. Vous incluez ce fichier dans un artefact d'entrée pour cette action. Il peut contenir des valeurs de paramètre de modèle et une stratégie de pile. Pour plus d'informations sur le format de fichier de configuration du modèle, consultez AWS CloudFormation Artefacts.Le nom de fichier de configuration de modèle suit ce format :
Artifactname
::TemplateConfigurationFileName
Artifactname
est le nom de l'artefact d'entrée tel qu'il apparaît dans CodePipeline. Par exemple, une étape source avec le nom d'artefactSourceArtifact
et un nom de fichiertest-configuration.json
crée un nomTemplateConfiguration
, tel qu'illustré dans l'exemple suivant :"TemplateConfiguration": "SourceArtifact::test-configuration.json"
Artefacts d'entrée
-
Nombre d'objets :
0 to 10
-
Description : en entrée, l' AWS CloudFormation action accepte éventuellement des artefacts aux fins suivantes :
-
Pour fournir le fichier de modèle de pile à exécuter. (Voir le paramètre
TemplatePath
.) -
Pour fournir le fichier de configuration de modèle à utiliser. (Voir le paramètre
TemplateConfiguration
.) Pour plus d'informations sur le format de fichier de configuration du modèle, consultez AWS CloudFormation Artefacts. -
Fournir l'artefact pour une fonction Lambda à déployer dans le cadre de la AWS CloudFormation pile.
-
Artefacts de sortie
-
Nombre d'objets :
0 to 1
-
Description : si le
OutputFileName
paramètre est spécifié, un artefact de sortie produit par cette action contient un JSON fichier portant le nom spécifié. Le JSON fichier contient le contenu de la section Outputs de la AWS CloudFormation pile.Pour de plus amples informations sur la section Outputs que vous pouvez créer pour votre action AWS CloudFormation , veuillez consulter Sorties.
Variables de sortie
Lorsque cette action est configurée, elle produit des variables qui peuvent être référencées par la configuration d'action d'une action en aval dans le pipeline. Vous configurez une action avec un espace de noms pour rendre ces variables disponibles pour la configuration des actions en aval.
Pour les AWS CloudFormation actions, les variables sont produites à partir de toutes les valeurs désignées dans la Outputs
section d'un modèle de pile. Notez que les seuls modes CloudFormation d'action qui génèrent des sorties sont ceux qui aboutissent à la création ou à la mise à jour d'une pile, tels que la création de pile, les mises à jour de piles et l'exécution d'ensembles de modifications. Les modes d'action correspondants qui génèrent des variables sont les suivants :
-
CHANGE_SET_EXECUTE
-
CHANGE_SET_REPLACE
-
CREATE_UPDATE
-
REPLACE_ON_FAILURE
Pour de plus amples informations, veuillez consulter Référence aux variables. Pour un didacticiel qui explique comment créer un pipeline avec une action de CloudFormation déploiement dans un pipeline utilisant des variables CloudFormation de sortie, voirTutoriel : Création d'un pipeline qui utilise des variables issues d'actions de AWS CloudFormation déploiement.
Déclaration d'action
Consultez aussi
Les ressources connexes suivantes peuvent s'avérer utiles dans le cadre de l'utilisation de cette action.
-
Référence des propriétés de configuration — Ce chapitre de référence du Guide de AWS CloudFormation l'utilisateur fournit des descriptions et des exemples supplémentaires pour ces CodePipeline paramètres.
-
AWS CloudFormation APIRéférence — Le CreateStackparamètre de la AWS CloudFormation APIréférence décrit les paramètres de pile des AWS CloudFormation modèles.