拡張性アクションによって適用される IaaS API 呼び出しを使用して、ネットワーク インターフェイス コントローラ (NIC) のインターフェイス名を構成できます。
NIC インターフェイス名を構成するには、VMware Aria Automation IaaS API に対して GET
呼び出しと PATCH
呼び出しを実行する必要があります。https://your_vRA_fqdn/iaas/api/machines/{id} に対して GET
呼び出しを実行することで、変更する必要があるコンピューティング リソースの NIC リンクを取得できます。次に、NIC インターフェイス名をペイロードとして含めて https://your_vRA_fqdn/iaas/api/machines/{id}/network-interfaces/{nicld} に対して PATCH
呼び出しを実行すると、NIC の新しい名前が追加されます。
次のシナリオでは、サンプルの Python スクリプトを使用して NIC インターフェイス名を構成しています。実際の使用事例では、別のスクリプトや Node.js などの別のスクリプト言語を使用できます。
前提条件
- NIC インターフェイス名は、コンピューティング リソースをプロビジョニングする前にのみ構成できます。したがって、関連する拡張性サブスクリプションに対して選択できるのは [コンピューティング プロビジョニング] イベント トピックのみです。
- Microsoft Azure をプロバイダとして使用する NIC についてのみ、その NIC インターフェイス名を構成できます。
手順
- 拡張性アクションを作成します。
- の順に移動します。
- [新しいアクション] をクリックします。
- 拡張性アクションの名前とプロジェクトを入力し、[次へ] をクリックします。
- NIC 構成スクリプトを追加します。
サンプルの Python スクリプトは、次のとおりです。
import json def handler(context, inputs): # Get the machine info, which contains machine nic link response = context.request('/iaas/api/machines/'+inputs["resourceIds"][0], "GET", {}) # Build PATCH machine nic payload here name = "customized-nic-02"; data = {'name':name}; # Convert machine data string to json object response_json = json.loads(response["content"]) # Patch machine nic response_patch = context.request(response_json["_links"]["network-interfaces"]["hrefs"][0] + "?apiVersion=2021-07-15", 'PATCH', data) # return value is empty since we are not changing any compute provisioning parameters outputs = {} return outputs
上記のサンプル スクリプトは、IaaS API を通じて 2 つの主要な処理を実行します。スクリプトは、最初にGET
呼び出しを使用して NIC リンクを取得し、次にPATCH
呼び出しを使用してインターフェイス名を適用します。このサンプルでは、NIC インターフェイス名はスクリプトに"customized-nic-02"
としてハードコードされています。 - 拡張性アクションの編集を終了するには、[保存] をクリックします。
- 拡張性サブスクリプションを作成します。
- の順に移動します。
- [新しいサブスクリプション] をクリックします。
- 拡張性サブスクリプションの名前を入力します。
- [イベント トピック] で、拡張性サブスクリプションのイベント トピックとして [コンピューティング プロビジョニング] を選択します。
- [アクション/ワークフロー] で、NIC 構成用に作成した拡張性アクションを選択します。
- イベント ブロックを有効にします。
ブロックを有効にすることで、拡張性アクションの実行が完了するまでプロビジョニング プロセスをブロックできます。
- 拡張性サブスクリプションの編集を終了するには、[保存] をクリックします。
結果
新しい拡張性サブスクリプションは、コンピューティング プロビジョニング イベントがトリガされたときに実行され、プロビジョニングされるコンピューティング リソースの NIC インターフェイス名を構成します。