diff --git a/pkg/compute/models/skus.go b/pkg/compute/models/skus.go index 6dd68f35e9..1cd749b8e1 100644 --- a/pkg/compute/models/skus.go +++ b/pkg/compute/models/skus.go @@ -313,12 +313,12 @@ func (self *SServerSkuManager) ValidateCreateData(ctx context.Context, userCred region, _ = zone.GetRegion() } - if input.CpuCoreCount < 1 || input.CpuCoreCount > 256 { - return input, httperrors.NewOutOfRangeError("cpu_core_count should be range of 1~256") + if input.CpuCoreCount < 1 || input.CpuCoreCount > options.Options.SkuMaxCpuCount { + return input, httperrors.NewOutOfRangeError("cpu_core_count should be range of 1~%d", options.Options.SkuMaxCpuCount) } - if input.MemorySizeMB < 512 || input.MemorySizeMB > 1024*512 { - return input, httperrors.NewOutOfRangeError("memory_size_mb, shoud be range of 512~%d", 1024*512) + if input.MemorySizeMB < 512 || input.MemorySizeMB > 1024*options.Options.SkuMaxMemSize { + return input, httperrors.NewOutOfRangeError("memory_size_mb, shoud be range of 512~%d", 1024*options.Options.SkuMaxMemSize) } if len(input.InstanceTypeCategory) == 0 { diff --git a/pkg/compute/options/options.go b/pkg/compute/options/options.go index 3e24e9be69..6099b0bad6 100644 --- a/pkg/compute/options/options.go +++ b/pkg/compute/options/options.go @@ -204,6 +204,9 @@ type ComputeOptions struct { LocalDataDiskMinSizeGB int `help:"Data disk min size when using local storage" default:"10"` LocalDataDiskMaxSizeGB int `help:"Data disk max size when using local storage" default:"40960"` + SkuMaxMemSize int64 `help:"Sku max memory size GB" default:"1024"` + SkuMaxCpuCount int64 `help:"Sku max cpu count" default:"256"` + esxi.EsxiOptions }