拡張性アクションによって適用される IaaS API 呼び出しを使用して、ネットワーク インターフェイス コントローラ (NIC) のインターフェイス名を構成できます。

NIC インターフェイス名を構成するには、vRealize Automation Cloud 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 インターフェイス名を構成できます。

手順

  1. 拡張性アクションを作成します。
    1. [拡張性] > [アクション] の順に移動します。
    2. [新しいアクション] をクリックします。
    3. 拡張性アクションの名前とプロジェクトを入力し、[次へ] をクリックします。
    4. 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" としてハードコードされています。
    5. 拡張性アクションの編集を終了するには、[保存] をクリックします。
  2. 拡張性サブスクリプションを作成します。
    1. [拡張性] > [サブスクリプション] の順に移動します。
    2. [新しいサブスクリプション] をクリックします。
    3. 拡張性サブスクリプションの名前を入力します。
    4. [イベント トピック] で、拡張性サブスクリプションのイベント トピックとして [コンピューティング プロビジョニング] を選択します。
    5. [アクション/ワークフロー] で、NIC 構成用に作成した拡張性アクションを選択します。
    6. イベント ブロックを有効にします。
      ブロックを有効にすることで、拡張性アクションの実行が完了するまでプロビジョニング プロセスをブロックできます。
    7. 拡張性サブスクリプションの編集を終了するには、[保存] をクリックします。

結果

新しい拡張性サブスクリプションは、コンピューティング プロビジョニング イベントがトリガされたときに実行され、プロビジョニングされるコンピューティング リソースの NIC インターフェイス名を構成します。