cisco Création de tâches de flux de travail personnalisées
À propos des entrées de workflow personnalisées
Cisco UCS Director Orchestrator propose une liste de types d'entrée bien définis pour les tâches personnalisées. Cisco UCS Director vous permet également de créer une entrée de workflow personnalisée pour une tâche de workflow personnalisée. Vous pouvez créer un nouveau type d'entrée en clonant et en modifiant un type d'entrée existant.
Prérequis
Avant d'écrire des tâches personnalisées, vous devez remplir les conditions préalables suivantes :
- Cisco UCS Director est installé et en cours d'exécution sur votre système. Pour plus d'informations sur l'installation de Cisco UCS Director, reportez-vous au Guide d'installation et de configuration de Cisco UCS Director.
- Vous avez une connexion avec des privilèges d'administrateur. Vous devez utiliser cette connexion lorsque vous créez et modifiez des tâches personnalisées.
- Vous devez disposer de l'autorisation d'écriture de CloupiaScript pour écrire une tâche personnalisée à l'aide de CloupiaScript.
- Vous devez disposer de l'autorisation d'exécution de CloupiaScript pour exécuter une tâche personnalisée créée à l'aide de CloupiaScript.
Création d'une entrée de flux de travail personnalisée
Vous pouvez créer une entrée personnalisée pour une tâche de workflow personnalisée. L'entrée s'affiche dans la liste des types d'entrée que vous pouvez mapper aux entrées de tâche personnalisées lorsque vous créez une tâche de workflow personnalisée.
- Étape 1 Choisissez Orchestration.
- Étape 2 Cliquez sur Entrées de workflow personnalisées.
- Étape 3 Cliquez sur Ajouter.
- Étape 4 Sur l'écran Add CustomWorkflow Input, renseignez les champs suivants :
- Nom du type d'entrée personnalisé—Un nom unique pour le type d'entrée personnalisé.
- Type d'entrée—Cochez un type d'entrée et cliquez sur Sélectionner. En fonction de l'entrée sélectionnée, d'autres champs apparaissent. Par exempleample, lorsque vous choisissez Adresse e-mail comme type d'entrée, une liste de valeurs (LOV) s'affiche. Utilisez les nouveaux champs pour limiter les valeurs de l'entrée personnalisée.
- Étape 5 Cliquez sur Soumettre.
- L'entrée de workflow personnalisée est ajoutée à Cisco UCS Director et est disponible dans la liste des types d'entrée.
Validation d'entrée personnalisée
Les clients peuvent avoir besoin de valider les entrées de flux de travail à l'aide de ressources externes. Prêt à l'emploi, Cisco UCS Director ne peut pas répondre aux besoins de validation de chaque client. Pour combler cette lacune, Cisco UCS Director propose une option permettant de valider toute entrée lors de l'exécution à l'aide d'un script fourni par le client. Le script peut signaler des erreurs dans l'entrée et peut exiger une entrée valide avant d'exécuter une demande de service. Le script peut être écrit dans n'importe quelle langue, peut accéder à n'importe quelle ressource externe et a accès à toutes les valeurs d'entrée du workflow.
Vous pouvez écrire des scripts de validation personnalisés en utilisant JavaScript, Python, un script shell bash ou tout autre langage de script.
L'exemple suivantampLes scripts de validation peuvent être trouvés dans Cisco UCS Director dans Orchestration > Custom Workflow Inputs :
- Example-bash-script-validateur
- Example-javascript-validateur
- Example-python-validateur
Vous pouvez copier ou cloner l'exampFichier d'entrées de workflow scriptées pour créer une nouvelle entrée validée. Vous pouvez également utiliser l'exampUtilisez les entrées de flux de travail scriptées comme guide pour développer vos propres scripts.
Quel que soit le langage de script, les fonctionnalités et règles suivantes s'appliquent à la validation des entrées personnalisées par script :
- Toutes les validations par script sont exécutées dans un processus séparé, de sorte qu'un processus de validation défaillant n'affecte pas le processus Cisco UCS Director.
- Seules les entrées de texte génériques peuvent être validées à l'aide de scripts.
- Les scripts de validation sont exécutés un par un, dans l'ordre, dans le même ordre que celui dans lequel les entrées apparaissent dans la page des entrées du workflow. Un processus distinct est lancé pour chaque entrée validée.
- Une valeur de retour différente de zéro du script indique un échec de validation. Si vous le souhaitez, vous pouvez renvoyer un message d'erreur au formulaire de saisie du workflow.
- Toutes les entrées de workflow sont transmises au script de validation de deux manières :
- En tant qu'arguments du script sous la forme "clé" = "valeur".
- En tant que variables d'environnement pour le processus de script. Les noms de variables sont les étiquettes d'entrée.
Par exempleample, si le flux de travail a une entrée étiquetée comme Product-Code et que la valeur d'entrée est AbC123, la variable est transmise au script de validation sous la forme "Product-Code" = "AbC123".
Ces variables d'entrée peuvent être utilisées par le script si nécessaire pour mettre en œuvre la validation. Exception : les valeurs de table contiennent uniquement le numéro de ligne de la sélection de table et sont donc probablement inutiles.
- La page Modifier l'entrée de flux de travail personnalisé rend le script disponible dans l'éditeur de tâche personnalisée. La syntaxe est mise en surbrillance pour toutes les langues. Les erreurs de syntaxe sont vérifiées uniquement pour les validateurs JavaScript.
Clonage d'une entrée de workflow personnalisée
Vous pouvez utiliser une entrée de workflow personnalisée existante dans Cisco UCS Director pour créer une entrée de workflow personnalisée.
Avant de commencer
Une entrée de workflow personnalisée doit être disponible dans Cisco UCS Director.
- Étape 1 Choisissez Orchestration.
- Étape 2 Cliquez sur Entrées de workflow personnalisées.
- Étape 3 Cliquez sur la ligne contenant l'entrée de workflow personnalisée à cloner.
L'icône Cloner apparaît en haut du tableau des entrées de flux de travail personnalisé. - Étape 4 Cliquez sur Cloner.
- Étape 5 Saisissez le nom du type d'entrée personnalisé.
- Étape 6 Utilisez les autres commandes de l'écran Cloner l'entrée du flux de travail personnalisé pour personnaliser la nouvelle entrée.
- Étape 7 Cliquez sur Soumettre.
L'entrée de la tâche de workflow personnalisée est clonée après confirmation et peut être utilisée dans la tâche de workflow personnalisée.
Création d'une tâche personnalisée
Pour créer une tâche personnalisée, procédez comme suit :
- Étape 1 Choisissez Orchestration.
- Étape 2 Cliquez sur Tâches de workflow personnalisées.
- Étape 3 Cliquez sur Ajouter.
- Étape 4 Sur l'écran Ajouter une tâche de workflow personnalisée, renseignez les champs suivants :
- Champ Nom de la tâche—Un nom unique pour la tâche de workflow personnalisée.
- Champ Libellé de la tâche—Libellé permettant d'identifier la tâche de workflow personnalisée.
- Champ Enregistrer sous la catégorie—La catégorie de workflow sous laquelle la tâche de workflow personnalisée doit être enregistrée.
- Case à cocher Activer la tâche : si elle est cochée, la tâche de workflow personnalisée est enregistrée auprès d'Orchestrator et est immédiatement utilisable dans les workflows.
- Champ Brève description : description de la tâche de workflow personnalisée.
- Champ Description détaillée : description détaillée de la tâche de workflow personnalisée.
- Étape 5 Cliquez sur Suivant.
L'écran Entrées de tâches personnalisées s'affiche. - Étape 6 Cliquez sur Ajouter.
- Étape 7 Sur l'écran Ajouter une entrée aux entrées, renseignez les champs suivants :
- Champ Nom du champ d'entrée—Un nom unique pour le champ. Le nom doit commencer par un caractère alphabétique et ne doit pas contenir d'espaces ou de caractères spéciaux.
- Champ d'étiquette de champ d'entrée—Une étiquette pour identifier le champ d'entrée.
- Liste déroulante Type de champ d'entrée : choisissez le type de données du paramètre d'entrée.
- Mapper au champ Type d'entrée (pas de mappage) : choisissez un type d'entrée auquel ce champ peut être mappé, si ce champ peut être mappé à partir d'une autre sortie de tâche ou d'une entrée de flux de travail global.
- Case à cocher obligatoire— Si cochée, l'utilisateur doit fournir une valeur pour ce champ.
- Champ RBID : saisissez la chaîne RBID pour le champ.
- Liste déroulante Taille du champ d'entrée : choisissez la taille du champ pour les entrées de texte et tabulaires.
- Champ d'aide du champ de saisie—(Facultatif) Une description qui s'affiche lorsque vous passez la souris sur le champ.
- Champ d'annotation de champ de saisie—(Facultatif) Texte d'indication pour le champ de saisie.
- Champ Nom du groupe de champs—Si spécifié, tous les champs avec des noms de groupe correspondants sont placés dans le groupe de champs.
- Zone TEXT FIELD ATTRIBUTES : remplissez les champs suivants lorsque le type de champ d'entrée est du texte.
- Case à cocher Entrée multiple—Si cochée, le champ d'entrée accepte plusieurs valeurs en fonction du type de champ d'entrée :
- Pour une liste de valeurs : le champ d'entrée accepte plusieurs valeurs d'entrée.
- Pour un champ de texte—Le champ de saisie devient un champ de texte multiligne.
- Champ Longueur maximale de saisie — Spécifiez le nombre maximal de caractères que vous pouvez saisir dans le champ de saisie.
- Zone ATTRIBUTS LOV—Renseignez les champs suivants lorsque le type d'entrée est Liste de valeurs (LOV) ou LOV avec boutons radio.
- Champ Liste de valeurs : liste de valeurs séparées par des virgules pour les listes de valeurs intégrées.
Champ Nom du fournisseur LOV : nom du fournisseur LOV pour les listes de valeurs non intégrées. - Zone ATTRIBUTS DE TABLE—Renseignez les champs suivants lorsque le type de champ d'entrée est Table, Table contextuelle ou Table avec case à cocher de sélection.
- Champ Nom de table : nom du rapport tabulaire pour les types de champ de table.
- Zone FIELD INPUT VALIDATION : un ou plusieurs des champs suivants s'affichent en fonction du type de données sélectionné. Complétez les champs pour spécifier comment les champs d'entrée sont validés.
- Liste déroulante Input Validator : choisissez un validateur pour l'entrée utilisateur.
- Champ d'expression régulière : modèle d'expression régulière auquel faire correspondre la valeur d'entrée.
- Champ Message d'expression régulière : message qui s'affiche lorsque la validation de l'expression régulière échoue.
- Champ Valeur minimale—Une valeur numérique minimale.
- Champ Valeur maximale—Une valeur numérique maximale.
- Zone HIDE ON FIELD CONDITION : remplissez les champs suivants pour définir la condition de masquage du champ dans un formulaire.
- Masquer le champ Nom du champ—Un nom interne au champ afin que le programme qui gère le formulaire puisse identifier le champ.
- Masquer le champ Valeur du champ—La valeur qui doit être envoyée une fois le formulaire soumis.
- Liste déroulante Hide On Field Condition (Masquer sur la condition de champ) : choisissez une condition dans laquelle le champ doit être masqué.
- Champ d'aide HTML—Les instructions d'aide pour le champ masqué.
- Étape 8 Cliquez sur Soumettre.
L'entrée d'entrée est ajoutée au tableau. - Étape 9 Cliquez sur Ajouter pour ajouter d'autres entrées aux entrées.
- Étape 10 Lorsque vous avez terminé d'ajouter des entrées, cliquez sur Suivant.
L'écran Sorties des tâches de workflow personnalisées s'affiche. - Étape 11 Cliquez sur Ajouter.
- Étape 12 Sur l'écran Ajouter une entrée aux sorties, renseignez les champs suivants :
- Champ Nom du champ de sortie —Un nom unique pour le champ de sortie. Il doit commencer par un caractère alphabétique et ne doit pas contenir d'espaces ni de caractères spéciaux.
- Champ Description du champ de sortie — Une description du champ de sortie.
- Champ Type de champ de sortie—Cochez un type de sortie. Ce type détermine comment la sortie peut être mappée à d'autres entrées de tâche.
- Étape 13 Cliquez sur Soumettre.
L'entrée de sortie est ajoutée au tableau. - Étape 14 Cliquez sur Ajouter pour ajouter d'autres entrées aux sorties.
- Étape 15 Cliquez sur Suivant
L'écran du contrôleur apparaît - Étape 16 (Facultatif) Cliquez sur Ajouter pour ajouter un contrôleur.
- Étape 17 Sur l'écran Ajouter une entrée au contrôleur, renseignez les champs suivants :
- Liste déroulante Méthode : choisissez une méthode de regroupement ou de désagrégation pour personnaliser les entrées et/ou les sorties de la tâche de workflow personnalisée. La méthode peut être l'une des suivantes :
- Avant Marshall : utilisez cette méthode pour ajouter ou définir un champ de saisie et créer et définir dynamiquement la liste de valeurs sur une page (formulaire).
- Après Marshall—Utilisez cette méthode pour masquer ou afficher un champ de saisie.
- Before Unmarshall—Utilisez cette méthode pour convertir une valeur d'entrée d'un formulaire à un autre—par exempleample, lorsque vous souhaitez chiffrer un mot de passe avant de l'envoyer à la base de données.
- After Unmarshall : utilisez cette méthode pour valider une entrée utilisateur et définir le message d'erreur sur la page.
Voir Example: Utilisation des contrôleurs, à la page 14. - Zone de texte du script : pour la méthode que vous avez choisie dans la liste déroulante Méthode, ajoutez le code du script de personnalisation de l'interface graphique.
Note Cliquez sur Ajouter si vous souhaitez ajouter du code pour plus de méthodes.
S'il existe des validations pour les mots de passe saisis, assurez-vous de modifier la validation du contrôleur pour les mots de passe afin de pouvoir modifier les tâches personnalisées dans les workflows.
Note
- Étape 18 Cliquez sur Soumettre.
Le contrôleur est ajouté au tableau. - Étape 19 Cliquez sur Suivant.
L'écran Script s'affiche. - Étape 20 Dans la liste déroulante Langue d'exécution, choisissez une langue.
- Étape 21 Dans le champ Script, saisissez le code CloupiaScript de la tâche de workflow personnalisée.
Le code Cloupia Script est validé lors de la saisie du code. S'il y a une erreur dans le code, une icône d'erreur (croix rouge) s'affiche à côté du numéro de ligne. Passez la souris sur l'icône d'erreur pour view le message d'erreur et la solution - Étape 22 Cliquez sur Enregistrer le script.
- Étape 23 Cliquez sur Soumettre.
La tâche de workflow personnalisée est créée et peut être utilisée dans le workflow
Tâches et référentiels personnalisés
Lorsque vous créez une tâche personnalisée, plutôt que de saisir le code de la tâche personnalisée dans la fenêtre de script ou de couper et coller du code à partir d'un éditeur de texte, vous pouvez importer le code à partir d'un file stocké dans un référentiel GitHub ou BitBucket. Pour ce faire, vous :
- Créer un ou plusieurs textes files dans un référentiel GitHub ou BitBucket, soit sur github.com, soit dans un référentiel GitHub d'entreprise privée.
Remarque Cisco UCS Director prend uniquement en charge GitHub (github.com ou une instance GitHub d'entreprise) et/ou BitBucket. Il ne prend pas en charge les autres services d'hébergement Git, notamment GitLab, Perforce ou Codebase. - Enregistrez le référentiel dans Cisco UCS Director. Reportez-vous à Ajouter un référentiel GitHub ou BitBucket dans Cisco UCS Director, à la page 7.
- Sélectionnez le référentiel et spécifiez le texte file qui contient le script de tâche personnalisé. Reportez-vous à Téléchargement du code de script de tâche personnalisé à partir d'un référentiel GitHub ou BitBucket, à la page 8.
Ajout d'un référentiel GitHub ou BitBucket dans Cisco UCS Director
Pour enregistrer un référentiel GitHub ou BitBucket dans Cisco UCS Director, procédez comme suit :
Avant de commencer
Créez un référentiel GitHub ou BitBucket. Le référentiel peut se trouver sur n'importe quel serveur GitHub ou BitBucket, public ou privé, accessible depuis votre directeur Cisco UCS.
Enregistrez un ou plusieurs files contenant du code JavaScript pour vos tâches personnalisées dans votre référentiel.
- Étape 1 Choisissez Administration > Intégration.
- Étape 2 Sur la page Intégration, cliquez sur Gérer les référentiels.
- Étape 3 Cliquez sur Ajouter.
- Étape 4 Sur la page Ajouter un référentiel, renseignez les champs obligatoires, y compris les suivants :
- Dans le champ Surnom du référentiel, entrez un nom pour identifier le référentiel dans Cisco UCS Director.
- Dans le référentiel URL , entrez le URL du référentiel GitHub ou BitBucket.
- Dans le champ Nom de la branche, entrez le nom de la branche du référentiel que vous souhaitez utiliser. Le nom par défaut est la branche principale.
- Dans le champ Utilisateur du référentiel, saisissez le nom d'utilisateur de votre compte GitHub ou BitBucket.
- Pour ajouter le référentiel GitHub, dans le champ Password/API Token, entrez le jeton API généré pour votre GitHub.
Pour générer le jeton d'API à l'aide de GitHub, cliquez sur Paramètres et accédez à Paramètres du développeur > Jetons d'accès personnels, puis cliquez sur Générer un nouveau jeton.
Pour noter ajouter le référentiel BitBucket, dans le champ Password/API Token, entrez le mot de passe de votre BitBucket. - Pour utiliser ce référentiel par défaut lorsque vous créez une nouvelle tâche personnalisée, cochez Faire de ce référentiel mon référentiel par défaut.
- Pour tester si Cisco UCS Director peut accéder au référentiel, cliquez sur Tester la connectivité.
L'état de la connectivité avec le référentiel est affiché dans un bandeau en haut de la page.
Si vous ne parvenez pas à vous connecter et à communiquer avec le référentiel GitHub ou BitBucket à partir de Cisco UCS
Director, mettez à jour Cisco UCS Director pour accéder à Internet via un serveur proxy. Reportez-vous au Guide d'administration du directeur Cisco UCS.
Note
- Étape 5 Lorsque vous êtes satisfait de l'exactitude des informations du référentiel, cliquez sur Soumettre.
Téléchargement du code de script de tâche personnalisé à partir d'un référentiel GitHub ou BitBucket
Pour créer une nouvelle tâche personnalisée en important du texte à partir d'un dépôt GitHub ou BitBucket, procédez comme suit :
Avant de commencer
Créez un référentiel GitHub ou BitBucket et archivez un ou plusieurs textes files contenant le code JavaScript pour vos tâches personnalisées dans votre référentiel.
Ajoutez le référentiel GitHub à Cisco UCS Director. Reportez-vous à Ajouter un référentiel GitHub ou BitBucket dans Cisco UCS Director, à la page
- Étape 1 Sur la page Orchestration, cliquez sur Tâches de workflow personnalisées.
- Étape 2 Cliquez sur Ajouter.
- Étape 3 Renseignez les champs obligatoires sur la page Informations sur la tâche personnalisée. Voir Créer une tâche personnalisée, à la page 3.
- Étape 4 Renseignez les champs obligatoires sur la page Entrées de tâche personnalisées. Voir Créer une tâche personnalisée, à la page 3.
- Étape 5 Renseignez les champs obligatoires sur la page Sorties de tâche personnalisées. Voir Créer une tâche personnalisée, à la page 3.
- Étape 6 Renseignez les champs obligatoires sur la page Contrôleur. Voir Créer une tâche personnalisée, à la page 3.
- Étape 7 Sur la page Script, renseignez les champs obligatoires :
- Dans la liste déroulante Langage d'exécution, sélectionnez JavaScript.
- Cochez Utiliser le référentiel pour les scripts pour permettre à la tâche personnalisée d'utiliser un script file à partir d'un référentiel. Cela vous permet de sélectionner le référentiel et de spécifier le script file à utiliser.
- Dans la liste déroulante Sélectionner le référentiel, sélectionnez le référentiel GitHub ou BitBucket contenant le script files. Pour plus d'informations sur l'ajout de référentiels, consultez Ajouter un référentiel GitHub ou BitBucket dans Cisco UCS Director, à la page 7.
- Entrez le chemin d'accès complet au script file dans le Scénario filechamp de texte du nom.
- Pour télécharger le script, cliquez sur Charger le script.
Le texte de la file est copié dans la zone d'édition du texte du script. - Facultativement, apportez des modifications au script téléchargé dans la zone de modification du texte du script.
- Pour enregistrer le script tel qu'il apparaît dans la zone d'édition du texte du script, cliquez sur Enregistrer le script.
Lorsque vous appuyez sur Enregistrer le script, le script est enregistré dans votre session de travail en cours. Vous devez cliquer sur Soumettre pour enregistrer le script dans la tâche personnalisée que vous modifiez.
Note
- Étape 8 Pour enregistrer la tâche personnalisée, cliquez sur Soumettre.
Si vous avez apporté des modifications au script téléchargé dans la zone de modification du texte du script, les modifications sont enregistrées dans la tâche personnalisée. Aucune modification n'est enregistrée dans le référentiel GitHub ou BitBucket. Si vous souhaitez supprimer le script chargé et entrer votre propre script, cliquez sur Discard Script pour effacer la fenêtre de script.
Que faire ensuite
Vous pouvez utiliser la nouvelle tâche personnalisée dans un workflow.
Importation de workflows, de tâches personnalisées, de modules de script et d'activités
Pour importer des artefacts dans Cisco UCS Director, procédez comme suit :
Note Les variables globales associées à un workflow seront importées lors de l'importation d'un workflow si la variable globale n'est pas disponible dans l'appliance.
- Étape 1 Choisissez Orchestration.
- Étape 2 Sur la page Orchestration, cliquez sur Workflows.
- Étape 3 Cliquez sur Importer.
- Étape 4 Sur l'écran Importer, cliquez sur Sélectionner un File.
- Étape 5 Sur le Choisir File à l'écran de téléchargement, choisissez le file à importer. Importation et exportation de Cisco UCS Director files ont un .wfdx file extension.
- Étape 6 Cliquez sur Ouvrir.
Lorsque le file est téléchargé, le File L'écran de téléchargement/validation s'affiche File prêt à l'emploi et clé. - Étape 7 Entrez la clé saisie lors de l'exportation du file.
- Étape 8 Cliquez sur Suivant.
L'écran Import Policies affiche une liste d'objets Cisco UCS Director contenus dans les file. - Étape 9 (Facultatif) Sur l'écran Importer les politiques, spécifiez comment les objets sont traités s'ils dupliquent des noms déjà dans le dossier de workflow. Sur l'écran d'importation, remplissez les champs suivants
Nom | Description |
Flux de travail | Choisissez parmi les options suivantes pour spécifier la manière dont les flux de travail portant le même nom sont gérés :
|
Tâches personnalisées | Choisissez parmi les options suivantes pour spécifier la manière dont les tâches personnalisées portant le même nom sont gérées :
|
Nom | Description |
Modules de scripts | Choisissez parmi les options suivantes pour spécifier la manière dont les modules de script portant le même nom sont gérés :
|
Activités | Choisissez parmi les options suivantes pour spécifier la manière dont les activités portant le même nom sont gérées :
|
Importer des workflows dans un dossier | Chcochez Importer les workflows dans le dossier pour importer les workflows. Si vous ne cochez pas Import Workflows to Folder et si aucune version existante d'un workfloww existe, ce workflow n'est pas importé. |
Sélectionner un dossier | Choisissez un dossier dans lequel importer les workflows. Si vous avez choisi [Nouveau Dossier..]
dans la liste déroulante, le Nouveau dossier champ apparaît. |
Nouveau dossier | Entrez le nom du nouveau dossier à créer comme dossier d'importation. |
- Étape 10 Cliquez sur Importer.
Exportation de workflows, de tâches personnalisées, de modules de script et d'activités
Pour exporter des artefacts depuis Cisco UCS Director, procédez comme suit :
Remarque Les variables globales associées à un workflow seront automatiquement exportées lors de l'exportation d'un workflow.
- Étape 1 Cliquez sur Exporter.
- Étape 2 Sur l'écran Sélectionner les workflows, choisissez les workflows que vous souhaitez exporter.
Les workflows, tâches et scripts personnalisés créés dans Cisco UCS Director avant la version 6.6 peuvent ne pas être importés s'ils contiennent des données XML.
Note - Étape 3 Cliquez sur Suivant.
- Étape 4 Sur l'écran Sélectionner les tâches personnalisées, choisissez les tâches personnalisées que vous souhaitez
Remarque La tâche personnalisée exportée contient toutes les entrées personnalisées utilisées par cette tâche personnalisée. - Étape 5 Cliquez sur Suivant.
- Étape 6 Dans l'écran Exporter : Sélectionner les modules de script, choisissez les modules de script que vous souhaitez exporter.
- Étape 7 Cliquez sur Suivant.
- Étape 8 Sur l'écran Exporter : Sélectionner les activités, choisissez les activités que vous souhaitez exporter.
- Étape 9 Cliquez sur Suivant.
- Étape 10 Sur l'écran Exporter : Sélectionner les API ouvertes, choisissez les API que vous souhaitez exporter.
- Étape 11 Sur l'écran Exporter : Confirmation, renseignez les champs suivants :
Nom | Description |
Exporté par | Votre nom ou une note indiquant qui est responsable de l'exportation. |
Commentaires | Commentaires sur cette exportation. |
Crypter l'export file | Cochez la case Crypter l'export file case à cocher pour chiffrer file à exporter. Par défaut, la case est cochée. |
Clé | Saisissez la clé de cryptage du file.
Ce champ s'affiche uniquement lorsque l'option Chiffrer l'export file case à cocher est cochée. Conservez la clé telle qu'elle est nécessaire lors de l'importation du flux de travail pour le déchiffrement. |
Confirmer la clé | Saisissez à nouveau la clé pour confirmation.
Ce champ s'affiche uniquement lorsque l'option Chiffrer l'export file case à cocher est cochée. |
Exporté File Nom | Le nom de la file sur votre système local. Tapez uniquement la base fileNom; les file l'extension de type (.wfdx) est ajoutée automatiquement. |
- Étape 12 Cliquez sur Exporter.
Vous êtes invité à enregistrer le file.
Clonage d'une tâche de workflow personnalisée à partir de la bibliothèque de tâches
Vous pouvez cloner des tâches dans la bibliothèque de tâches à utiliser pour créer des tâches personnalisées. Vous pouvez également cloner une tâche personnalisée pour créer une tâche personnalisée.
La tâche clonée est un framework avec les mêmes entrées et sorties de tâche que la tâche d'origine. Cependant, la tâche clonée n'est qu'un framework. Cela signifie que vous devez écrire toutes les fonctionnalités de la nouvelle tâche dans CloupiaScript.
Notez également que les valeurs de sélection pour les entrées de liste, telles que les listes déroulantes et les listes de valeurs, sont transférées vers la tâche clonée uniquement si les valeurs de liste ne dépendent pas du système. Des éléments tels que les noms et les adresses IP des systèmes existants dépendent du système ; des éléments tels que les options de configuration prises en charge par Cisco UCS Director ne le sont pas. Par exempleample fichier, les groupes d'utilisateurs, les noms de cloud et les groupes de ports dépendent du système ; les rôles d'utilisateur, les types de cloud et les types de groupe de ports ne le sont pas.
- Étape 1 Choisissez Orchestration.
- Étape 2 Cliquez sur Tâches de workflow personnalisées.
- Étape 3 Cliquez sur Cloner à partir de la bibliothèque de tâches.
- Étape 4 Sur l'écran Cloner à partir de la bibliothèque de tâches, cochez la ligne contenant la tâche que vous souhaitez cloner.
- Étape 5 Cliquez sur Sélectionner.
Une tâche de workflow personnalisée est créée à partir de la bibliothèque de tâches. La nouvelle tâche personnalisée est la dernière tâche personnalisée du rapport Tâches de flux de travail personnalisées. La nouvelle tâche personnalisée porte le nom de la tâche clonée, avec la date ajoutée. - Étape 6 Cliquez sur Soumettre
Que faire ensuite
Modifiez la tâche de workflow personnalisée pour vous assurer que le nom et la description appropriés sont en place pour la tâche clonée.
Clonage d'une tâche de workflow personnalisée
Vous pouvez utiliser une tâche de workflow personnalisée existante dans Cisco UCS Director pour créer une tâche de workflow personnalisée.
Avant de commencer
Une tâche de workflow personnalisée doit être disponible dans Cisco UCS Director.
- Étape 1 Choisissez Orchestration.
- Étape 2 Cliquez sur Tâches de workflow personnalisées.
- Étape 3 Cliquez sur la ligne contenant la tâche de workflow personnalisée que vous souhaitez cloner.
L'icône Cloner apparaît en haut du tableau des tâches de workflow personnalisé. - Étape 4 Cliquez sur Cloner.
- Étape 5 Sur l'écran Cloner la tâche de workflow personnalisée, mettez à jour les champs obligatoires.
- Étape 6 Cliquez sur Suivant.
Les entrées définies pour les tâches de workflow personnalisées s'affichent. - Étape 7 Cliquez sur la ligne contenant l'entrée de tâche que vous souhaitez modifier et cliquez sur Modifier pour modifier les entrées de tâche.
- Étape 8 Cliquez sur Ajouter pour ajouter une entrée d'entrée de tâche.
- Étape 9 Cliquez sur Suivant.
Modifiez les sorties de la tâche. - Étape 10 Cliquez sur Ajouter pour ajouter une nouvelle entrée de sortie.
- Étape 11 Cliquez sur Suivant.
- Étape 12 Modifiez les scripts du contrôleur. Reportez-vous à Contrôle des entrées de tâche de flux de travail personnalisé, à la page 13.
- Étape 13 Cliquez sur Suivant.
- Étape 14 Pour personnaliser la tâche personnalisée, modifiez le script de tâche.
- Étape 15 Cliquez sur Soumettre
Contrôle des entrées de tâche de flux de travail personnalisé
Utilisation de contrôleurs
Vous pouvez modifier l'apparence et le comportement des entrées de tâche personnalisées à l'aide de l'interface du contrôleur disponible dans Cisco UCS Director.
Quand utiliser les contrôleurs
Utilisez des contrôleurs dans les scénarios suivants :
- Pour implémenter un comportement complexe d'affichage et de masquage de l'interface graphique, y compris un contrôle plus fin des listes de valeurs, des listes tabulaires de valeurs et d'autres contrôles d'entrée affichés à l'utilisateur.
- Pour implémenter une logique complexe de validation des entrées utilisateur.
Avec les contrôleurs d'entrée, vous pouvez effectuer les opérations suivantes :
- Afficher ou masquer les contrôles de l'interface graphique : vous pouvez afficher ou masquer de manière dynamique divers champs de l'interface graphique tels que les cases à cocher, les zones de texte, les listes déroulantes et les boutons, en fonction des conditions. Par exempleample, si un utilisateur sélectionne UCSM dans une liste déroulante, vous pouvez demander les informations d'identification de l'utilisateur pour Cisco UCS Manager ou modifier la liste de valeurs (LOV) dans la liste déroulante pour afficher uniquement les ports disponibles sur un serveur.
- Validation des champs de formulaire : vous pouvez valider les données saisies par un utilisateur lors de la création ou de la modification de workflows dans le concepteur de workflow. Pour les données non valides saisies par l'utilisateur, des erreurs peuvent être affichées. Les données d'entrée utilisateur peuvent être modifiées avant d'être conservées dans la base de données ou avant d'être conservées sur un périphérique.
- Récupérer dynamiquement une liste de valeurs : vous pouvez récupérer dynamiquement une liste de valeurs à partir d'objets Cisco UCS Director et les utiliser pour remplir des objets de formulaire GUI.
Marshalling et Unmarshalling des objets de formulaire GUI
Les contrôleurs sont toujours associés à un formulaire dans l'interface d'entrées de tâches de Workflow Designer. Il existe un mappage un à un entre un formulaire et un contrôleur. Les contrôleurs fonctionnent en deux stages, rassemblement et désorganisation. Les deuxtages ont deux sous-marinstages, avant et après. Pour utiliser un contrôleur, vous rassemblez (contrôlez les champs de formulaire de l'interface utilisateur) et/ou désassemblez (validez les entrées de l'utilisateur) les objets de formulaire de l'interface graphique associés à l'aide des scripts du contrôleur.
Le tableau suivant résume ces staget.
Stage | Sous-stage |
Triage — Utilisé pour masquer et afficher les champs de formulaire et pour un contrôle avancé des listes de valeurs et des listes de valeurs tabulaires. | avant Marshall — Utilisé pour ajouter ou définir un champ de saisie et créer et définir dynamiquement la liste de valeurs sur une page (formulaire).
après Marshall — Utilisé pour masquer ou afficher un champ de saisie. |
Stage | Sous-stage |
Désarmer – Utilisé pour la validation des entrées utilisateur du formulaire. | avant Unmarshall — Utilisé pour convertir une valeur d'entrée d'un formulaire vers un autre formulaire, par example, pour chiffrer le mot de passe avant de l'envoyer à la base de données.
après Unmarshall — Utilisé pour valider une entrée utilisateur et définir le message d'erreur sur la page. |
Création de scripts de contrôleur
Les contrôleurs ne nécessitent aucun package supplémentaire pour être importés.
Vous ne transmettez pas de paramètres aux méthodes du contrôleur. Au lieu de cela, le framework Cisco UCS Director rend les paramètres suivants disponibles pour une utilisation dans le marshalling et le unmarshalling :
Paramètre | Description | Example |
Page | La page ou le formulaire qui contient toutes les entrées de tâche. Vous pouvez utiliser ce paramètre pour effectuer les opérations suivantes :
|
page.setHidden(id + ".portList", vrai); page.setValue(id + ".status", "Aucun port n'est actif. La liste des ports est masquée"); |
id | L'identifiant unique du champ de saisie du formulaire. Un identifiant est généré par le framework et peut être utilisé avec le nom du champ de saisie du formulaire. | page.setValue(id + ".status", "Aucun port n'est activé. La liste des ports est masquée");// ici "status" est le nom du champ de saisie. |
Caca | POJO (plain old Java object) est un bean Java représentant un formulaire de saisie. Chaque page GUI doit avoir un POJO correspondant contenant les valeurs du formulaire. Le POJO est utilisé pour conserver les valeurs dans la base de données ou pour envoyer les valeurs à un périphérique externe. | pojo.setLunSize(asciiValue); //définir la valeur du champ d'entrée 'lunSize' |
Voir Example: Utilisation des contrôleurs, à la page 14 pour un code de travail sampfichier qui illustre la fonctionnalité du contrôleur.
Example : Utilisation des contrôleurs
Le code suivant example montre comment implémenter la fonctionnalité du contrôleur dans les tâches de flux de travail personnalisées à l'aide des différentes méthodes - avant Marshall, après Marshall, avant Unmarshall et après Unmarshall.
/*
Descriptions des méthodes :
Avant Marshall : utilisez cette méthode pour ajouter ou définir un champ de saisie et créer et définir dynamiquement la liste de valeurs sur une page (formulaire).
Après Marshall : utilisez cette méthode pour masquer ou afficher un champ de saisie.
Avant UnMarshall : utilisez cette méthode pour convertir une valeur d'entrée d'un formulaire à un autre,
par exempleample, lorsque vous souhaitez crypter le mot de passe avant de l'envoyer à la base de données. Après UnMarshall : utilisez cette méthode pour valider une entrée utilisateur et définir le message d'erreur sur
page.
*/
//Avant Marshall :
/*
Utilisez la méthode beforeMarshall lorsqu'il y a un changement dans le champ de saisie ou pour créer dynamiquement des listes de valeurs et pour définir le nouveau champ de saisie sur le formulaire avant qu'il ne soit chargé.
Dans l'exampci-dessous, un nouveau champ de saisie 'portList' est ajouté sur la page avant que le formulaire ne soit affiché dans un navigateur.
*/
importPackage(com.cloupia.model.cIM);
importPackage(java.util);
importPackage(java.lang);
var liste_ports = nouvelle ListeArray();
var lovLabel = "eth0" ;
var lovValue = "eth0" ;
var portListLOV = nouveau tableau();
portListLOV[0] = new FormLOVPair(lovLabel, lovValue);//créer le champ de saisie lov
//le paramètre 'page' est utilisé pour définir le champ de saisie sur le formulaire
page.setEmbeddedLOVs(id + ".portList", portListLOV);// définir le champ de saisie sur le formulaire =========================== ================================================= ================================
//Après Marshall :
/*
Utilisez cette méthode pour masquer ou afficher un champ de saisie.
*/
page.setHidden(id + ".portList", vrai); //cache le champ de saisie 'portList'.
page.setValue(id + ".status", "Aucun port n'est actif. La liste des ports est masquée");
page.setEditable(id + ".status", faux);
================================================== ================================================== =========
//Avant de désorganiser :
/*
Utilisez la méthode beforeUnMarshall pour lire l'entrée utilisateur et la convertir dans un autre formulaire avant de l'insérer dans la base de données. Par exempleample, vous pouvez lire le mot de passe et stocker le mot de passe dans la base de données après l'avoir converti en encodage base64, ou lire le nom de l'employé et le convertir en identifiant de l'employé lorsque le nom de l'employé est envoyé à la base de données.
Dans le code exampLe chier sous la taille lun est lu et converti en une valeur ASCII.
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
var size = page.getValue(id + ".lunSize");
var logger = Logger.getLogger("mon logger");
si(taille != null){
logger.info("Valeur de taille "+taille);
if((new java.lang.String(size)).matches("\\d+")){ var byteValue = size.getBytes("US-ASCII"); //convertir la taille lun et obtenir le tableau de caractères ASCII
var asciiValueBuilder = new StringBuilder();
for (var i = 0; i < byteValue.length; i++) {
asciiValueBuilder.append(byteValue[i]);
}
var asciiValue = asciiValueBuilder.toString()+” – Ascii
valeur"
//id + ".lunSize" est l'identifiant du champ de saisie
page.setValue(id + ".lunSize",asciiValue); //le paramètre
'page' est utilisé pour définir la valeur du champ de saisie .
pojo.setLunSize(asciiValue); // définit la valeur sur le pojo.
Ce pojo sera envoyé à la base de données ou à un périphérique externe
}
================================================== ================================================== =========
// Après unMarshall :
/*
Utilisez cette méthode pour valider et définir un message d'erreur.
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
//taille de la variable = pojo.getLunSize();
var size = page.get Value(id + ".lunSize");
var logger = Logger .get Logger("mon logger");
logger.info("Valeur de taille "+taille);
if (taille > 50) {//valide la taille
page. set Error(id+".lunSize", "La taille du LUN ne peut pas dépasser 50 Mo" ); //Positionner
le message d'erreur sur la page
page .set Page Message ("La taille du LUN ne peut pas dépasser 50 Mo");
//page. définir le statut de la page (2);
}
Utilisation de la sortie d'une tâche précédente dans un workflow
Vous pouvez utiliser la sortie d'une tâche précédente comme entrée pour une autre tâche dans un workflow directement à partir du script d'une tâche personnalisée et d'une tâche Exécuter Cloupia Script de la bibliothèque de tâches.
Pour accéder à cette sortie, vous pouvez utiliser l'une des méthodes suivantes :
- Récupérez la variable du contexte de workflow à l'aide de la méthode get Input().
- Reportez-vous à la sortie en utilisant la notation de variable système.
Pour récupérer une sortie à l'aide de la méthode contextuelle getInput(), utilisez :
var nom = ctxt.getInput("PreviousTaskName.outputFieldName");
Par exempleample:
var nom = ctxt.getInput("custom_task1_1684.NAME"); // NAME est le nom de la sortie task1
champ auquel vous voulez accéder
Pour récupérer une sortie à l'aide de la notation de variable système, utilisez :
var name = "${Nom de la tâche précédente. Nom du champ de sortie} » ;
Par exempleample:
var nom = "${custom_task1_1684.NAME}" ; // NAME est le nom du champ de sortie task1 auquel vous souhaitez accéder
Example : Création et exécution d'une tâche personnalisée
Pour créer une tâche personnalisée, procédez comme suit :
- Étape 1 Choisissez Orchestration.
- Étape 2 Cliquez sur Tâches de workflow personnalisées.
- Étape 3 Cliquez sur Ajouter et saisissez les informations de la tâche personnalisée.
- Étape 4 Cliquez sur Suivant.
- Étape 5 Cliquez sur + et ajoutez les détails d'entrée.
- Étape 6 Cliquez sur Soumettre.
- Étape 7 Cliquez sur Suivant.
L'écran Sorties de tâche personnalisées s'affiche. - Étape 8 Cliquez sur + et ajoutez les détails de sortie pour la tâche personnalisée.
- Étape 9 Cliquez sur Suivant.
L'écran du contrôleur s'affiche. - Étape 10 Cliquez sur + et ajoutez les détails du contrôleur pour la tâche personnalisée.
- Étape 11 Cliquez sur Suivant.
L'écran Script s'affiche. - Étape 12 Sélectionnez JavaScript comme langage d'exécution et entrez le script suivant à exécuter.
logger.addInfo("Hello World!");
logger.addInfo("Message "+input.message);
où message est le nom du champ d'entrée. - Étape 13 Cliquez sur Enregistrer le script.
- Étape 14 Cliquez sur Soumettre.
La tâche personnalisée est définie et ajoutée à la liste des tâches personnalisées. - Étape 15 Sur la page Orchestration, cliquez sur Workflows.
- Étape 16 Cliquez sur Ajouter pour définir un workflow, puis définissez les entrées et les sorties du workflow.
Une fois les entrées et les sorties du flux de travail définies, utilisez le Concepteur de flux de travail pour ajouter une tâche de flux de travail au flux de travail. - Étape 17 Double-cliquez sur un workflow pour ouvrir le workflow dans l'écran Workflow Designer.
- Étape 18 Sur le côté gauche de Workflow Designer, développez les dossiers et choisissez une tâche personnalisée (par ex.ample, 'Tâche personnalisée Hello world').
- Étape 19 Faites glisser et déposez la tâche choisie dans le concepteur de workflow.
- Étape 20 Renseignez les champs de la fenêtre Ajouter une tâche ( ) écran.
- Étape 21 Connectez la tâche au workflow. Reportez-vous au Guide d'orchstration de Cisco UCS Director.
- Étape 22 Cliquez sur Valider le workflow.
- Étape 23 Cliquez sur Exécuter maintenant, puis sur Soumettre.
- Étape 24 Consultez les messages du journal dans la fenêtre du journal des demandes de service.
Documents / Ressources
![]() |
cisco Création de tâches de flux de travail personnalisées [pdf] Guide de l'utilisateur Création de tâches de flux de travail personnalisées, Tâches de flux de travail personnalisées, Création de tâches de flux de travail, Tâches de flux de travail, Tâches |