Skip to content

Commit

Permalink
Merge pull request #136 from raccoon-pi/feature_RegionZoneHandler_TEN
Browse files Browse the repository at this point in the history
get region zone with param TENCNET
  • Loading branch information
MZC-CSC committed Sep 20, 2023
2 parents 65d199a + 9ca6483 commit 1b78389
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1443,8 +1443,9 @@ func handleRegionZone() {
fmt.Println("RegionZoneHandler Management")
fmt.Println("0. Quit")
fmt.Println("1. List RegionZone")
fmt.Println("2. List OrgRegion")
fmt.Println("3. List OrgZone")
fmt.Println("2. ('ap-beijing') RegionZone")
fmt.Println("3. List OrgRegion")
fmt.Println("4. List OrgZone")

var commandNum int
inputCnt, err := fmt.Scan(&commandNum)
Expand All @@ -1470,6 +1471,17 @@ func handleRegionZone() {
cblogger.Info("출력 결과 수 : ", len(result))
}
case 2:
result, err := handler.GetRegionZone("ap-beijing")
if err != nil {
cblogger.Infof("ListRegionZone 목록 조회 실패 : %s", err)
} else {
cblogger.Info("ListRegionZone 목록 조회 결과")
// cblogger.Debugf("결과 %s", result[0])
spew.Dump(result)
cblogger.Infof("로그 레벨 : [%s]", cblog.GetLevel())
//spew.Dump(result)
}
case 3:
result, err := handler.ListOrgRegion()
if err != nil {
cblogger.Infof("ListRegionZone 목록 조회 실패 : %s", err)
Expand All @@ -1481,7 +1493,7 @@ func handleRegionZone() {
//spew.Dump(result)
cblogger.Info("출력 결과 수 : ", len(result))
}
case 3:
case 4:
result, err := handler.ListOrgZone()
if err != nil {
cblogger.Infof("ListRegionZone 목록 조회 실패 : %s", err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,65 @@ func (regionZoneHandler *TencentRegionZoneHandler) ListRegionZone() ([]*irs.Regi
return regionZoneInfoList, nil
}

func (regionZoneHandler *TencentRegionZoneHandler) GetRegionZone(Name string) (irs.RegionZoneInfo, error) {
responseRegions, err := DescribeRegions(regionZoneHandler.Client)
if err != nil {
cblogger.Error("err : DescribeRegions")
cblogger.Error(err)
return irs.RegionZoneInfo{}, err
}

var targetRegion cvm.RegionInfo
for _, region := range responseRegions.Response.RegionSet {
if *region.Region == Name {
targetRegion = *region
}
}

clientProfile := profile.NewClientProfile()
clientProfile.Language = "en-US" // lang default set is zh-CN -> set as en-US.

// var regionZoneInfo irs.RegionZoneInfo

tempClient, _ := cvm.NewClient(regionZoneHandler.Client.Client.GetCredential(), Name, clientProfile)
responseZones, _ := DescribeZones(tempClient)

var zoneInfoList []irs.ZoneInfo
for _, zone := range responseZones.Response.ZoneSet {

keyValueList, err := ConvertKeyValueList(zone)
if err != nil {
cblogger.Errorf("err : ConvertKeyValueList [%s]", *zone.ZoneName)
cblogger.Error(err)
keyValueList = nil
}

zoneInfo := irs.ZoneInfo{}
zoneInfo.Name = *zone.Zone
zoneInfo.DisplayName = *zone.ZoneName
zoneInfo.Status = GetZoneStatus(*zone.ZoneState)
zoneInfo.KeyValueList = keyValueList

zoneInfoList = append(zoneInfoList, zoneInfo)
}

keyValueList, err := ConvertKeyValueList(targetRegion)
if err != nil {
cblogger.Errorf("err : ConvertKeyValueList [%s]", Name)
cblogger.Error(err)
keyValueList = nil
}

regionZoneInfo := irs.RegionZoneInfo{}
regionZoneInfo.Name = *targetRegion.Region
regionZoneInfo.DisplayName = *targetRegion.RegionName
regionZoneInfo.ZoneList = zoneInfoList
regionZoneInfo.KeyValueList = keyValueList

return regionZoneInfo, nil
// return irs.RegionZoneInfo{}, nil
}

func (regionZoneHandler *TencentRegionZoneHandler) ListOrgRegion() (string, error) {

responseRegions, err := DescribeRegions(regionZoneHandler.Client)
Expand Down

0 comments on commit 1b78389

Please sign in to comment.