Kompira Enterpriseオブジェクトのプロパティ、メソッド、フィールドを扱う

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 オブジェクト」に記載がありますので、詳細はそちらを参照してください。

TOP