resert endpoint

This commit is contained in:
mhf
2022-09-21 16:19:15 +08:00
parent bac407a65c
commit 7b3eabfd39
6 changed files with 40 additions and 21 deletions

View File

@@ -1546,7 +1546,7 @@ func (self *SClouduser) GetDetailsAccessKeys(ctx context.Context, userCred mccli
return jsonutils.Marshal(ret), nil
}
func (self *SClouduser) DeleteAccessKey(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input api.ClouduserDeleteAccessKeyInput) (jsonutils.JSONObject, error) {
func (self *SClouduser) PerformDeleteAccessKey(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, input api.ClouduserDeleteAccessKeyInput) (jsonutils.JSONObject, error) {
user, err := self.GetIClouduser()
if err != nil {
return nil, errors.Wrapf(err, "GetIClouduser")

View File

@@ -20,7 +20,6 @@ import (
"time"
"yunion.io/x/jsonutils"
"yunion.io/x/log"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/util/compare"
"yunion.io/x/sqlchemy"
@@ -278,7 +277,6 @@ func (self *SCloudregion) SyncModelartsPools(ctx context.Context, userCred mccli
// 判断资源是否可以删除
func (self *SModelartsPool) ValidateDeleteCondition(ctx context.Context, info jsonutils.JSONObject) error {
log.Errorln("this is IN Validata")
if self.DisableDelete.IsTrue() {
return httperrors.NewInvalidStatusError("ModelartsPool is locked, cannot delete")
}

View File

@@ -60,7 +60,7 @@ func (self *ModelartsPoolCreateTask) OnInit(ctx context.Context, obj db.IStandal
ipool, err := iRegion.CreateIModelartsPool(opts)
if err != nil {
self.taskFailed(ctx, pool, errors.Wrapf(err, "iProvider.CreateIModelartsPool"))
self.taskFailed(ctx, pool, errors.Wrapf(err, "iRegion.CreateIModelartsPool"))
return
}
err = db.SetExternalId(pool, self.GetUserCred(), ipool.GetGlobalId())

View File

@@ -108,55 +108,77 @@ func (self *SHuaweiClient) request(method httputils.THttpMethod, url string, que
return resp, err
}
func (self *SHuaweiClient) resetEndpoint(endpoint, serviceName string) string {
if len(endpoint) == 0 {
domain := self.HuaweiClientConfig.endpoints.EndpointDomain
regionId := self.HuaweiClientConfig.cpcfg.DefaultRegion
if len(regionId) == 0 {
regionId = self.GetRegions()[0].ID
}
endpoint = fmt.Sprintf("%s.%s.%s", serviceName, regionId, domain)
}
return endpoint
}
func (self *SHuaweiClient) getAKSKList(userId string) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v3.0/OS-CREDENTIAL/credentials", self.endpoints.Iam)
endpoint := self.resetEndpoint(self.endpoints.Iam, "iam-pub")
uri := fmt.Sprintf("https://%s/v3.0/OS-CREDENTIAL/credentials", endpoint)
query := url.Values{}
query.Set("user_id", userId)
return self.request(httputils.GET, uri, query, nil)
}
func (self *SHuaweiClient) createAKSK(params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v3.0/OS-CREDENTIAL/credentials", self.endpoints.Iam)
endpoint := self.resetEndpoint(self.endpoints.Iam, "iam-pub")
uri := fmt.Sprintf("https://%s/v3.0/OS-CREDENTIAL/credentials", endpoint)
return self.request(httputils.POST, uri, nil, params)
}
func (self *SHuaweiClient) deleteAKSK(accessKey string) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v3.0/OS-CREDENTIAL/credentials/%s", self.endpoints.Iam, accessKey)
return self.request(httputils.POST, uri, nil, nil)
endpoint := self.resetEndpoint(self.endpoints.Iam, "iam-pub")
uri := fmt.Sprintf("https://%s/v3.0/OS-CREDENTIAL/credentials/%s", endpoint, accessKey)
return self.request(httputils.DELETE, uri, nil, nil)
}
func (self *SHuaweiClient) modelartsPoolNetworkList(params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v1/%s/networks", self.endpoints.Modelarts, self.projectId)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v1/%s/networks", endpoint, self.projectId)
return self.request(httputils.GET, uri, url.Values{}, params)
}
func (self *SHuaweiClient) modelartsPoolNetworkCreate(params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v1/%s/networks", self.endpoints.Modelarts, self.projectId)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v1/%s/networks", endpoint, self.projectId)
return self.request(httputils.POST, uri, url.Values{}, params)
}
func (self *SHuaweiClient) modelartsPoolById(poolName string, params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://modelarts.%s.myhuaweicloud.com/v2/%s/pools/%s", self.endpoints.Modelarts, self.projectId, poolName)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://modelarts.%s.myhuaweicloud.com/v2/%s/pools/%s", endpoint, self.projectId, poolName)
return self.request(httputils.GET, uri, url.Values{}, params)
}
func (self *SHuaweiClient) modelartsPoolList(params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v2/%s/pools", self.endpoints.Modelarts, self.projectId)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v2/%s/pools", endpoint, self.projectId)
return self.request(httputils.GET, uri, url.Values{}, params)
}
func (self *SHuaweiClient) modelartsPoolCreate(params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v2/%s/pools", self.endpoints.Modelarts, self.projectId)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v2/%s/pools", endpoint, self.projectId)
return self.request(httputils.POST, uri, url.Values{}, params)
}
func (self *SHuaweiClient) modelartsPoolDelete(poolName string, params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v2/%s/pools/%s", self.endpoints.Modelarts, self.projectId, poolName)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v2/%s/pools/%s", endpoint, self.projectId, poolName)
return self.request(httputils.DELETE, uri, url.Values{}, params)
}
func (self *SHuaweiClient) modelartsPoolUpdate(poolName string, params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://modelarts.%s.myhuaweicloud.com/v2/%s/pools/%s", self.endpoints.Modelarts, self.projectId, poolName)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v2/%s/pools/%s", endpoint, self.projectId, poolName)
urlValue := url.Values{}
urlValue.Add("time_range", "")
urlValue.Add("statistics", "")
@@ -165,12 +187,14 @@ func (self *SHuaweiClient) modelartsPoolUpdate(poolName string, params map[strin
}
func (self *SHuaweiClient) modelartsPoolMonitor(poolName string, params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://modelarts.%s.myhuaweicloud.com/v2/%s/pools/%s/monitor", self.endpoints.Modelarts, self.projectId, poolName)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v2/%s/pools/%s/monitor", endpoint, self.projectId, poolName)
return self.request(httputils.GET, uri, url.Values{}, params)
}
func (self *SHuaweiClient) modelartsResourceflavors(params map[string]interface{}) (jsonutils.JSONObject, error) {
uri := fmt.Sprintf("https://%s/v1/%s/resourceflavors", self.endpoints.Modelarts, self.projectId)
endpoint := self.resetEndpoint(self.endpoints.Modelarts, "modelarts")
uri := fmt.Sprintf("https://%s/v1/%s/resourceflavors", endpoint, self.projectId)
return self.request(httputils.GET, uri, url.Values{}, params)
}

View File

@@ -19,7 +19,6 @@ import (
"time"
"yunion.io/x/jsonutils"
"yunion.io/x/log"
"yunion.io/x/pkg/errors"
billing_api "yunion.io/x/onecloud/pkg/apis/billing"
@@ -91,7 +90,6 @@ type SModelartsPoolNetworkMetadata struct {
func (self *SRegion) GetIModelartsPools() ([]cloudprovider.ICloudModelartsPool, error) {
pools := make([]SModelartsPool, 0)
log.Errorln("this is in GetIModelartsPools:", self.client.endpoints.Modelarts)
resObj, err := self.client.modelartsPoolList(nil)
if err != nil {
return nil, errors.Wrap(err, "region.GetPools")
@@ -111,6 +109,7 @@ func (self *SRegion) GetIModelartsPools() ([]cloudprovider.ICloudModelartsPool,
}
func (self *SRegion) CreateIModelartsPool(args *cloudprovider.ModelartsPoolCreateOption) (cloudprovider.ICloudModelartsPool, error) {
netObj, err := self.client.modelartsPoolNetworkList(nil)
if err != nil {
return nil, errors.Wrap(err, "SHuaweiClient.GetPools")

View File

@@ -16,7 +16,6 @@
package shell
import (
"yunion.io/x/log"
"yunion.io/x/onecloud/pkg/cloudprovider"
huawei "yunion.io/x/onecloud/pkg/multicloud/hcso"
"yunion.io/x/onecloud/pkg/util/shellutils"
@@ -28,7 +27,6 @@ func init() {
}
shellutils.R(&ModelartsPoolListOption{}, "modelarts-pool-list", "List Modelarts Pool", func(cli *huawei.SRegion, args *ModelartsPoolListOption) error {
log.Errorf("this is endpoints:%v,err:%s\n", cli.GetClient())
pools, err := cli.GetIModelartsPools()
if err != nil {
return err