JavaScript is required to for searching.
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
Oracle Technology Network
Bibliothèque
PDF
Vue de l'impression
Commentaires
search filter icon
search icon

Informations sur le document

A propos d'Oracle ZFS Storage Appliance

Configuration d'Oracle ZFS Storage Appliance

Utilisation des services

Maintenance d'Oracle ZFS Storage Appliance

Utilisation des workflows

Présentation des workflows

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

Audits et rapports sur l'exécution 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

Exécution de workflows à l'aide de la CLI

Utilisation des partages

Intégration d'applications à Oracle ZFS Storage Appliance

Validation des entrées des workflows

De manière optionnelle, les workflows peuvent valider leurs entrées ; ceci s'effectue par l'ajout d'un membre validate qui accepte comme paramètre un objet contenant les paramètres du workflow en tant que membres. La fonction validate doit renvoyer un objet dans lequel chaque membre possède le nom du paramètre dont la validation a échoué, et chaque membre a pour valeur le message d'échec de validation affiché à la vue de l'utilisateur.

Exemple 4-6  Validation des entrées des workflows

L'exemple ci-dessous développe l'exemple précédent et génère une erreur lorsque l'utilisateur tente de créer un partage existant :

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) {
		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);
		}

		run('filesystem ' + params.name);
		run('commit');
		return ('Created new share "' + params.name + '"');
	}
};