Region Zone Driver API - cloud-barista/cb-spider GitHub Wiki
Region/Zone Driver API
- CB-Spider Region/Zone Specification V0.5
- V0.5 : 실시간 목록 제공, 추후 필요시 캐싱 보완
1. CB-Spider Region/Zone 개요
- CB-Spider는 연동 대상 클라우드(CSP)가 제공하는 Region/Zone 목록을 동일 인터페이스로 제공한다.
- CSP별 Region/Zone 제공 현황 분석 및 제공 정보 예시
- Region/Zone 추상화/규격 정의, Driver 개발 가이드
- CSP별 Region/Zone 정보 제공 특이사항
2. Region/Zone Driver Common API
-
Source Tree
$tree cb-spider/cloud-control-manager/cloud-driver/interfaces/ cb-spider/cloud-control-manager/cloud-driver/interfaces/ |-- CloudDriver.go |-- README.md |-- connect | `-- CloudConnect.go `-- resources |-- AnyCallHandler.go |-- ClusterHandler.go |-- DiskHandler.go |-- IId.go |-- ImageHandler.go |-- KeyPairHandler.go |-- KeyValue.go |-- MyImageHandler.go |-- NLBHandler.go |-- RegionZoneHandler.go <================= Region/Zone Driver API |-- SecurityHandler.go |-- VMHandler.go |-- VMSpecHandler.go `-- VPCHandler.go
-
Driver API Spec (latest)
package resources // -------- Const type ZoneStatus string const ( ZoneAvailable ZoneStatus = "Available" ZoneUnavailable ZoneStatus = "Unavailable" NotSupported ZoneStatus = "StatusNotSupported" ) type RegionZoneInfo struct { Name string DisplayName string ZoneList []ZoneInfo KeyValueList []KeyValue } type ZoneInfo struct { Name string DisplayName string Status ZoneStatus // Available | Unavailable | NotSupported KeyValueList []KeyValue } type RegionZoneHandler interface { ListRegionZone() ([]*RegionZoneInfo, error) GetRegionZone(Name string) (RegionZoneInfo, error) ListOrgRegion() (string, error) // return string: json format ListOrgZone() (string, error) // return string: json format