mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 06:09:39 +08:00
network/wire/vpc增加zone/region信息
This commit is contained in:
@@ -150,9 +150,6 @@ func fetchIVMinfo(desc SAliyunVMCreateConfig, iVM cloudprovider.ICloudVM, guestI
|
||||
}
|
||||
data.Add(jsonutils.NewString("root"), "account")
|
||||
data.Add(jsonutils.NewString(encpasswd), "key")
|
||||
} else {
|
||||
data.Add(jsonutils.NewString(""), "account")
|
||||
data.Add(jsonutils.NewString(""), "key")
|
||||
}
|
||||
|
||||
if len(desc.OsDistribution) > 0 {
|
||||
|
||||
@@ -734,6 +734,30 @@ func isExitNetworkInfo(netConfig *SNetworkConfig) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (self *SNetwork) getZone() *SZone {
|
||||
wire := self.GetWire()
|
||||
if wire != nil {
|
||||
return wire.GetZone()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SNetwork) getVpc() *SVpc {
|
||||
wire := self.GetWire()
|
||||
if wire != nil {
|
||||
return wire.getVpc()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SNetwork) getRegion() *SCloudregion {
|
||||
wire := self.GetWire()
|
||||
if wire != nil {
|
||||
return wire.getRegion()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SNetwork) getMoreDetails(extra *jsonutils.JSONDict) *jsonutils.JSONDict {
|
||||
wire := self.GetWire()
|
||||
extra.Add(jsonutils.NewString(wire.Name), "wire")
|
||||
@@ -747,6 +771,34 @@ func (self *SNetwork) getMoreDetails(extra *jsonutils.JSONDict) *jsonutils.JSOND
|
||||
extra.Add(jsonutils.NewInt(int64(self.GetBaremetalNicsCount())), "bm_vnics")
|
||||
extra.Add(jsonutils.NewInt(int64(self.GetGroupNicsCount())), "group_vnics")
|
||||
extra.Add(jsonutils.NewInt(int64(self.GetReservedNicsCount())), "reserve_vnics")
|
||||
|
||||
zone := self.getZone()
|
||||
if zone != nil {
|
||||
extra.Add(jsonutils.NewString(zone.GetId()), "zone_id")
|
||||
extra.Add(jsonutils.NewString(zone.GetName()), "zone")
|
||||
if len(zone.GetExternalId()) > 0 {
|
||||
extra.Add(jsonutils.NewString(zone.GetExternalId()), "zone_external_id")
|
||||
}
|
||||
}
|
||||
|
||||
region := self.getRegion()
|
||||
if region != nil {
|
||||
extra.Add(jsonutils.NewString(region.GetId()), "region_id")
|
||||
extra.Add(jsonutils.NewString(region.GetName()), "region")
|
||||
if len(region.GetExternalId()) > 0 {
|
||||
extra.Add(jsonutils.NewString(region.GetExternalId()), "region_external_id")
|
||||
}
|
||||
}
|
||||
|
||||
vpc := self.getVpc()
|
||||
if vpc != nil {
|
||||
extra.Add(jsonutils.NewString(vpc.GetId()), "vpc_id")
|
||||
extra.Add(jsonutils.NewString(vpc.GetName()), "vpc")
|
||||
if len(vpc.GetExternalId()) > 0 {
|
||||
extra.Add(jsonutils.NewString(vpc.GetExternalId()), "vpc_external_id")
|
||||
}
|
||||
}
|
||||
|
||||
return extra
|
||||
}
|
||||
|
||||
|
||||
@@ -124,7 +124,12 @@ func (self *SVpc) getMoreDetails(extra *jsonutils.JSONDict) *jsonutils.JSONDict
|
||||
extra.Add(jsonutils.NewInt(int64(self.GetWireCount())), "wire_count")
|
||||
extra.Add(jsonutils.NewInt(int64(self.GetNetworkCount())), "network_count")
|
||||
region := self.GetRegion()
|
||||
extra.Add(jsonutils.NewString(region.GetName()), "region")
|
||||
if region != nil {
|
||||
extra.Add(jsonutils.NewString(region.GetName()), "region")
|
||||
if len(region.GetExternalId()) > 0 {
|
||||
extra.Add(jsonutils.NewString(region.GetExternalId()), "region_external_id")
|
||||
}
|
||||
}
|
||||
return extra
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ type SWire struct {
|
||||
VpcId string `wdith:"36" charset:"ascii" nullable:"false" list:"admin" create:"admin_required"`
|
||||
}
|
||||
|
||||
func (manager *SWireManager) GetContextManager() []db.IModelManager {
|
||||
func (manager *SWireManager) GetGContextManager() []db.IModelManager {
|
||||
return []db.IModelManager{ZoneManager, VpcManager}
|
||||
}
|
||||
|
||||
@@ -561,3 +561,48 @@ func (manager *SWireManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQu
|
||||
|
||||
return q, err
|
||||
}
|
||||
|
||||
func (self *SWire) getRegion() *SCloudregion {
|
||||
zone := self.GetZone()
|
||||
if zone != nil {
|
||||
return zone.GetRegion()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SWire) GetCustomizeColumns(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) *jsonutils.JSONDict {
|
||||
extra := self.SStandaloneResourceBase.GetCustomizeColumns(ctx, userCred, query)
|
||||
return self.getMoreDetails(extra)
|
||||
}
|
||||
|
||||
func (self *SWire) GetExtraDetails(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) *jsonutils.JSONDict {
|
||||
extra := self.SStandaloneResourceBase.GetExtraDetails(ctx, userCred, query)
|
||||
return self.getMoreDetails(extra)
|
||||
}
|
||||
|
||||
func (self *SWire) getMoreDetails(extra *jsonutils.JSONDict) *jsonutils.JSONDict {
|
||||
extra.Add(jsonutils.NewInt(int64(self.NetworkCount())), "networks")
|
||||
zone := self.GetZone()
|
||||
if zone != nil {
|
||||
extra.Add(jsonutils.NewString(zone.GetName()), "zone")
|
||||
if len(zone.GetExternalId()) > 0 {
|
||||
extra.Add(jsonutils.NewString(zone.GetExternalId()), "zone_external_id")
|
||||
}
|
||||
}
|
||||
region := self.getRegion()
|
||||
if region != nil {
|
||||
extra.Add(jsonutils.NewString(region.GetId()), "region_id")
|
||||
extra.Add(jsonutils.NewString(region.GetName()), "region")
|
||||
if len(region.GetExternalId()) > 0 {
|
||||
extra.Add(jsonutils.NewString(region.GetExternalId()), "region_external_id")
|
||||
}
|
||||
}
|
||||
vpc := self.getVpc()
|
||||
if vpc != nil {
|
||||
extra.Add(jsonutils.NewString(vpc.GetName()), "vpc")
|
||||
if len(vpc.GetExternalId()) > 0 {
|
||||
extra.Add(jsonutils.NewString(vpc.GetExternalId()), "vpc_external_id")
|
||||
}
|
||||
}
|
||||
return extra
|
||||
}
|
||||
Reference in New Issue
Block a user