Skip to content

Commit

Permalink
fix: 避免请求中国区iam异常
Browse files Browse the repository at this point in the history
  • Loading branch information
Qu Xuan committed Jul 7, 2020
1 parent adc50ec commit 5f9b662
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 30 deletions.
11 changes: 7 additions & 4 deletions pkg/multicloud/aws/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -404,8 +404,11 @@ func (self *SAwsClient) GetAccessEnv() string {
}
}

func (self *SAwsClient) request(serviceName, serviceId, apiVersion string, apiName string, params map[string]string, retval interface{}) error {
session, err := self.getAwsSession("")
func (self *SAwsClient) request(regionId, serviceName, serviceId, apiVersion string, apiName string, params map[string]string, retval interface{}) error {
if len(regionId) == 0 {
regionId = self.getDefaultRegionId()
}
session, err := self.getAwsSession(regionId)
if err != nil {
return err
}
Expand Down Expand Up @@ -436,11 +439,11 @@ func (self *SAwsClient) request(serviceName, serviceId, apiVersion string, apiNa
}

func (self *SAwsClient) iamRequest(apiName string, params map[string]string, retval interface{}) error {
return self.request(IAM_SERVICE_NAME, IAM_SERVICE_ID, "2010-05-08", apiName, params, retval)
return self.request("", IAM_SERVICE_NAME, IAM_SERVICE_ID, "2010-05-08", apiName, params, retval)
}

func (self *SAwsClient) stsRequest(apiName string, params map[string]string, retval interface{}) error {
return self.request(STS_SERVICE_NAME, STS_SERVICE_ID, "2011-06-15", apiName, params, retval)
return self.request("", STS_SERVICE_NAME, STS_SERVICE_ID, "2011-06-15", apiName, params, retval)
}

func jsonRequest(cli *client.Client, apiName string, params map[string]string, retval interface{}, debug bool) error {
Expand Down
28 changes: 2 additions & 26 deletions pkg/multicloud/aws/region.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,35 +262,11 @@ func Build(r *request.Request) {
}

func (self *SRegion) rdsRequest(apiName string, params map[string]string, retval interface{}) error {
return self.client.request(RDS_SERVICE_NAME, RDS_SERVICE_ID, "2014-10-31", apiName, params, retval)
return self.client.request(self.RegionId, RDS_SERVICE_NAME, RDS_SERVICE_ID, "2014-10-31", apiName, params, retval)
}

func (self *SRegion) ec2Request(apiName string, params map[string]string, retval interface{}) error {
session, err := self.getAwsSession()
if err != nil {
return err
}
c := session.ClientConfig(EC2_SERVICE_NAME)
metadata := metadata.ClientInfo{
ServiceName: EC2_SERVICE_NAME,
ServiceID: EC2_SERVICE_ID,
SigningName: c.SigningName,
SigningRegion: c.SigningRegion,
Endpoint: c.Endpoint,
APIVersion: "2016-11-15",
}

requestErr := aws.LogDebugWithRequestErrors

c.Config.LogLevel = &requestErr

client := client.New(*c.Config, metadata, c.Handlers)
client.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
client.Handlers.Build.PushBackNamed(buildHandler)
client.Handlers.Unmarshal.PushBackNamed(UnmarshalHandler)
client.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
client.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
return jsonRequest(client, apiName, params, retval, true)
return self.client.request(self.RegionId, EC2_SERVICE_NAME, EC2_SERVICE_ID, "2016-11-15", apiName, params, retval)
}

func (self *SRegion) cloudWatchRequest(apiName string, params *cloudwatch.GetMetricStatisticsInput,
Expand Down

0 comments on commit 5f9b662

Please sign in to comment.