Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
22.4.8. 関連付けオブジェクトの使用
Common Information Model は、管理オブジェクト間の関係を定義します。関連付けオブジェクトは、他の 2 つのオブジェクト間の関係を定義します。
関連付けインスタンスへのアクセス
特定のターゲットオブジェクトを参照する関連付けオブジェクトの一覧を取得するには、以下のように references()
メソッドを使用します。
instance_object.references
(
ResultClass=class_name,
Role=role,
IncludeQualifiers=include_qualifiers,
IncludeClassOrigin=include_class_origin,
PropertyList=property_list)
特定のターゲットオブジェクトを参照する最初の関連付けオブジェクトにアクセスするには、first_reference()
メソッドを使用します。
instance_object.first_reference
(
... ResultClass=class_name,
... Role=role,
... IncludeQualifiers=include_qualifiers,
... IncludeClassOrigin=include_class_origin,
... PropertyList=property_list)
>
instance_object を、検査するインスタンスオブジェクト名に置き換えます。以下のパラメーターを指定すると結果をフィルターにかけられます。
-
ResultClass
: 返される各オブジェクトは、このクラス、またはそのいずれかのサブクラスのインスタンスである必要があります。もしくは、このクラスまたはいずれかのサブクラスである必要があります。デフォルト値はNone
です。 -
Role
: 返される各オブジェクトは、このパラメーターの値に合致する名前を持つプロパティーでターゲットオブジェクトを参照する必要があります。デフォルト値はNone
です。
他のパラメーターは以下のとおりです。
-
IncludeQualifiers
: 応答に、QUALIFIER 要素として各オブジェクト (オブジェクト、および返されるすべてのプロパティー上の修飾子を含む) を追加するどうかを示すブール値。デフォルト値はFalse
です。 -
IncludeClassOrigin
: 返される各オブジェクトで適切な全要素に CLASSORIGIN 属性が存在すべきかどうかを示すブール値。デフォルト値はFalse
です。 -
PropertyList
: このリストのメンバーは 1 つ以上のプロパティー名を定義します。返されたオブジェクトは、このリストにないプロパティーには要素を含めません。PropertyList
が空のリストである場合は、返されるオブジェクトにプロパティーは含まれません。None
の場合、追加のフィルターリングは定義されません。デフォルト値はNone
です。
例22.35 関連付けインスタンスへのアクセス
LMI_LANEndpoint
クラスは、特定のネットワークインターフェイスデバイスに関連付けられる通信エンドポイントを表します。例22.5「ネームスペースオブジェクトへのアクセス」 で作成した ns
ネームスペースオブジェクトを使用して、ネットワークインターフェイスデバイス eth0 用に LMI_LANEndpoint
クラスのインスタンスを作成し、これを変数 lan_endpoint
に割り当てるには、インタラクティブプロンプトに以下のコマンドを入力します。
> lan_endpoint = ns.LMI_LANEndpoint.first_instance({ ... "Name" : "eth0"}) >
LMI_BindsToLANEndpoint
オブジェクトを参照する最初の関連付けオブジェクトにアクセスし、これを変数 bind
に割り当てるには、以下を入力します。
> bind = lan_endpoint.first_reference( ... ResultClass="LMI_BindsToLANEndpoint") >
これで Dependent
プロパティーを使用して、対応するネットワークインターフェイスデバイスの IP アドレスを表す依存 LMI_IPProtocolEndpoint
クラスにアクセスすることができます。
> ip = bind.Dependent.to_instance() > print ip.IPv4Address 192.168.122.1 >
関連付けインスタンス名へのアクセス
特定のインスタンスオブジェクトの関連付けインスタンス名の一覧を取得するには、以下のように reference_names()
メソッドを使用します。
instance_object.reference_names
(
ResultClass=class_name,
Role=role)
特定のインスタンスオブジェクトの最初の関連付けインスタンスにアクセスするには、first_reference_name()
メソッドを使用します。
instance_object.first_reference_name
(
ResultClass=class_name,
Role=role)
instance_object を、検査するインスタンスオブジェクト名に置き換えます。以下のパラメーターを指定すると結果をフィルターにかけられます。
-
ResultClass
: 返される各オブジェクトは、このクラスのインスタンスかそのサブクラスの 1 つのインスタンス、または、このクラスまたはそのサブクラスの 1 つである必要があります。デフォルト値はNone
です。 -
Role
: 返される各オブジェクトは、このパラメーターの値に合致する名前を持つプロパティーでターゲットインスタンスを参照するオブジェクトを識別します。デフォルト値はNone
です。
例22.36 関連付けインスタンス名へのアクセス
例22.35「関連付けインスタンスへのアクセス」 で作成した lan_endpoint
インスタンスオブジェクトを使用して、LMI_BindsToLANEndpoint
オブジェクトを参照する最初の関連付けインスタンス名にアクセスし、これを変数 bind
に割り当てるには、以下を入力します。
> bind = lan_endpoint.first_reference_name( ... ResultClass="LMI_BindsToLANEndpoint")
これで Dependent
プロパティーを使用して、対応するネットワークインターフェイスデバイスの IP アドレスを表す依存 LMI_IPProtocolEndpoint
クラスにアクセスすることができます。
> ip = bind.Dependent.to_instance() > print ip.IPv4Address 192.168.122.1 >