

• Le AWS Systems Manager CloudWatch tableau de bord ne sera plus disponible après le 30 avril 2026. Les clients peuvent continuer à utiliser CloudWatch la console Amazon pour consulter, créer et gérer leurs CloudWatch tableaux de bord Amazon, comme ils le font aujourd'hui. Pour plus d'informations, consultez la [documentation Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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.

# Expérience de conception visuelle pour les runbooks d’Automatisation
<a name="automation-visual-designer"></a>

AWS Systems Manager L'automatisation fournit une expérience de conception visuelle à faible code qui vous aide à créer des runbooks d'automatisation. L'expérience de conception visuelle fournit une drag-and-drop interface avec la possibilité d'ajouter votre propre code afin que vous puissiez créer et modifier des runbooks plus facilement. L’expérience de conception visuelle vous permet d’effectuer les actions suivantes :
+ Contrôlez les instructions conditionnelles.
+ Contrôlez la manière dont les entrées et les sorties sont filtrées ou transformées pour chaque action.
+ Configurez la gestion des erreurs.
+ Prototypez de nouveaux runbook.
+ Utilisez vos prototypes de runbook comme point de départ pour le développement local avec le AWS Toolkit for Visual Studio Code.

Lorsque vous créez ou modifiez un runbook, vous pouvez accéder à l’expérience de conception visuelle depuis la [console Automation](https://console.aws.amazon.com/systems-manager/automation/home?region=us-east-1#/). Lorsque vous créez un runbook, l’expérience de conception visuelle valide votre travail et génère automatiquement du code. Vous pouvez consulter le code généré ou l’exporter pour le développement local. Lorsque vous avez terminé, vous pouvez enregistrer votre runbook, l’exécuter et examiner les résultats dans la console Systems Manager Automation. 

**Topics**
+ [Présentation de l'interface](visual-designer-interface-overview.md)
+ [Utilisation de l’expérience de conception visuelle](visual-designer-use.md)
+ [Configurez les entrées et les sorties](visual-designer-action-inputs-outputs.md)
+ [Gestion des erreurs grâce à l’expérience de conception visuelle](visual-designer-error-handling.md)
+ [Tutoriel : Création d’un runbook à l’aide de l’expérience de conception visuelle](visual-designer-tutorial.md)

# Présentation de l’interface d’expérience de conception visuelle
<a name="visual-designer-interface-overview"></a>

L’expérience de conception visuelle de Systems Manager Automation est un concepteur de flux de travail visuel à faible code qui vous aide à créer des runbook d’automatisation.

Découvrez l’expérience de conception visuelle grâce à un aperçu des composants de l’interface :

![\[Composants de l’expérience de conception visuelle\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_overview.png)

+ Le navigateur **Actions** contient les onglets **Actions** et **Runbooks**. **AWS APIs**
+ Le *canevas* vous permet de glisser-déposer des actions dans votre graphe de flux de travail, de modifier l’ordre des actions et de sélectionner les actions à configurer ou à afficher.
+ Le panneau **Formulaire** vous permet d’afficher et de modifier les propriétés de toute action que vous avez sélectionnée sur le canevas. Sélectionnez le bouton **Contenu** pour afficher le code YAML ou JSON de votre runbook, l’action actuellement sélectionnée étant surlignée. 

Les liens **Informations** ouvrent un panneau contenant des informations contextuelles lorsque vous avez besoin d’aide. Ces panneaux incluent également des liens vers des sujets connexes dans la documentation de Systems Manager Automation. 

## Navigateur d’actions
<a name="visual-designer-actions"></a>

Dans le navigateur **Actions**, vous pouvez sélectionner des actions à glisser-déposer dans votre graphique de flux de travail. Vous pouvez rechercher toutes les actions à l’aide du champ de recherche situé en haut du navigateur **Actions**. Le navigateur **Actions** contient les onglets suivants :
+ L’onglet **Actions** fournit une liste d’actions d’automatisation que vous pouvez glisser-déposer dans le graphique du flux de travail de votre runbook dans le canevas.
+ L'**AWS APIs**onglet fournit une liste des éléments AWS APIs que vous pouvez glisser-déposer dans le graphique du flux de travail de votre runbook dans le canevas.
+ L'onglet **Runbooks** fournit plusieurs ready-to-use runbooks réutilisables sous forme de blocs de construction que vous pouvez utiliser dans divers cas d'utilisation. Par exemple, vous pouvez utiliser des runbook pour effectuer des tâches de correction courantes sur les instances Amazon EC2 de votre flux de travail sans avoir à recréer les mêmes actions.

![\[Expérience de la conception visuelle des actions du navigateur\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_actions_multi_view.png)


## Canvas
<a name="visual-designer-canvas"></a>

Après avoir choisi une action à ajouter à votre automatisation, faites-la glisser vers le canevas et déposez-la dans votre graphe de flux de travail. Vous pouvez également glisser-déposer des actions pour les déplacer à différents endroits du flux de travail de votre runbook. Si votre flux de travail est complexe, vous pouvez rencontrer des difficultés pour l’afficher dans son intégralité dans le panneau canevas. Utilisez les commandes situées en haut du canevas pour zoomer ou dézoomer. Pour afficher les différentes parties d’un flux de travail, vous pouvez faire glisser le graphique du flux de travail dans le canevas. 

Faites glisser une action depuis le navigateur **Actions** et déposez-la dans le graphique du flux de travail de votre runbook. Une ligne indique où il sera placé dans votre flux de travail. Pour modifier l’ordre d’une action, vous pouvez la faire glisser vers un autre endroit de votre flux de travail. La nouvelle action a été ajoutée à votre flux de travail et son code est généré automatiquement.

![\[Canevas d’expérience de conception visuelle\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_canvas.png)


## Formulaire
<a name="visual-designer-form"></a>

Après avoir ajouté une action à votre flux de travail runbook, vous pouvez la configurer en fonction de votre cas d’utilisation. Sélectionnez l’action que vous souhaitez configurer et vous verrez ses paramètres et options dans le panneau **Formulaire**. Vous pouvez également voir le code YAML ou JSON en choisissant le bouton **Contenu**. Le code associé à l’action que vous avez sélectionnée est surligné.

![\[Panneau de formulaire sur l’expérience de conception visuelle\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_form.png)


![\[Panneau de contenu relatif à l’expérience de conception visuelle\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_content.png)


## Raccourcis clavier
<a name="visual-designer-keyboard-shortcuts"></a>

L’expérience de conception visuelle prend en charge les raccourcis clavier indiqués dans le tableau suivant.


| Raccourci clavier | Fonction | 
| --- | --- | 
| Ctrl\$1Z | Annule la dernière opération. | 
| Ctrl\$1Maj\$1Z | Rétablit la dernière opération. | 
| Alt \$1 C | Centre le flux de travail dans le canevas. | 
| Retour arrière | Supprime tous les états sélectionnés. | 
| Suppression | Supprime tous les états sélectionnés. | 
| Ctrl\$1D | Duplique l’état sélectionné. | 

# Utilisation de l’expérience de conception visuelle
<a name="visual-designer-use"></a>

Apprenez à créer, modifier et exécuter des flux de travail runbook à l’aide de l’expérience de conception visuelle. Une fois que votre flux de travail est prêt, vous pouvez l’enregistrer ou l’exporter. Vous pouvez également utiliser l’expérience de conception visuelle pour un prototypage rapide. 

## Création d’un flux de travail runbook
<a name="visual-designer-create-runbook-workflow"></a>

1. Connectez-vous à la [console Systems Manager Automation](https://console.aws.amazon.com/systems-manager/automation/home?region=us-east-1#/).

1. Sélectionnez **Créer un runbook**.

1. Dans le champ **Nom**, saisissez le nom de votre runbook, `MyNewRunbook`, par exemple.

1. À côté du bouton **Design** et **Code**, sélectionnez l’icône en forme de crayon et saisissez le nom de votre runbook.

Vous pouvez désormais concevoir un flux de travail pour votre nouveau runbook.

## Conception d’un runbook
<a name="visual-designer-build"></a>

 Pour concevoir un flux de travail runbook à l’aide de l’expérience de conception visuelle, vous devez faire glisser une action d’automatisation du navigateur **Actions** vers le canevas, en la plaçant là où vous le souhaitez dans le flux de travail de votre runbook. Vous pouvez également réorganiser les actions de votre flux de travail en les faisant glisser vers un autre emplacement. Lorsque vous faites glisser une action sur le canevas, une ligne apparaît à l’endroit où vous pouvez déposer l’action dans votre flux de travail. Une fois qu’une action est déposée sur le canevas, son code est généré automatiquement et ajouté au contenu de votre runbook.

Si vous connaissez le nom de l’action que vous souhaitez ajouter, utilisez le champ de recherche en haut du navigateur **Actions** pour trouver l’action.

Après avoir déposé une action sur le canevas, configurez-la à l’aide du panneau **Formulaire** sur la droite. Ce panneau contient les onglets **Général**, **Entrées**, **Sorties** et **Configuration** pour chaque action d’automatisation ou action d’API que vous placez sur le canevas. Par exemple, l’onglet **Général** comprend les sections suivantes :
+ Le **Nom de l’étape** identifie l’étape. Spécifiez une valeur unique pour le nom de l’étape.
+ La **Description** vous permet de décrire l’action en cours dans le flux de travail de votre runbook.

L’onglet **Entrées** contient des champs qui varient en fonction de l’action. Par exemple, l’action d’automatisation `aws:executeScript` comprend les sections suivantes :
+ L’**exécution** est le langage à utiliser pour exécuter le script fourni.
+ Le **gestionnaire** est le nom de votre fonction. Vous devez vous assurer que la fonction définie dans le gestionnaire possède deux paramètres : `events` et `context`. L’exécution de PowerShell ne prend pas en charge ce paramètre. 
+ **Script** est un script incorporé que vous souhaitez exécuter pendant le flux de travail.
+ (Facultatif) La **Pièce jointe** est destinée aux scripts autonomes ou aux fichiers .zip qui peuvent être invoqués par l’action. Ce paramètre est obligatoire pour les runbook JSON.

L’onglet **Sorties** vous permet de spécifier les valeurs que vous souhaitez obtenir à partir d’une action. Vous pouvez référencer des valeurs de sortie dans des actions ultérieures de votre flux de travail ou générer des sorties à partir d’actions à des fins de journalisation. Toutes les actions n’auront pas d’onglet **Sorties** car toutes les actions ne prennent pas en charge les sorties. Par exemple, l’action `aws:pause` ne prend pas en charge les sorties. Pour les actions qui prennent en charge les sorties, l’onglet **Sorties** comprend les sections suivantes :
+ Le **Nom** est le nom à utiliser pour la valeur de sortie. Vous pouvez référencer les résultats dans des actions ultérieures de votre flux de travail.
+ Le **Sélecteur** est une chaîne d’expression JSONPath commençant par `"$."` qui est utilisée pour sélectionner un ou plusieurs composants au sein d’un élément JSON.
+ Le **Type** est le type de données pour la valeur de sortie. Par exemple, un type de donnée `String` ou `Integer`.

L’onglet **Configuration** contient des propriétés et des options utilisables par toutes les actions d’automatisation. L’action se compose des sections suivantes :
+ La propriété **Maximal de tentatives** indique le nombre de tentatives répétées d’une action en cas d’échec.
+ La propriété **Délai en secondes** spécifie la valeur du délai d’expiration d’une action.
+ La propriété **Est critique** détermine si l’échec de l’action arrête l’ensemble de l’automatisation.
+ La propriété **Etape suivante** détermine l’action à laquelle l’automatisation passe ensuite dans le runbook.
+ La propriété **En cas d’échec** détermine à quelle action l’automatisation passe ensuite dans le runbook en cas d’échec de l’action.
+ La propriété **En cas d’annulation** détermine à quelle action l’automatisation passe ensuite dans le runbook si l’action est annulée par un utilisateur.

Pour supprimer une action, vous pouvez utiliser l’espace arrière, la barre d’outils au-dessus du canevas ou cliquer avec le bouton droit de la souris et choisir **Supprimer l’action**.

Au fur et à mesure que votre flux de travail se développe, il se peut qu’il ne rentre pas dans le canevas. Pour adapter le flux de travail au canevas, essayez l’une des options suivantes : 
+ Utilisez les commandes situées sur les panneaux latéraux pour redimensionner ou fermer les panneaux.
+ Utilisez la barre d’outils située en haut du canevas pour zoomer ou dézoomer le graphique du flux de travail.

## Mise à jour de votre runbook
<a name="visual-designer-update-runbook"></a>

Vous pouvez mettre à jour un flux de travail de runbook existant en créant une nouvelle version de votre runbook. Les mises à jour de vos runbook peuvent être effectuées à l’aide de l’expérience de conception visuelle ou en modifiant directement le code. Pour mettre à jour un runbook existant, procédez comme suit :

1. Connectez-vous à la [console Systems Manager Automation](https://console.aws.amazon.com/systems-manager/automation/home?region=us-east-1#/).

1. Sélectionnez le runbook que vous souhaitez mettre à jour.

1. Choisissez **Create new version (Créer une version)**.

1. L’expérience de conception visuelle comporte deux volets : un volet de code et un volet de flux de travail visuel. Sélectionnez **Design** dans le volet du flux de travail visuel pour modifier votre flux de travail avec l’expérience de conception visuelle. Lorsque vous avez terminé, sélectionnez **Créer une nouvelle version** pour enregistrer les modifications et quitter.

1. (Facultatif) Utilisez le volet de code pour modifier le contenu du runbook en YAML ou JSON.

## Exportation de votre runbook
<a name="visual-designer-export-runbook"></a>

Pour exporter le code YAML ou JSON du flux de travail de votre runbook, ainsi qu’un graphique de votre flux de travail, procédez comme suit : 

1. Choisissez votre runbook dans la console **Documents**.

1. Choisissez **Create new version (Créer une version)**.

1. Dans le menu déroulant **Actions**, sélectionnez si vous souhaitez exporter le diagramme ou le runbook, et sélectionnez le format que vous préférez.

# Configurer les entrées et les sorties pour vos actions
<a name="visual-designer-action-inputs-outputs"></a>

Chaque action d’automatisation répond en fonction des entrées qu’elle reçoit. Dans la plupart des cas, vous transmettez ensuite le résultat aux actions suivantes. Dans l’expérience de conception visuelle, vous pouvez configurer les données d’entrée et de sortie d’une action dans les onglets **Entrées** et **Sorties** du panneau **Formulaire**.

Pour obtenir des informations détaillées sur la définition et l’utilisation de la sortie pour les actions d’automatisation, consultez [Utilisation des sorties d'action comme entrées](automation-action-outputs-inputs.md). 

## Fournir des données d’entrée pour une action
<a name="providing-input"></a>

Chaque action d’automatisation comporte une ou plusieurs entrées pour lesquelles vous devez fournir une valeur. La valeur que vous fournissez pour la saisie d’une action est déterminée par le type de données et le format acceptés par l’action. Par exemple, les actions `aws:sleep` nécessitent une valeur de chaîne au format ISO 8601 pour l’entrée `Duration`.

Généralement, vous utilisez des actions dans le flux de travail de votre runbook qui renvoient des résultats que vous souhaitez utiliser dans les actions suivantes. Il est important de vous assurer que les valeurs d’entrée sont correctes afin d’éviter des erreurs dans le flux de travail de votre runbook. Les valeurs d’entrée sont également importantes car elles déterminent si l’action renvoie le résultat attendu. Par exemple, lorsque vous utilisez l’action `aws:executeAwsApi`, vous devez vous assurer que vous fournissez la bonne valeur pour l’opération d’API.

## Définir les données de sortie pour une action
<a name="defining-output"></a>

Certaines actions d’automatisation renvoient un résultat après avoir effectué les opérations définies. Les actions qui renvoient une sortie ont des sorties prédéfinies ou vous permettent de définir vous-même les sorties. Par exemple, l’action `aws:createImage` possède des sorties prédéfinies qui renvoient `ImageId` et `ImageState`. En comparaison, avec l’action `aws:executeAwsApi`, vous pouvez définir les sorties que vous souhaitez obtenir de l’opération d’API spécifiée. Par conséquent, vous pouvez renvoyer une ou plusieurs valeurs issues d’une seule opération d’API à utiliser dans les actions suivantes.

Pour définir vos propres sorties pour une action d’automatisation, vous devez spécifier le nom de la sortie, le type de données et la valeur de sortie. Pour continuer à utiliser l’action `aws:executeAwsApi` comme exemple, supposons que vous appelez l’opération d’API `DescribeInstances` depuis Amazon EC2. Dans cet exemple, vous souhaitez renvoyer, ou générer, le `State` d’une instance Amazon EC2 et diviser le flux de travail de votre runbook en fonction de la sortie. Vous choisissez de nommer la sortie **InstanceState** et d’utiliser le type de données **String**. 

Le processus de définition de la valeur réelle de la sortie varie en fonction de l’action. Par exemple, si vous utilisez l’action `aws:executeScript`, vous devez utiliser des déclarations `return` dans vos fonctions pour fournir des données à vos sorties. Avec d’autres actions telles que `aws:executeAwsApi`, `aws:waitForAwsResourceProperty` et `aws:assertAwsResourceProperty`, un `Selector` est requis. Le `Selector`, ou `PropertySelector` comme l’appellent certaines actions, est une chaîne JSONPath utilisée pour traiter la réponse JSON d’une opération d’API. Il est important de comprendre comment l’objet de réponse JSON issu d’une opération d’API est structuré afin de pouvoir sélectionner la valeur correcte pour votre sortie. À l’aide de l’opération d’API `DescribeInstances` mentionnée précédemment, consultez l’exemple de réponse JSON suivant :

```
{
  "reservationSet": {
    "item": {
      "reservationId": "r-1234567890abcdef0",
      "ownerId": 123456789012,
      "groupSet": "",
      "instancesSet": {
        "item": {
          "instanceId": "i-1234567890abcdef0",
          "imageId": "ami-bff32ccc",
          "instanceState": {
            "code": 16,
            "name": "running"
          },
          "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
          "dnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
          "reason": "",
          "keyName": "my_keypair",
          "amiLaunchIndex": 0,
          "productCodes": "",
          "instanceType": "t2.micro",
          "launchTime": "2018-05-08T16:46:19.000Z",
          "placement": {
            "availabilityZone": "eu-west-1c",
            "groupName": "",
            "tenancy": "default"
          },
          "monitoring": {
            "state": "disabled"
          },
          "subnetId": "subnet-56f5f000",
          "vpcId": "vpc-11112222",
          "privateIpAddress": "192.168.1.88",
          "ipAddress": "54.194.252.215",
          "sourceDestCheck": true,
          "groupSet": {
            "item": {
              "groupId": "sg-e4076000",
              "groupName": "SecurityGroup1"
            }
          },
          "architecture": "x86_64",
          "rootDeviceType": "ebs",
          "rootDeviceName": "/dev/xvda",
          "blockDeviceMapping": {
            "item": {
              "deviceName": "/dev/xvda",
              "ebs": {
                "volumeId": "vol-1234567890abcdef0",
                "status": "attached",
                "attachTime": "2015-12-22T10:44:09.000Z",
                "deleteOnTermination": true
              }
            }
          },
          "virtualizationType": "hvm",
          "clientToken": "xMcwG14507example",
          "tagSet": {
            "item": {
              "key": "Name",
              "value": "Server_1"
            }
          },
          "hypervisor": "xen",
          "networkInterfaceSet": {
            "item": {
              "networkInterfaceId": "eni-551ba000",
              "subnetId": "subnet-56f5f000",
              "vpcId": "vpc-11112222",
              "description": "Primary network interface",
              "ownerId": 123456789012,
              "status": "in-use",
              "macAddress": "02:dd:2c:5e:01:69",
              "privateIpAddress": "192.168.1.88",
              "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
              "sourceDestCheck": true,
              "groupSet": {
                "item": {
                  "groupId": "sg-e4076000",
                  "groupName": "SecurityGroup1"
                }
              },
              "attachment": {
                "attachmentId": "eni-attach-39697adc",
                "deviceIndex": 0,
                "status": "attached",
                "attachTime": "2018-05-08T16:46:19.000Z",
                "deleteOnTermination": true
              },
              "association": {
                "publicIp": "54.194.252.215",
                "publicDnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
                "ipOwnerId": "amazon"
              },
              "privateIpAddressesSet": {
                "item": {
                  "privateIpAddress": "192.168.1.88",
                  "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
                  "primary": true,
                  "association": {
                    "publicIp": "54.194.252.215",
                    "publicDnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
                    "ipOwnerId": "amazon"
                  }
                }
              },
              "ipv6AddressesSet": {
                "item": {
                  "ipv6Address": "2001:db8:1234:1a2b::123"
                }
              }
            }
          },
          "iamInstanceProfile": {
            "arn": "arn:aws:iam::123456789012:instance-profile/AdminRole",
            "id": "ABCAJEDNCAA64SSD123AB"
          },
          "ebsOptimized": false,
          "cpuOptions": {
            "coreCount": 1,
            "threadsPerCore": 1
          }
        }
      }
    }
  }
}
```

Dans l’objet de réponse JSON, l’instance `State` est imbriquée dans un objet `Instances`, qui est imbriqué dans l’objet `Reservations`. Pour renvoyer la valeur de l’instance `State`, utilisez la chaîne suivante pour le `Selector` de sorte que la valeur puisse être utilisée dans notre sortie : **\$1.Reservations[0].Instances[0].State.Name**.

Pour référencer une valeur de sortie dans les actions suivantes du flux de travail de votre runbook, le format suivant est utilisé : `{{ StepName.NameOfOutput }}`. Par exemple, **\$1\$1 GetInstanceState.InstanceState \$1\$1**. Dans l’expérience de conception visuelle, vous pouvez choisir les valeurs de sortie à utiliser dans les actions suivantes à l’aide de la liste déroulante des entrées. Lorsque vous utilisez des sorties dans des actions ultérieures, le type de données de la sortie doit correspondre au type de données de l’entrée. Dans cet exemple, la sortie `InstanceState` est un `String`. Par conséquent, pour utiliser la valeur dans l’entrée d’une action ultérieure, celle-ci doit accepter un `String`.

# Gestion des erreurs grâce à l’expérience de conception visuelle
<a name="visual-designer-error-handling"></a>

Par défaut, lorsqu’une action signale une erreur, Automation arrête complètement le flux de travail du runbook. Cela est dû au fait que la valeur par défaut de la propriété `onFailure` pour toutes les actions est `Abort`. Vous pouvez configurer la façon dont l’Automatisation gère les erreurs dans le flux de travail de votre runbook. Même si vous avez configuré la gestion des erreurs, certaines erreurs peuvent tout de même entraîner l’échec d’une automatisation. Pour de plus amples informations, veuillez consulter [Résolution des problèmes liés à Systems Manager Automation](automation-troubleshooting.md). Dans l’expérience de conception visuelle, vous configurez la gestion des erreurs dans le panneau **Configuration**.

![\[Options de gestion d’erreur\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_error_handling.png)


## Réessayer l’action en cas d’erreur
<a name="retry-actions"></a>

Pour réessayer une action en cas d’erreur, spécifiez une valeur pour la propriété **Tentatives maximum**. La valeur par défaut est 1. Si vous spécifiez une valeur supérieure à 1, l’action n’est pas considérée comme ayant échoué tant que toutes les tentatives n’ont pas échoué.

## Délais
<a name="timeout-seconds"></a>

Vous pouvez configurer un délai d’attente pour les actions afin de définir le nombre maximum de secondes pendant lesquelles votre action peut s’exécuter avant d’échouer. Pour configurer un délai d’attente, entrez le nombre de secondes pendant lesquelles votre action doit attendre avant qu’elle n’échoue dans la propriété **Délai en secondes**. Si le délai est expiré et que l’action a une valeur de `Max attempts` qui est supérieure à 1, alors l’étape n’est pas considérée comme ayant expirée jusqu’à ce que les tentatives soient terminées.

## Actions ayant échoué
<a name="failure-actions"></a>

Par défaut, lorsqu’une action échoue, Automation arrête complètement le flux de travail du runbook. Vous pouvez modifier ce comportement en spécifiant une valeur alternative pour la propriété **En cas d’échec** des actions de votre runbook. Si vous souhaitez que le flux de travail passe à l’étape suivante du runbook, choisissez **Continuer**. Si vous souhaitez que le flux de travail passe à une autre étape ultérieure du runbook, choisissez **Étape**, puis entrez le nom de l’étape.

## Actions annulées
<a name="cancel-actions"></a>

Par défaut, lorsqu’une action est annulée par un utilisateur, Automation arrête complètement le flux de travail du runbook. Vous pouvez modifier ce comportement en spécifiant une valeur alternative pour la propriété **Annuler** des actions de votre runbook. Si vous souhaitez que le flux de travail passe à une autre étape ultérieure du runbook, choisissez **Étape**, puis entrez le nom de l’étape.

## Actions critiques
<a name="critical-actions"></a>

Vous pouvez désigner une action comme *critique*, ce qui signifie qu’elle détermine le statut global des rapports de votre automatisation. Si une étape portant cette désignation échoue, Automation signale l’état final comme `Failed` indépendamment du succès des autres actions. Pour configurer une action comme critique, laissez la valeur par défaut comme **Vrai** pour la propriété **Est critique**.

## Fin des actions
<a name="end-actions"></a>

La propriété **Est fin** arrête une exécution d’automatisation à la fin de l’action spécifiée. La valeur par défaut pour cette propriété est `false`. Si vous configurez cette propriété pour une action, l’automatisation s’arrête, que l’action réussisse ou échoue. Cette propriété est le plus souvent utilisée avec des actions `aws:branch` destinées à gérer des valeurs d’entrée inattendues ou non définies. L’exemple suivant montre un runbook qui attend un état d’instance tel que `running`, `stopping`, ou `stopped`. Si une instance est dans un état différent, l’automatisation prend fin.

![\[L’expérience de conception visuelle est l’exemple final\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_is_end_example.png)


# Tutoriel : Création d’un runbook à l’aide de l’expérience de conception visuelle
<a name="visual-designer-tutorial"></a>

Dans ce tutoriel, vous apprendrez les bases de l’utilisation de l’expérience de conception visuelle fournie par Systems Manager Automation. Dans le cadre de l’expérience de conception visuelle, vous pouvez créer un runbook qui utilise plusieurs actions. Vous utilisez la fonctionnalité glisser-déposer pour organiser les actions sur le canevas. Vous pouvez également rechercher, sélectionner et configurer ces actions. Vous pouvez ensuite afficher le code YAML généré automatiquement pour le flux de travail de votre runbook, quitter l’expérience de conception visuelle, exécuter le runbook et consulter les détails d’exécution.

Ce tutoriel explique également comment mettre à jour le runbook et afficher la nouvelle version. À la fin du tutoriel, vous effectuez une étape de nettoyage et supprimez votre runbook.

Après avoir terminé ce tutoriel, vous saurez comment utiliser l’expérience de conception visuelle pour créer un runbook. Vous saurez également comment mettre à jour, exécuter et supprimer votre runbook.

**Note**  
Avant de commencer ce tutoriel, assurez-vous d’avoir terminé [Configuration d'Automation](automation-setup.md).

**Topics**
+ [Étape 1 : Navigation vers l’expérience de conception visuelle](#navigate-console)
+ [Étape 2 : Création d’un flux de travail](#create-workflow)
+ [Étape 3 : Vérification du code généré automatiquement](#view-generated-code)
+ [Étape 4 : Exécution de votre nouveau runbook](#use-tutorial-runbook)
+ [Étape 5 : nettoyer](#cleanup-tutorial-runbook)

## Étape 1 : Navigation vers l’expérience de conception visuelle
<a name="navigate-console"></a>

1. Connectez-vous à la [console Systems Manager Automation](https://console.aws.amazon.com/systems-manager/automation/home?region=us-east-1#/).

1. Sélectionnez **Créer un runbook d’Automatisation**.

## Étape 2 : Création d’un flux de travail
<a name="create-workflow"></a>

Dans l’expérience de conception visuelle, un flux de travail est une représentation graphique de votre runbook sur le canevas. Vous pouvez utiliser l’expérience de conception visuelle pour définir, configurer et examiner les actions individuelles de votre runbook.

**Pour créer un flux de travail**

1. À côté du bouton **Design** et **Code**, sélectionnez l’icône en forme de crayon et saisissez le nom de votre runbook. Dans le cadre de ce didacticiel, entrez **VisualDesignExperienceTutorial**.  
![\[Expérience de conception visuelle : nommez votre runbook\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_tutorial_name.png)

1. Dans la section **Attributs du document** du panneau **Formulaire**, développez le menu déroulant **Paramètres d’entrée**, puis sélectionnez **Ajouter un paramètre**.

   1. Dans le champ **Nom du paramètre**, saisissez **InstanceId**.

   1. Dans le menu déroulant **Type**, sélectionnez **AWS::EC2::Instance**.

   1. Sélectionnez le bouton **Obligatoire**.  
![\[Créez un paramètre pour votre runbook\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_actions_tutorial_parameter.png)

1. Dans le **AWS APIs**navigateur, entrez **DescribeInstances** dans la barre de recherche.

1. Faites glisser une DescribeInstances action **Amazon EC2** vers le canevas vide.

1. Pour **Nom étape**, saisissez une valeur. Pour ce tutoriel, vous pouvez utiliser le nom **GetInstanceState**.  
![\[Choisissez une action d’API de description des instances Amazon EC2.\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_tutorial_api_action.png)

   1. Développez le menu déroulant **Entrées supplémentaires**, puis dans le champ **Nom de l’entrée**, saisissez **InstanceIds**.

   1. Sélectionnez l’onglet **Entrées**.

   1. Dans le champ **Valeur d’entrée**, sélectionnez l’entrée du document **InstanceId**. Cela fait référence à la valeur du paramètre d’entrée que vous avez créé au début de la procédure. Étant donné que l'**InstanceIds**entrée de l'`DescribeInstances`action accepte `StringList` des valeurs, vous devez placer l'**InstanceId**entrée entre crochets. Le YAML pour la **valeur d’entrée** doit correspondre à ce qui suit : **['\$1\$1 InstanceId \$1\$1']**.

   1. Dans l’onglet **Sorties**, sélectionnez **Ajouter une sortie** et saisissez **InstanceState** dans le champ **Nom**.

   1. Dans le champ **Sélecteur**, saisissez **\$1.Reservations[0].Instances[0].State.Name**.

   1. Dans le menu déroulant **Type**, sélectionnez **String**.

1. Faites glisser une action **Branche** depuis le navigateur **Actions**, puis déposez-la en dessous de l’étape **`GetInstanceState`**. 

1. Pour **Nom étape**, saisissez une valeur. Pour ce tutoriel, utilisez le nom `BranchOnInstanceState`.

   Pour définir la logique de branchement, procédez comme suit :

   1. Choisissez l’état **`Branch`** sur le canevas. Ensuite, sous **Entrées** et **Choix**, sélectionnez l’icône en forme de crayon pour modifier la **Règle n°1**.

   1. Sélectionnez **Ajouter des conditions**.

   1. Dans la boîte de dialogue **Conditions pour la règle n°1**, sélectionnez le résultat de l’étape **GetInstanceState.InstanceState** dans le menu déroulant **Variable**.

   1. Pour **Opérateur**, sélectionnez **est égal à**.

   1. Pour **Valeur**, sélectionnez **String** dans la liste déroulante. Saisissez **stopped**.  
![\[Définissez une condition pour une action de branche.\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_tutorial_condition.png)

   1. Sélectionnez **Enregistrer les conditions**.

   1. Sélectionnez **Ajouter une nouvelle règle de choix**.

   1. Sélectionnez **Ajouter des conditions** pour la **Règle n°2**.

   1. Dans la boîte de dialogue **Conditions pour la règle n°2**, sélectionnez le résultat de l’étape **GetInstanceState.InstanceState** dans le menu déroulant **Variable**.

   1. Pour **Opérateur**, sélectionnez **est égal à**.

   1. Pour **Valeur**, sélectionnez **String** dans la liste déroulante. Saisissez **stopping**.

   1. Sélectionnez **Enregistrer les conditions**.

   1. Sélectionnez **Ajouter une nouvelle règle de choix**.

   1. Pour la **Règle n°3**, sélectionnez **Ajouter des conditions**.

   1. Dans la boîte de dialogue **Conditions pour la règle n°3**, sélectionnez le résultat de l’étape **GetInstanceState.InstanceState** dans le menu déroulant **Variable**.

   1. Pour **Opérateur**, sélectionnez **est égal à**.

   1. Pour **Valeur**, sélectionnez **String** dans la liste déroulante. Saisissez **running**.

   1. Sélectionnez **Enregistrer les conditions**.

   1. Dans la **Règle par défaut**, sélectionnez **Aller à la fin** pour l’**Etape par défaut**.

1. Faites glisser une action **Modifier l'état d'une instance** vers la zone vide **Faire glisser l'action ici** sous le **\$1\$1 GetInstanceState. InstanceState \$1\$1 == Condition « arrêtée »**.

   1. Pour le **Nom de l’étape**, saisissez **StartInstance**.

   1. Dans l'onglet **Entrées**, sous **Instance IDs**, choisissez la valeur d'entrée du **InstanceId**document dans le menu déroulant.

   1. Pour l’**Etat souhaité**, spécifiez **`running`**.

1. Faites glisser une action **Attendre la AWS ressource** vers la zone vide **Faire glisser l'action ici** sous le **\$1\$1 GetInstanceState. InstanceState \$1\$1 == condition « d'arrêt »**.

1. Pour **Nom étape**, saisissez une valeur. Pour ce tutoriel, utilisez le nom `WaitForInstanceStop`.

   1. Pour le champ **Service**, sélectionnez **Amazon EC2**.

   1. Pour le champ **API**, sélectionnez **DescribeInstances**.

   1. Pour le champ **Sélecteur de propriétés**, saisissez **\$1.Reservations[0].Instances[0].State.Name**.

   1. Pour le paramètre **Valeurs souhaitées**, saisissez **`["stopped"]`**.

   1. Dans l'onglet **Configuration** de l'**WaitForInstanceStop**action, choisissez dans le **StartInstance**menu déroulant **Étape suivante**.

1. Faites glisser une action **Exécuter la commande sur les instances** vers la zone vide **Drag action here** située sous le **\$1\$1 GetInstanceState. InstanceState \$1\$1 == condition « en cours d'exécution »**.

1. Pour le **Nom de l’étape**, saisissez **SayHello**.

   1. Dans l’onglet **Entrées**, saisissez **AWS-RunShellScript** pour le paramètre **Nom du document**.

   1. Pour **InstanceIds**, choisissez la valeur d'entrée du **InstanceId**document dans la liste déroulante.

   1. Développez le menu déroulant **Entrées supplémentaires**, puis sélectionnez **Paramètres** dans le menu déroulant **Nom de l’entrée**.

   1. Saisissez **`{"commands": "echo 'Hello World'"}`** dans le champ **Valeur de l’entrée**.

1. Passez en revue le runbook terminé dans le canevas et sélectionnez **Créer un runbook** pour enregistrer le runbook du tutoriel.  
![\[Vérifiez et créez le runbook.\]](http://docs.aws.amazon.com/fr_fr/systems-manager/latest/userguide/images/visual_designer_tutorial_complete.png)

## Étape 3 : Vérification du code généré automatiquement
<a name="view-generated-code"></a>

Lorsque vous glissez et déposez des actions depuis le navigateur **Actions** vers le canevas, l’expérience de conception visuelle compose automatiquement le contenu YAML ou JSON de votre runbook en temps réel. Vous pouvez consulter et modifier ce code. Pour afficher le code généré automatiquement, sélectionnez **Code** pour le commutateur **Conception** et **Code**.

## Étape 4 : Exécution de votre nouveau runbook
<a name="use-tutorial-runbook"></a>

Après avoir créé votre runbook, vous pouvez exécuter l’automatisation.

**Pour exécuter votre nouveau runbook d’automatisation**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, sélectionnez **Automation** (Automatisation), puis **Execute automation** (Exécuter l'automatisation).

1. Dans la liste **Automation document** (Document Automation), sélectionnez un runbook. Sélectionnez une ou plusieurs options dans le panneau **Document categories (Catégories de documents)** pour filtrer les documents SSM en fonction de leur but. Pour afficher un runbook vous appartenant, sélectionnez l'onglet **Owned by me (M'appartenant)**. Pour afficher un runbook partagé avec votre compte, sélectionnez l'onglet **Shared with me (Partagé avec moi)**. Pour afficher tous les runbooks, sélectionnez l'onglet **All documents (Tous les documents)**.
**Note**  
Vous pouvez consulter les informations sur un runbook en sélectionnant son nom.

1. Dans la section **Document details (Détails du document)**, vérifiez que l'option **Document version (Version de document)** correspond à la version que vous souhaitez exécuter. Le système inclut les options de version suivantes : 
   + **Version par défaut lors de l’exécution** : sélectionnez cette option si le runbook d’Automatisation est mis à jour régulièrement et qu’une nouvelle version par défaut est attribuée.
   + **Dernière version lors de l’exécution** : sélectionnez cette option si le runbook d’Automatisation est mis à jour régulièrement et que vous souhaitez exécuter la dernière version mise à jour.
   + **1 (Par défaut)** : sélectionnez cette option pour exécuter la première version du document, qui est la version par défaut.

1. Choisissez **Suivant**.

1. Dans la section **Exécuter le runbook d’Automatisation**, sélectionnez **Exécution simple**.

1. Dans la section **Input parameters (Paramètres d'entrée)**, spécifiez les entrées obligatoires. Vous pouvez éventuellement choisir un rôle de service IAM dans la **AutomationAssumeRole**liste.

1. (Facultatif) Choisissez une CloudWatch alarme Amazon à appliquer à votre automatisation à des fins de surveillance. Pour associer une CloudWatch alarme à votre automatisation, le principal IAM qui lance l'automatisation doit être autorisé à effectuer l'`iam:createServiceLinkedRole`action. Pour plus d'informations sur les CloudWatch alarmes, consultez la section [Utilisation des CloudWatch alarmes Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html). Si votre alarme s’active, l’automatisation s’arrête. Si vous utilisez AWS CloudTrail, vous verrez l'appel d'API dans votre journal. 

1. Sélectionnez **Execute (Exécuter)**. 

## Étape 5 : nettoyer
<a name="cleanup-tutorial-runbook"></a>

**Pour supprimer votre runbook**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le panneau de navigation, cliquez sur **Documents**.

1. Sélectionnez l’onglet **M’appartenant**.

1. Localisez le **VisualDesignExperienceTutorial**runbook.

1. Sélectionnez le bouton sur la page de la fiche du document, puis sélectionnez **Supprimer le document** dans le menu déroulant **Actions**.