いくつかの展開シナリオでは、コンポーネントは、自身をカスタマイズするために、別のコンポーネントのプロパティ値を必要とします。vRealize Automation では、プロパティ バインドを作成することで、これが可能です。プロパティ バインド用にソフトウェア アクション スクリプトを設計できますが、実際のバインドはブループリントを組み合わせるアーキテクトが構成します。

ソフトウェア アーキテクト、IaaS アーキテクト、またはアプリケーション アーキテクトは、プロパティをハードコードされた値に設定する以外に、ソフトウェア コンポーネント プロパティをブループリント内の他のプロパティにバインドできます(IP アドレスやインストールの場所など)。ソフトウェア プロパティを別のプロパティにバインドする場合、別のコンポーネントのプロパティ値や仮想マシンのプロパティ値に基づいてスクリプトをカスタマイズできます。たとえば WAR コンポーネントの場合、Apache Tomcat サーバのインストール場所を必要とすることがあります。スクリプトでは、server_home プロパティ値を Apache Tomcat サーバの install_path プロパティ値に設定するよう WAR コンポーネントを構成できます。ブループリントを組み合わせるアーキテクトが server_home プロパティを Apache Tomcat サーバの install_path プロパティにバインドする限り、server_home プロパティ値は正しく設定されます。

作成したアクション スクリプトでは、スクリプトに定義されるプロパティのみを使用でき、文字列とアレイの値でのみプロパティ バインドを作成できます。ブループリントのプロパティ アレイは特定の順番で返されることはないため、クラスタ可能または拡張可能なコンポーネントにバインドしても、期待する値が生成されない可能性があります。たとえば、ソフトウェア コンポーネントにはマシンのクラスタの各マシン ID が必要であり、ユーザーが 1 ~ 10 台のマシンからクラスタを申請し、展開を拡張できるように許可します。ソフトウェア プロパティを文字列タイプとして構成する場合は、ランダムに選択された単一のマシン ID をクラスタから取得します。ソフトウェア プロパティをアレイ タイプとして構成する場合は、クラスタ内のすべてのマシン ID のアレイが順不同に取得されます。ユーザーが展開を拡張する場合は、その処理ごとに値の順序が異なる可能性があります。クラスタ化されたコンポーネントの値を失わないようにするには、ソフトウェア プロパティでアレイ タイプを使用できます。ただし、特定の順番で値アレイが生成されないように、ソフトウェア コンポーネントを設計する必要があります。

異なるタイプのプロパティをバインドする場合の文字列プロパティ値の例については、「文字列プロパティ バインドの例」の表を参照してください。

表 1. 文字列プロパティ バインドの例

プロパティ タイプの例

バインドするプロパティ タイプ

バインド結果(A が B にバインド)

文字列(プロパティ A)

文字列(プロパティ B="Hi")

A="Hi"

文字列(プロパティ A)

コンテンツ(プロパティ B="http://my.com/content")

A="http://my.com/content"

文字列(プロパティ A)

アレイ(プロパティ B=["1","2"])

A="["1","2"]"

文字列(プロパティ A)

計算値(プロパティ B="Hello")

A="Hello"

異なるタイプのプロパティをバインドする場合のアレイ プロパティ値の例については、「アレイ プロパティ バインドの例」の表を参照してください。

表 2. アレイ プロパティ バインドの例

プロパティ タイプの例

バインドするプロパティ タイプ

バインド結果(A が B にバインド)

アレイ(プロパティ A)

文字列(プロパティ B="Hi")

A="Hi"

アレイ(プロパティ A)

コンテンツ(プロパティ B="http://my.com/content")

A="http://my.com/content"

アレイ(プロパティ A)

計算値(プロパティ B="Hello")

A="Hello"