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
オブジェクトへのアクセスを必要とするメソッドは、これを自動的に取り込むことに注意してください。