Kompira Enterprise 上で扱う管理情報には、「ジョブフロー」や「ノード情報」、「環境変数」など多くの種類がありますが、これらはすべて「Kompira Enterprise オブジェクト」として扱われます。例えば、Kompira Enterprise ファイルシステム上での「ディレクトリ」もオブジェクトになります。
これらの「Kompira Enterprise オブジェクト」には「プロパティ」、「メソッド」、「フィールド」が定義されています。本稿では、これらの扱い方を見ていきましょう。
※ 本稿は Kompira Enterprise 1.6系に準拠した画像を用いています。
動作確認環境
本稿は、以下の環境で検証しております。
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.5.5.post7 |
OS | CentOS 7.7.1908 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.2.post4 |
OS | CentOS 8.2.2004 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.8 |
OS | CentOS Stream 8 |
Kompira Enterprise オブジェクトの「プロパティ」
各 Kompira Enterprise オブジェクトは、あらかじめシステムで定義された「プロパティ (オブジェクトの属性情報)」を持っています。例えば、オブジェクトのパス、名称、作成日時などがあります。
これらの Kompira Enterprise オブジェクトのプロパティをジョブフローから参照するには、ドット記法で、
”オブジェクト名.プロパティ名”
と記述します。
プロパティには以下の種類があります。
プロパティ名 | 説明 |
---|---|
id | オブジェクトの ID 値 |
abspath | オブジェクトの絶対パス |
name | オブジェクト名 |
description | オブジェクトの説明 |
display_name | オブジェクトの表示名 |
field_names | オブジェクトが備えるフィールド名の一覧 |
owner | オブジェクトの所有ユーザー |
created | 作成日時 |
updated | 更新日時 |
parent_object | オブジェクトの親オブジェクト |
children | オブジェクトの子オブジェクト一覧 |
type_object | 型オブジェクト |
type_name | 型名 |
user_permissions | ユーザ権限 |
group_permissions | グループ権限 |
例えば、以下のジョブフローは、”sample_jobflow” というジョブフローの更新日時を表示します。
print(./sample_jobflow.updated)
Kompira Enterprise オブジェクトの「メソッド」
各オブジェクトは、それらの操作を行うための「メソッド」を持ちます。オブジェクトを削除する “delete” メソッドのように、すべてのオブジェクトが共通して持つメソッドと、特定の型のオブジェクトが持つ固有のメソッドがあります。
例えば、以下のジョブフローは “rename” メソッドを用いて、”sample_jobflow” というジョブフローの名前を “sample_jobflow2” に変更します。
[./sample_jobflow.rename: "sample_jobflow2"]
共通するメソッドは delete (オブジェクトの削除) 、rename (名称の変更) 、update (フィールド (後述) の値の更新) があります。
特定の型が持つメソッドとしては、ディレクトリ型の “add” メソッドがあります。これは指定のディレクトリに新しいオブジェクトを作成するものです。例えば、カレントディレクトリ “./” の下に “sample_jobflow” という名前の空のジョブフローを作成します。
[./.add: "sample_jobflow", /system/types/Jobflow]
別の例としては、チャネル型の “send” メソッドがあります。これは指定されたチャネルにメッセージを送信します。Alert チャネルに “sample message” というメッセージを送り、それを読み出して表示してみます。
[/system/channels/Alert.send: "sample message"] -> </system/channels/Alert> -> print($RESULT)
Kompira Enterprise オブジェクトの「フィールド」
最後に「フィールド」ですが、これらは画面から設定可能な固有の名前がつけられており、その名前を用いて参照できるようになっています。
上はジョブフローの編集画面ですが、ここの「source (ソース)」、「multiplicity (多重度)」、「defaultCheckpointMode (デフォルトチェックポイントモード)」などが「フィールド」です。
例えば、次の例は “sample_jobflow” というジョブフローのソースを表示します。
print(./sample_jobflow['source'])
特に「テンプレート」、「メールテンプレート」、「環境変数」型などのオブジェクトは、ジョブフロー中からフィールド情報を参照することが多いでしょう。
次の例は “設定情報_環境変数” という環境変数型のオブジェクトの environment フィールドを読み出して表示します。この environment フィールドは “名称” と “値” の組み合わせの辞書型の構造を持ちます。この例では “item1” という名称に対応する値を表示します。
[config_dic = ./設定情報_環境変数['environment']] -> print(config_dic['item1'])
各オブジェクト型のフィールド情報の種類とデータ型はヘルプの「5.2 Kompira オブジェクト」に記載がありますので、詳細はそちらを参照してください。