Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.4.4. クラスの使用

LMIShell クラスは、CIMOM が提供するクラスを表します。これらのプロパティー、メソッド、インスタンス、インスタンス名、および ValueMap プロパティーにアクセスしたりこれらを一覧表示したりでき、ドキュメンテーションストリングを出力したり、新たなインスタンスやインスタンス名を作成できます。

利用可能なクラスの一覧表示

特定のネームスペースで利用可能なクラスを一覧表示するには、以下のように print_classes() メソッドを使用します。

namespace_object.print_classes()

namespace_object を検査するネームスペースオブジェクトに置き換えます。このメソッドは、利用可能なクラスを標準出力に出力します。

利用可能なクラス一覧を取得するには、classes() メソッドを使用します。

namespace_object.classes()

このメソッドは文字列の一覧を返します。

例22.6 利用可能なクラスの一覧表示

例22.5「ネームスペースオブジェクトへのアクセス」 で作成した ns ネームスペースオブジェクトを検査して利用可能なクラスを一覧表示するには、インタラクティブプロンプトに以下のコマンドを入力します。

> ns.print_classes()
CIM_CollectionInSystem
CIM_ConcreteIdentity
CIM_ControlledBy
CIM_DeviceSAPImplementation
CIM_MemberOfStatusCollection
...
>

このクラスの一覧を変数 cimv2_classes に割り当てるには、以下を入力します。

> cimv2_classes = ns.classes()
>
クラスオブジェクトへのアクセス

CIMOM が提供する特定のクラスオブジェクトにアクセスするには、以下の構文を使用します。

namespace_object.class_name

namespace_object を、検査するネームスペースオブジェクト名にに置き換え、class_name を、アクセスするクラス名に置き換えます。

例22.7 クラスオブジェクトへのアクセス

例22.5「ネームスペースオブジェクトへのアクセス」 で作成した ns ネームスペースオブジェクトの LMI_IPNetworkConnection クラスにアクセスし、これを変数 cls に割り当てるには、インタラクティブプロンプトに以下のコマンドを入力します。

> cls = ns.LMI_IPNetworkConnection
>
クラスオブジェクトの検査

すべてのクラスオブジェクトには、その名前と所属するネームスペースに関する情報、および詳細なクラスのドキュメンテーションが保存されています。特定のクラスオブジェクトの名前を取得するには、以下の構文を使用します。

class_object.classname

class_object を、検査するクラスオブジェクト名に置き換えます。これは、オブジェクト名を表す文字列を返します。

クラスオブジェクトが所属するネームスペースに関する情報を取得するには、以下を使用します。

class_object.namespace

これは、名前空間を表す文字列を返します。

詳細なクラスのドキュメンテーションを表示するには、以下のように doc() メソッドを使用します。

class_object.doc()

例22.8 クラスオブジェクトの検査

例22.7「クラスオブジェクトへのアクセス」 で作成した cls クラスオブジェクトを検査して、その名前と対応するネームスペースを表示するには、インタラクティブプロンプトに以下のコマンドを入力します。

> cls.classname
'LMI_IPNetworkConnection'
> cls.namespace
'root/cimv2'
>

クラスのドキュメンテーションにアクセスするには、以下を入力します。

> cls.doc()
Class: LMI_IPNetworkConnection
  SuperClass: CIM_IPNetworkConnection
  [qualifier] string UMLPackagePath: 'CIM::Network::IP'

  [qualifier] string Version: '0.1.0'
...
利用可能なメソッドの一覧表示

特定のクラスオブジェクトで利用可能なメソッドの一覧を表示するには、以下のように print_methods() メソッドを使用します。

class_object.print_methods()

class_object を、検査するクラスオブジェクト名に置き換えます。このメソッドは、利用可能なメソッドを標準出力に出力します。

利用可能なメソッド一覧を取得するには、methods() メソッドを使用します。

class_object.methods()

このメソッドは文字列の一覧を返します。

例22.9 利用可能なメソッドの一覧表示

例22.7「クラスオブジェクトへのアクセス」 で作成した cls クラスオブジェクトを検査して利用可能なメソッドの一覧を表示するには、インタラクティブプロンプトに以下のコマンドを入力します。

> cls.print_methods()
RequestStateChange
>

このメソッドの一覧を変数 service_methods に割り当てるには、以下を入力します。

> service_methods = cls.methods()
>
利用可能なプロパティーの一覧表示

特定のクラスオブジェクトで利用可能なプロパティーの一覧を表示するには、以下のように print_properties() メソッドを使用します。

class_object.print_properties()

class_object を、検査するクラスオブジェクト名に置き換えます。このメソッドは、利用可能なプロパティーを標準出力に出力します。

利用可能なプロパティー一覧を取得するには、properties() メソッドを使用します。

class_object.properties()

このメソッドは文字列の一覧を返します。

例22.10 利用可能なプロパティーの一覧表示

例22.7「クラスオブジェクトへのアクセス」 で作成した cls クラスオブジェクトを検査して利用可能なすべてのプロパティーの一覧を表示するには、インタラクティブプロンプトに以下のコマンドを入力します。

> cls.print_properties()
RequestedState
HealthState
StatusDescriptions
TransitioningToState
Generation
...
>

このクラス一覧を変数 service_properties に割り当てるには、以下を入力します。

> service_properties = cls.properties()
>
ValueMap プロパティーの一覧表示と閲覧

CIM クラスには、Managed Object Format (MOF) 定義で ValueMap プロパティー が含まれる場合があります。ValueMap プロパティーには定数値が含まれ、これはメソッドを呼び出す場合や戻り値をチェックする場合に便利なものです。

特定のクラスオブジェクトの利用可能な ValueMap プロパティーの一覧を表示するには、以下のように print_valuemap_properties() メソッドを使用します。

class_object.print_valuemap_properties()

class_object を、検査するクラスオブジェクト名に置き換えます。このメソッドは、利用可能な ValueMap プロパティーを標準出力に出力します。

利用可能な ValueMap プロパティーの一覧を取得するには、valuemap_properties() メソッドを使用します。

class_object.valuemap_properties()

このメソッドは文字列の一覧を返します。

例22.11 ValueMap プロパティーの一覧表示

例22.7「クラスオブジェクトへのアクセス」 で作成した cls クラスオブジェクトを検査して、利用可能な ValueMap プロパティーの一覧を表示するには、インタラクティブプロンプトに以下のコマンドを入力します。

> cls.print_valuemap_properties()
RequestedState
HealthState
TransitioningToState
DetailedStatus
OperationalStatus
...
>

この ValueMap プロパティー一覧を変数 service_valuemap_properties に割り当てるには、以下を入力します。

> service_valuemap_properties = cls.valuemap_properties()
>

特定の ValueMap プロパティーにアクセスするには、以下の構文を使用します。

class_object.valuemap_propertyValues

valuemap_property を、アクセスする ValueMap プロパティー名に置き換えます。

利用可能な定数値の一覧を表示するには、以下のように print_values() メソッドを使用します。

class_object.valuemap_propertyValues.print_values()

このメソッドは、名前の付いた利用可能な定数値を標準出力に出力します。また、values() メソッドを使用して利用可能な定数値の一覧を取得することもできます。

class_object.valuemap_propertyValues.values()

このメソッドは文字列の一覧を返します。

例22.12 ValueMap プロパティーへのアクセス

例22.11「ValueMap プロパティーの一覧表示」 では、ValueMap プロパティー RequestedState について説明しました。このプロパティーを検査して、利用可能な定数値の一覧を表示するには、インタラクティブプロンプトに以下のコマンドを入力します。

> cls.RequestedStateValues.print_values()
Reset
NoChange
NotApplicable
Quiesce
Unknown
...
>

この定数値の一覧を変数 requested_state_values に割り当てるには、以下を入力します。

> requested_state_values = cls.RequestedStateValues.values()
>

特定の定数値にアクセスするには、以下の構文を使用します。

class_object.valuemap_propertyValues.constant_value_name

constant_value_name を、定数値の名前を置き換えます。また、以下のように value() メソッドを使用することもできます。

class_object.valuemap_propertyValues.value("constant_value_name")

特定の定数値の名前を確認するには、value_name() メソッドを使用します。

class_object.valuemap_propertyValues.value_name("constant_value")

このメソッドは文字列を返します。

例22.13 定数値へのアクセス

例22.12「ValueMap プロパティーへのアクセス」 では、RequestedState プロパティーが定数値 Reset を提供していました。この名前の定数値にアクセスするには、インタラクティブプロンプトに以下のコマンドを入力します。

> cls.RequestedStateValues.Reset
11
> cls.RequestedStateValues.value("Reset")
11
>

この定数値の名前を確認するには、以下を入力します。

> cls.RequestedStateValues.value_name(11)
u'Reset'
>
CIMClass オブジェクトの取り込み

クラスメソッドの多くは CIMClass オブジェクトへのアクセスを必要としません。これは、呼び出されたメソッドが実際に必要とするときにのみ、LMIShell が CIMOM からオブジェクトを取得するためです。CIMClass オブジェクトを手動で取り込むには、以下のように fetch() メソッドを使用します。

class_object.fetch()

class_object を、クラスオブジェクト名に置き換えます。CIMClass オブジェクトへのアクセスを必要とするメソッドは、これを自動的に取り込むことに注意してください。