Ignorer les liens de navigation | |
Quitter la vue de l'impression | |
![]() |
Guide d'administration des systèmes Oracle® ZFS Storage Appliance, version 2013.1.3.0 |
A propos d'Oracle ZFS Storage Appliance
Configuration d'Oracle ZFS Storage Appliance
Maintenance d'Oracle ZFS Storage Appliance
Présentation des paramètres de workflow
Paramètres de workflow restreints
Paramètres de workflow facultatifs
Gestion des erreurs des workflows
Validation des entrées des workflows
Présentation de la gestion des versions des workflows
Utilisation des workflows pour les actions d'alerte
Utilisation de workflows programmés
Utilisation d'un workflow programmé
Codage des calendriers de workflow
Création d'une feuille de travail à partir d'un type de lecteur donné
Téléchargement de workflows à l'aide de la BUI
Téléchargement de workflows à l'aide de la CLI
Création d'une liste de workflows à l'aide de la CLI
Les workflows peuvent émettre des enregistrements d'audit en appelant la fonction audit. Le seul argument de la fonction audit est une chaîne qui doit être placée dans le journal d'audit.
Pour les workflows complexes à durée d'exécution prolongée, il peut être utile de fournir à l'utilisateur qui exécute le workflow des informations claires sur l'avancement. Pour permettre un tel signalement de l'avancement de l'exécution d'un workflow, il faut que le membre execute retourne une série d'étapes. Chaque élément de la série doit contenir les membres suivants :
|
Comme pour la fonction execute appliquée au workflow dans son ensemble, le membre execute de chaque étape accepte comme argument un objet contenant les paramètres du workflow.
Exemple 4-7 Rapports sur l'exécution de workflowsL'exemple suivant illustre un workflow qui crée un nouveau projet, un nouveau partage et un nouvel enregistrement d'audit au cours de trois étapes :
var steps = [ { step: 'Checking for associated project', execute: function (params) { try { run('shares select ' + params.unit); } catch (err) { if (err.code != EAKSH_ENTITY_BADSELECT) throw (err); /* * We haven't yet created a project that corresponds to * this business unit; create it now. */ run('shares project ' + params.unit); set('mountpoint', '/export/' + params.unit); run('commit'); run('shares select ' + params.unit); } } }, { step: 'Creating share', execute: function (params) { run('filesystem ' + params.name); run('commit'); } }, { step: 'Creating audit record', execute: function (params) { audit('created "' + params.name + '" in "' + params.unit); } } ]; var workflow = { name: 'Create share', description: 'Creates a new share in a business unit', parameters: { name: { label: 'Name of new share', type: 'String' }, unit: { label: 'Business unit', type: 'ChooseOne', options: [ 'development', 'finance', 'qa', 'sales' ], optionlabels: [ 'Development', 'Finance', 'Quality Assurance', 'Sales/Administrative' ], } }, validate: function (params) { try { run('shares select ' + params.unit); run('select ' + params.name); } catch (err) { if (err.code == EAKSH_ENTITY_BADSELECT) return; } return ({ name: 'share already exists' }); }, execute: function (params) { return (steps); } };