Heat API包括Heat-api和Heat-api-cfn。
1.Heat-api
Heat-api為Heat-engine提供OpenStack風格的Rest查詢接口,通過消息隊列與Heat-engine交互,包含版本查詢、棧管理、棧動作、棧資源、棧事件、模板和軟件配置等接口。通過這些接口,能夠實現對基於模板的自動化部署流程(在OpenStack裡稱為棧)的全生命週期的管理。
2.Heat-api-cfn
為Heat-engine提供AWS風格的Rest查詢接口,此外還提供了WaitCondition和Signal資源的操作支持。
(1)WaitCondition
主要用於處理模板中的WaitCondition資源,該資源創建後會等待從虛擬機中發來信號,以便條件滿足後繼續進行棧的創建。虛擬機發信號其實就是調用Heat-api-cfn對外提供的接口。例如,要建立一個網絡服務器,這個網絡服務器需要在數據服務器執行完user-data之後才開始創建,這時就可以使用WaitCondition通信機制定義相互關係,並交由Heat-api-cfn來協調執行。
(2)Signal
這一操作供外部觸發對應資源的Signal方法(如果資源實現了Signal方法),典型的場景就是彈性伸縮組的觸發操作,通過Ceilometer告警事件觸發伸縮組資源的Signal方法的調用,從而實現了對虛擬機資源的伸縮自動生成和刪除操作。
3.統一授權管理
Heat API的調用授權管理遵循OpenStack中的標準,採用Keystone進行統一管理。