mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-01 15:07:17 +08:00
minor updates
This commit is contained in:
+76
-43
@@ -183,15 +183,16 @@ var ubuntu = SAWSImagePublisherInfo{
|
||||
return "Linux"
|
||||
},
|
||||
GetOSDist: func(image SImage) string {
|
||||
parts := strings.Split(image.ImageName, "/")
|
||||
if len(parts) < 4 {
|
||||
return "Ubuntu Core"
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu-minimal/") {
|
||||
return "Ubuntu Minimal"
|
||||
}
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu-rolling-") || strings.HasPrefix(image.ImageName, "ubuntu-core") {
|
||||
return "Ubuntu Core"
|
||||
} else {
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu/") {
|
||||
return "Ubuntu"
|
||||
}
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu-rolling-") || strings.HasPrefix(image.ImageName, "ubuntu-core") || strings.Index(image.ImageName, "core-edge") > 0 {
|
||||
return "Ubuntu Core"
|
||||
}
|
||||
return "Ubuntu"
|
||||
},
|
||||
GetOSVersion: func(image SImage) string {
|
||||
relStr := ubuntuReleasePattern.FindString(image.ImageName)
|
||||
@@ -219,14 +220,8 @@ var ubuntu = SAWSImagePublisherInfo{
|
||||
return ""
|
||||
},
|
||||
GetOSBuildID: func(image SImage) string {
|
||||
parts := strings.Split(image.ImageName, "/")
|
||||
if len(parts) >= 4 {
|
||||
parts = strings.Split(parts[3], "-")
|
||||
if len(parts) >= 5 {
|
||||
return parts[len(parts)-1]
|
||||
}
|
||||
}
|
||||
return ""
|
||||
parts := strings.Split(image.ImageName, "-")
|
||||
return parts[len(parts)-1]
|
||||
},
|
||||
}
|
||||
|
||||
@@ -409,18 +404,56 @@ var coreos = SAWSImagePublisherInfo{
|
||||
},
|
||||
}
|
||||
|
||||
var (
|
||||
sqlServerPattern = regexp.MustCompile(`-SQL_(\d+)_(\w+)-`)
|
||||
dotnetcorePattern = regexp.MustCompile(`-dotnetcore-`)
|
||||
)
|
||||
|
||||
var windowsServer = SAWSImagePublisherInfo{
|
||||
GetOSType: func(image SImage) string {
|
||||
return "Windows"
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu-") || strings.HasPrefix(image.ImageName, "amzn-ami-") || strings.HasPrefix(image.ImageName, "amzn2-ami-") {
|
||||
return "Linux"
|
||||
} else {
|
||||
return "Windows"
|
||||
}
|
||||
},
|
||||
GetOSDist: func(image SImage) string {
|
||||
return "Windows Server"
|
||||
osStr := "Windows Server"
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu-") {
|
||||
osStr = "Ubuntu"
|
||||
} else if strings.HasPrefix(image.ImageName, "amzn-ami-") || strings.HasPrefix(image.ImageName, "amzn2-ami-") {
|
||||
osStr = "Amazon Linux"
|
||||
}
|
||||
apps := make([]string, 0)
|
||||
matchApp := sqlServerPattern.FindStringSubmatch(image.ImageName)
|
||||
if len(matchApp) > 0 {
|
||||
apps = append(apps, fmt.Sprintf("SQL Server %s %s", matchApp[1], matchApp[2]))
|
||||
}
|
||||
if dotnetcorePattern.MatchString(image.ImageName) {
|
||||
apps = append(apps, ".Net Core")
|
||||
}
|
||||
if len(apps) > 0 {
|
||||
osStr = fmt.Sprintf("%s with %s", osStr, strings.Join(apps, " "))
|
||||
}
|
||||
return osStr
|
||||
},
|
||||
GetOSVersion: func(image SImage) string {
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu-") {
|
||||
return ubuntu.GetOSVersion(image)
|
||||
}
|
||||
if strings.HasPrefix(image.ImageName, "amzn-ami-") || strings.HasPrefix(image.ImageName, "amzn2-ami-") {
|
||||
return amazon.GetOSVersion(image)
|
||||
}
|
||||
parts := strings.Split(image.ImageName, "-")
|
||||
return strings.Join(parts[1:len(parts)-1], " ")
|
||||
},
|
||||
GetOSBuildID: func(image SImage) string {
|
||||
if strings.HasPrefix(image.ImageName, "ubuntu-") {
|
||||
return ubuntu.GetOSBuildID(image)
|
||||
}
|
||||
if strings.HasPrefix(image.ImageName, "amzn-ami-") || strings.HasPrefix(image.ImageName, "amzn2-ami-") {
|
||||
return amazon.GetOSBuildID(image)
|
||||
}
|
||||
parts := strings.Split(image.ImageName, "-")
|
||||
return parts[len(parts)-1]
|
||||
},
|
||||
@@ -428,7 +461,7 @@ var windowsServer = SAWSImagePublisherInfo{
|
||||
|
||||
var (
|
||||
amazonVersionPattern = regexp.MustCompile(`-(\d{4})\.(\d{2})\.(rc-\d+|\d+)(\.(\d+))?`)
|
||||
amazonVersionPattern2 = regexp.MustCompile(`-(\d+)\.(\d+)\.(\d{8})(\.(\d+))?`)
|
||||
amazonVersionPattern2 = regexp.MustCompile(`-(\d{1,2})\.(\d{1,2})\.(\d{8})(\.(\d+))?`)
|
||||
)
|
||||
|
||||
var amazon = SAWSImagePublisherInfo{
|
||||
@@ -443,48 +476,48 @@ var amazon = SAWSImagePublisherInfo{
|
||||
}
|
||||
},
|
||||
GetOSVersion: func(image SImage) string {
|
||||
verStrs := amazonVersionPattern.FindStringSubmatch(image.ImageName)
|
||||
if len(verStrs) > 3 {
|
||||
return fmt.Sprintf("%s.%s.%s", verStrs[1], verStrs[2], verStrs[3])
|
||||
}
|
||||
verStrs = amazonVersionPattern2.FindStringSubmatch(image.ImageName)
|
||||
verStrs := amazonVersionPattern2.FindStringSubmatch(image.ImageName)
|
||||
if len(verStrs) > 3 {
|
||||
return fmt.Sprintf("%s.%s.%s", verStrs[1], verStrs[2], verStrs[3][:6])
|
||||
}
|
||||
verStrs = amazonVersionPattern.FindStringSubmatch(image.ImageName)
|
||||
if len(verStrs) > 3 {
|
||||
return fmt.Sprintf("%s.%s.%s", verStrs[1], verStrs[2], verStrs[3])
|
||||
}
|
||||
return ""
|
||||
},
|
||||
GetOSBuildID: func(image SImage) string {
|
||||
verStrs := amazonVersionPattern.FindStringSubmatch(image.ImageName)
|
||||
if len(verStrs) > 5 {
|
||||
return verStrs[5]
|
||||
}
|
||||
verStrs = amazonVersionPattern2.FindStringSubmatch(image.ImageName)
|
||||
verStrs := amazonVersionPattern2.FindStringSubmatch(image.ImageName)
|
||||
if len(verStrs) > 5 && len(verStrs[5]) > 0 {
|
||||
return fmt.Sprintf("%s.%s", verStrs[3], verStrs[5])
|
||||
} else if len(verStrs) > 3 {
|
||||
return verStrs[3]
|
||||
}
|
||||
verStrs = amazonVersionPattern.FindStringSubmatch(image.ImageName)
|
||||
if len(verStrs) > 5 {
|
||||
return verStrs[5]
|
||||
}
|
||||
return ""
|
||||
},
|
||||
}
|
||||
|
||||
var awsImagePublishers = map[string]SAWSImagePublisherInfo{
|
||||
"841258680906": rhel,
|
||||
"309956199498": rhel,
|
||||
"673060587306": debian,
|
||||
"379101102735": debian,
|
||||
"718707510307": centos,
|
||||
"410186602215": centos,
|
||||
"837727238323": ubuntu,
|
||||
"099720109477": ubuntu,
|
||||
"841869936221": suse,
|
||||
"013907871322": suse,
|
||||
"280032941352": coreos,
|
||||
"595879546273": coreos,
|
||||
"016951021795": windowsServer,
|
||||
"801119661308": windowsServer,
|
||||
"137112412989": amazon,
|
||||
"141808717104": amazon,
|
||||
"841258680906": rhel, // china
|
||||
"309956199498": rhel, // international
|
||||
"673060587306": debian, // china
|
||||
"379101102735": debian, // international
|
||||
"718707510307": centos, // china
|
||||
"410186602215": centos, // international
|
||||
"837727238323": ubuntu, // china
|
||||
"099720109477": ubuntu, // internaltional
|
||||
"841869936221": suse, // china
|
||||
"013907871322": suse, // international
|
||||
"280032941352": coreos, // china
|
||||
"595879546273": coreos, // international
|
||||
"016951021795": windowsServer, // china
|
||||
"801119661308": windowsServer, // international
|
||||
"141808717104": amazon, // china
|
||||
"137112412989": amazon, // international
|
||||
}
|
||||
|
||||
func getImageOSType(image SImage) string {
|
||||
|
||||
Reference in New Issue
Block a user