Red Hat Training

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

22.4.7. 関連するオブジェクトの使用

Common Information Model は、管理オブジェクト間の関係を定義します。

関連するインスタンスへのアクセス

特定のインスタンスオブジェクトに関連するオブジェクトの一覧を取得するには、以下のように associators() メソッドを使用します。

instance_object.associators(
  AssocClass=class_name,
  ResultClass=class_name,
  ResultRole=role,
  IncludeQualifiers=include_qualifiers,
  IncludeClassOrigin=include_class_origin,
  PropertyList=property_list)

特定のインスタンスオブジェクトに関連する最初のオブジェクトにアクセスするには、first_associator() メソッドを使用します。

instance_object.first_associator(
  AssocClass=class_name,
  ResultClass=class_name,
  ResultRole=role,
  IncludeQualifiers=include_qualifiers,
  IncludeClassOrigin=include_class_origin,
  PropertyList=property_list)

instance_object を、検査するインスタンスオブジェクト名に置き換えます。以下のパラメーターを指定すると結果をフィルターにかけられます。

  • AssocClass: 返される各オブジェクトは、このクラスまたはそのサブクラスの 1 つのインスタンスを通してソースオブジェクトに関連付けられている必要があります。デフォルト値は None です。
  • ResultClass: 返される各オブジェクトは、このクラス、またはそのいずれかのサブクラスのインスタンスである必要があります。または、このクラスあるいは、いずれかのサブクラスである必要があります。デフォルト値は None です。
  • Role: 返される各オブジェクトは、ソースオブジェクトが特定の役割を果たす関連付けでソースオブジェクトと関連付けられている必要があります。このオブジェクトは、ソースオブジェクトが特定の役割を果たす関連付けでソースオブジェクトと関連付けられている必要があります。デフォルト値は None です。
  • ResultRole: 返される各オブジェクトは、返されるオブジェクトが特定の役割を果たす関連付けでソースオブジェクトと関連付けられている必要があります。返されるオブジェクトを参照する関連付けクラス内のプロパティー名は、このパラメーターの値と合致する必要があります。デフォルト値は None です。

他のパラメーターは以下のとおりです。

  • IncludeQualifiers: 応答に各オブジェクトのすべての修飾子(オブジェクトおよび返されるプロパティー上の修飾子を含む)を QUALIFIER 要素として組み込むかどうかを示すブール値。デフォルト値は False です。
  • IncludeClassOrigin: 返される各オブジェクトで適切な全要素に CLASSORIGIN 属性が存在すべきかどうかを示すブール値。デフォルト値は False です。
  • PropertyList: このリストのメンバーは 1 つ以上のプロパティー名を定義します。返されたオブジェクトは、このリストにないプロパティーには要素を含めません。PropertyList が空のリストである場合は、返されるオブジェクトにプロパティーは含まれません。None の場合、追加のフィルタリングは定義されません。デフォルト値は None です。

例22.33 関連するインスタンスへのアクセス

LMI_StorageExtent クラスは、システム内で利用可能なブロックデバイスを表します。例22.5「ネームスペースオブジェクトへのアクセス」 で作成した ns ネームスペースオブジェクトを使用して、ブロックデバイス /dev/vda 用に LMI_StorageExtent クラスのインスタンスを作成し、これを変数 vda に割り当てるには、インタラクティブプロンプトに以下のコマンドを入力します。

> vda = ns.LMI_StorageExtent.first_instance({
...   "DeviceID" : "/dev/vda"})
>

このブロックデバイスにおけるディスクパーティションの一覧を取得して、これを変数 vda_partitions に割り当てるには、以下のように associators() メソッドを使用します。

> vda_partitions = vda.associators(ResultClass="LMI_DiskPartition")
>
関連するインスタンス名へのアクセス

特定のインスタンスオブジェクトで関連するインスタンス名の一覧を取得するには、以下のように associator_names() メソッドを使用します。

instance_object.associator_names(
  AssocClass=class_name,
  ResultClass=class_name,
  Role=role,
  ResultRole=role)

特定のインスタンスオブジェクトで最初に関連するインスタンス名にアクセスするには、first_associator_name() メソッドを使用します。

instance_object.first_associator_name(
  AssocClass=class_object,
  ResultClass=class_object,
  Role=role,
  ResultRole=role)

instance_object を、検査するインスタンスオブジェクト名に置き換えます。以下のパラメーターを指定すると結果をフィルターにかけられます。

  • AssocClass: 返される名前により、このクラスのインスタンス、またはサブクラスの 1 つから、ソースオブジェクトに関連づけられる必要のあるオブジェクトが識別されます。デフォルト値は None です。
  • ResultClass: 返される各名前はオブジェクトを識別します。オブジェクトは、このクラスのインスタンスまたはそのサブクラスの 1 つである必要があります。または、このクラスまたはそのサブクラスのいずれかである必要があります。デフォルト値は None です。
  • Role: 返された各名前は、ソースオブジェクトが指定されたロールを実行する関連付けでソースオブジェクトと関連付ける必要があるオブジェクトを識別します。このオブジェクトは、ソースオブジェクトが特定の役割を果たす関連付けでソースオブジェクトと関連付けられている必要があります。デフォルト値は None です。
  • ResultRole: 返された各名前はオブジェクトを特定し、返された名前付きオブジェクトが指定されたロールを実行する関連付けでソースオブジェクトと関連付ける必要があるオブジェクトを識別します。返されるオブジェクトを参照する関連付けクラス内のプロパティー名は、このパラメーターの値と合致する必要があります。デフォルト値は None です。

例22.34 関連するインスタンス名へのアクセス

例22.33「関連するインスタンスへのアクセス」 で作成した vda インスタンスオブジェクトを使用して、関連するインスタンス名の一覧を取得し、変数 named vda_partitions に割り当てるには、以下を入力します。

> vda_partitions = vda.associator_names(ResultClass="LMI_DiskPartition")
>