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

Document Information

このドキュメントの使用法

 1 Oracle ZFS Storage Appliance の概要

 2 ステータス

 3 初期構成

 4 ネットワーク構成

 5 ストレージ構成

 6 Storage Area Network の構成

 7 ユーザー構成

 8 ZFSSA の設定

 9 警告の構成

 10 クラスタ構成

 11 ZFSSA サービス

 12 シェア、プロジェクト、およびスキーマ

 13 レプリケーション

 14 シャドウ移行

 15 CLI のスクリプト化

 16 保守のワークフロー

ワークフローの使用

ワークフローの実行コンテキスト

ワークフローのパラメータ

制約付きのパラメータ

オプションのパラメータ

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

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

ワークフローの実行の監査

ワークフローの実行の報告

バージョン管理

アプライアンスのバージョン管理

ワークフローのバージョン管理

警告アクションとしてのワークフロー

警告アクションの実行コンテキスト

警告アクションの監査

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

CLI の使用

スケジュールのコーディング

例: デバイスタイプの選択

BUI

CLI

ワークフローのダウンロード

ワークフローの表示

ワークフローの実行

 17 統合

索引

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

ワークフローは、そのワークフローのパラメータがメンバーとして含まれているオブジェクトをパラメータとして受け取る validate メンバーを追加することによって、必要に応じてその入力を検証できます。validate 関数からは、各メンバーの名前が検証に失敗したパラメータの名前であり、各メンバーの値がユーザーに表示される検証失敗メッセージであるオブジェクトが返されます。前の例を拡張して、ユーザーがすでに存在するシェアを作成しようとした場合に明確なエラーを表示するには、次のようにします。

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