JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle® ZFS Storage Appliance 管理ガイド、Release 2013.1.3.0
Oracle Technology Network
ライブラリ
PDF
印刷ビュー
フィードバック
search filter icon
search icon

ドキュメント情報

Oracle ZFS Storage Appliance の概要

Oracle ZFS Storage Appliance の構成

サービスの操作

Oracle ZFS Storage Appliance の管理

保守ワークフローの操作

ワークフローについて

ワークフローのパラメータについて

制約付きワークフローパラメータ

オプションワークフローのパラメータ

ワークフローのエラー処理

ワークフローの入力の検証

ワークフローの実行の監査およびレポート

ワークフローのバージョン管理について

警告アクションでのワークフローの使用

スケジュールされたワークフローの使用

スケジュールされたワークフローの使用

ワークフロースケジュールのコード化

指定されたドライブタイプに基づくワークシートの作成

BUI を使用したワークフローのアップロード

CLI を使用したワークフローのダウンロード

CLI を使用したワークフローの一覧表示

CLI を使用したワークフローの実行

シェアの操作

アプリケーションと Oracle ZFS Storage Appliance の統合

ワークフローの入力の検証

ワークフローは、そのワークフローのパラメータがメンバーとして含まれているオブジェクトをパラメータとして受け取る validate メンバーを追加することによって、オプションでその入力を検証できます。validate 関数からは、各メンバーの名前が検証に失敗したパラメータの名前であり、各メンバーの値がユーザーに表示される検証失敗メッセージであるオブジェクトが返されます。

使用例 4-6  ワークフローの入力の検証

前の例を拡張して、ユーザーがすでに存在するシェアを作成しようとした場合に明確なエラーを表示するには、次のようにします。

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 + '"');
	}
};