CloudVista Automation(vRA)從入門到精通08-擴展接口

TIFY2018-11-08 16:23:49

歡迎轉載,請註明出處!

 

CloudVistaAutomation的擴展接口簡介

 

正文:
         CloudVista Automation提供了多種接口供用戶來進行擴展:
        使用vRealizeOrchestrator設計和執行來擴展系統功能;

        也可以通過調用CloudVista Automation的 API來開發自定義的應用;
       還可以通過CloudClient以命令行的方式來對CloudVista Automation進行訪問。

       

  • vRealize Orchestrator

       vRealize Orchestrator 是一個開發和流程自動化平臺,提供了一個強大的工作流引擎和諸多預置的工作流庫。工作流實現了分步執行的流程自動化,使得服務器置備和運維等任務非常方便靈活。通過使用工作流編輯器,內置的JavaScript腳本編輯器,Orchestrator和Hypervisor, Cloud 以及第三方工具的API,用戶可以很容易的以點擊和拖拽的方式來實現一個定製的工作流。
         vRealize Orchestrator內置了常用的一些工作流,包括vCenter, XML, SOAP, Mail, REST, 數據庫, NSX, PowerShell等。如果這些工作流無法滿足業務需求,用戶可以開發自定義的工作流。用戶可以通過指定輸入輸出參數,綁定參數,添加工作流的執行步驟並填寫步驟內容(分支判斷條件,執行腳本,異常處理等)來完成工作流的設計。

      

        通過vRealize Orchestrator,用戶可以很方便的對已有功能進行擴展。例如CloudVista Automation並沒有提供Azure的endpoint, 但是在vRealize Orchestrator中預置了一系列Azure的工作流,包括計算,網絡,存儲,數據庫,配置等。用戶可以通過調用這些工作流來實現對Azure相關資源的置備和配置管理。

       

        同時,藍圖設計者可以在XaaS藍圖中使用Orchestrator中的工作流來進行資源部署和配置管理等內容的設計。藍圖設計者需要指定用到的工作流,並且設計藍圖的表單。設計好之後可以使用CloudVista Automation通用服務目錄向用戶提供該服務。 

 


  • API調用

       CloudVista Automation 提供REST API來支持用戶通過編程的方式來訪問各種服務,這些服務包括身份服務,審批服務,目錄服務,組合服務,預留服務,內容服務,工作條目服務等等。用戶可以通過 API 調用來實現和 UI提供的同樣的功能。

 

       API 服務隨產品安裝,可以通過如下的鏈接訪問:

o  通過 API Explorer來查看所有的 API 信息:
https://$CloudvistaAutomation/component-registry/services/docs#!/apis

o  以Swagger文檔的形式訪問安裝和配置服務:
 https://$CloudvistaAutomation

 

        下面以申請機器為例來介紹 API 的使用

o  首先需要獲取 HTTP bearer tokens。HTTP bearer tokens做為認證信息,用在之後的請求中。要獲取HTTP bearer tokens,用戶需要通過身份服務來進行認證:
curl --insecure -H "Accept: application/json" -H'Content-Type: application/json'–data'{"username":"user@company.com","password":"password","tenant":"company.com"}'https://$CloudVistaAutomation/identity/api/tokens
如果訪問成功,認證通過,用戶可以得到請求的響應,例如:
{"expires":"2018-10-10T11:07:06.000Z","id":"MT…E5YmM=","tenant":"vsphere.local"}
其中 id項的值即為HTTP bearer tokens。

o  列出該用戶可以申請的所有的共享項目
curl --insecure -H "Accept: application/json" -H"Content-Type: application/json" -H "Authorization: Bearer$token" https://$CloudVistaAutomation/catalog-service/api/consumer/entitledCatalogItemViews
在該請求的響應中找到要申請項目的catalogItemId

o  獲取項目的請求模板
需要使用上一步得到的catalogItemId
curl --insecure -H "Accept:application/json" -H "Content-Type: application/json" -H"Authorization: Bearer $token" https://$CloudVistaAutomation/catalog-service/api/consumer/entitledCatalogItems/$catalogItemId/requests/template
響應即為該項目的請求模板。然後將該請求模板保存到本地目錄。

o  根據需要編輯項目的請求模板,例如請求的實例數,租期等

o  提交請求
curl --insecure -H "Accept: application/json" -H"Content-Type: application/json" -H "Authorization: Bearer$token" https://$CloudVistaAutomation/catalog-service/api/consumer/entitledCatalogItems/$catalogItemId/requests--verbose --data @/Users/admin/request.json
響應中會包含請求的狀態信息,其中包含請求的id

o  如果想要進一步查看請求的詳細信息,可以訪問
curl --insecure -H "Accept: application/json" -H"Content-Type: application/json" -H "Authorization: Bearer$token" https://$CloudVistaAutomation/catalog-service/api/consumer/requests/$id
或者直接登錄console查看

 

  • CloudClient

       CloudClient 是一個命令行工具,它以操作命令的方式為用戶提供了統一的接口來訪問CloudVista Automation。

        通過CloudClient,用戶可以瀏覽目錄並提交請求,批准目錄請求,管理置備的虛擬機,創建租戶和組,配置 IaaS,包括端點、數據收集和預留,管理目錄服務和授權,將藍圖和其他內容導入和導出為可讀格式,從命令行提交經身份驗證的API 調用,執行 vRealize Orchestrator 工作流等。

       CloudClient有如下一些特性和優勢:標準化的命令行界面相對於底層API 保持穩定,腳本編寫自動登錄 (密碼和密鑰文件),支持JSON、CSV 和表格等格式,文件導出,提供常見場景的示例腳本,插件模型支持擴展用例等。

       下面以藍圖的導入導出為例來介紹CloudClient的功能:
        導出藍圖

o  啟動CloudClient並登錄到目標CloudVista Automation


o  列出CloudVista Automation中已有的藍圖

記錄下要導出藍圖的id和contentId

o  通過命令導出藍圖

o  在目標目錄下查看導出結果

       導入藍圖

o  準備打包好的藍圖,放置到本地目錄下,例如下圖的hadoop-as-a-service藍圖

o  通過命令導入藍圖

o  登錄CloudVista Automation console檢查導入結果

可以看到名為Hadoop的藍圖已經被成功導入

 

CloudVista Automation通過這些擴展組件,不僅可以滿足擴展實現各種自動化服務,而且可以方便的與第三方系統進行集成,將雲平臺的各種服務以及相關狀態信息開放給授權的訪問系統,使得用戶既可以使用CloudVista Automation本身的強大功能,也可以滿足實現各自特定使用場景和環境下的集成需求。

 

如需產品試用及其他技術支持,請發郵件至jiangyang_rg@svmsoft.com.cn。

關注中科睿光官微,以獲取更多信息:

閱讀原文

TAGS: