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 統合

索引

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

実行にある程度の時間が必要な複雑なワークフローの場合は、そのワークフローを実行しているユーザーに明確な進捗状況を表示すると有効です。ワークフローの実行をこの方法で報告できるようにするには、execute メンバーが手順の配列を返すべきです。各配列要素には、次のメンバーが必要です。

Table 16-6  実行の報告に必要なメンバー
必須メンバー
タイプ
説明
step
文字列
実行手順の名前を示す文字列
execute
関数
ワークフローの手順を実行する関数

全体としてのワークフロー上の execute 関数と同様に、各手順の execute メンバーは、そのワークフローへのパラメータを含むオブジェクトを引数として受け取ります。例として、3 つの手順で新しいプロジェクト、シェア、および監査レコードを作成するワークフローを次に示します。

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