diff --git a/pkg/multicloud/qcloud/instance.go b/pkg/multicloud/qcloud/instance.go index b2ae52fd7d..e41eb4e061 100644 --- a/pkg/multicloud/qcloud/instance.go +++ b/pkg/multicloud/qcloud/instance.go @@ -612,6 +612,7 @@ func (self *SRegion) CreateInstance(name string, imageId string, instanceType st params["InternetAccessible.InternetChargeType"] = internetChargeType params["InternetAccessible.InternetMaxBandwidthOut"] = fmt.Sprintf("%d", bandwidth) + params["InternetAccessible.PublicIpAssigned"] = "TRUE" if publicIpBw == 0 { params["InternetAccessible.PublicIpAssigned"] = "FALSE" } @@ -680,6 +681,11 @@ func (self *SRegion) CreateInstance(name string, imageId string, instanceType st delete(params, "InternetAccessible.InternetMaxBandwidthOut") return false, nil } + if strings.Contains(err.Error(), "UnsupportedOperation.BandwidthPackageIdNotSupported") || + (strings.Contains(err.Error(), "Code=InvalidParameterCombination") && strings.Contains(err.Error(), "InternetAccessible.BandwidthPackageId")) { + delete(params, "InternetAccessible.BandwidthPackageId") + return false, nil + } return false, errors.Wrapf(err, "RunInstances") } return true, nil