확장성 작업을 통해 적용된 IaaS API 호출을 사용하여 NIC(네트워크 인터페이스 컨트롤러)의 인터페이스 이름을 구성할 수 있습니다.
NIC의 인터페이스 이름을 구성하려면 vRealize 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의 새 이름을 추가할 수 있습니다.
다음 시나리오에서는 NIC 인터페이스 이름 구성에 사용할 수 있는 샘플 Python 스크립트를 사용합니다. 자체 사용 사례의 경우 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를 통해 두 가지 기본 작업을 수행합니다. 먼저 스크립트는GET
호출을 사용하여 NIC 링크를 검색한 다음PATCH
호출을 사용하여 인터페이스 이름을 적용합니다. 이 샘플에서 NIC 인터페이스 이름은"customized-nic-02"
로 스크립트에 하드 코딩됩니다. - 확장성 작업 편집을 완료하려면 저장을 클릭합니다.
- 확장성 구독을 생성합니다.
- 으로 이동합니다.
- 새 구독을 클릭합니다.
- 확장성 구독의 이름을 입력합니다.
- 이벤트 항목에서 확장성 구독에 대한 이벤트 항목으로 계산 프로비저닝을 선택합니다.
- 작업/워크플로에서 NIC구성에 대해 생성한 확장성 작업을 선택합니다.
- 이벤트 차단을 사용하도록 설정합니다.
차단을 사용하도록 설정하면 확장성 작업의 실행이 완료될 때까지 프로비저닝 프로세스가 차단됩니다.
- 확장성 구독 편집을 완료하려면 저장을 클릭합니다.
결과
새 확장성 구독은 계산 프로비저닝 이벤트가 트리거될 때 실행되고 프로비저닝될 계산 리소스에 대한 NIC 인터페이스 이름을 구성합니다.