2022年12月21日 星期三

vRealize Automation 8.6 - PART8:如何使用 vRA Rest API 提交虛擬機請求

VMware vRealize Automation (vRA) 提供使用者或開發者使用 Rest API 呼叫執行 vRealize Cloud Assembly、vRealize Service Broker 和 vRealize Automation Code Stream 等功能。本文將說明如何使用 Postman 工具呼叫 vRA Rest API 取得 vRealize Cloud Assembly 中的藍圖並提交虛擬機請求。

取得驗證 Token & Postman 驗證設置

首先,我們需要先和 Identify Service API 取得 refresh Token,接著用 refresh token 換到 Bearer Token 後,才能與 vRA 建立連線並使用相關的 Rest APIs。本例在 Postman 建立一個資料夾並設定 Bearer Token,讓資料夾底下的 API Request 都繼承使用此驗證, 

  •  取得 refresh token

    URL:https://<vRA_FQDN>/csp/gateway/am/api/login?access_token
    Method:POST
    Body:
    {
        "username": "<your_username>",
        "password": "<your_password>",
        "domain": "<your_domain>"
    }

  • 用 refresh token 換取 bearer token

    URL:https://<vRA_FQDN>/iaas/api/login
    Method:POST
    Body:
    {
"refreshToken": "<your_refresh_token>"
    }

  • 在 Postman 設定 Bearer token 驗證

列出所有藍圖

使用 Get 方法列出 Cloud Assembly 中的所有藍圖,找到要提出請求的藍圖名稱,並記下 id 和 projectid,等等提出虛擬機請求需要用到
    URL:https://<vRA_FQDN>/blueprint/api/blueprints/
    Method:GET

從藍圖/Cloud Template發起請求

Body 內容中 deploymentName 是必要的系統參數,可以利用這個參數值當作虛擬機的名稱; inputs 參數是藍圖設計時自定義的。 從 Response 中記下 deploymentId、requestTrackerId,之後查詢狀態和刪除 VM 時會用到
    URL:https://<vRA_FQDN>/blueprint/api/blueprint-requests
    Method:POST
    Body:
    {
        "blueprintId": "<藍圖的id>",
        "deploymentName": "<deployment_name>",
        "inputs": {
            "OS_Image": "WS2019",
            "CPU": "2", 
            "Memory": "4",
            "username": "AD_Domain\\UserName",
            "Disk_Size": "100"
        }
    }
登入到 vRA UI 介面,確認 Rest API 送出的請求有成功,系統正在建立虛擬機

查看虛擬機部署狀態

使用 Get 方法確認部署狀態,部署完成 status 會顯示 FINISHED
    URL:https://<vRA_FQDN>/blueprint/api/blueprint-requests/<requestTrackerId>
    Method:GET

刪除請求的虛擬機

使用 Delete 方法,會用發起請求時記的 deploymentId
URL:https://<vRA_FQDN>/deployment/api/deployments/<deploymentId>
Method:DELETE

參考連結

vRA 8 + Request VM via Rest API

沒有留言:

張貼留言