in common/go/client/client.go [355:408]
func (client *Client)Init(config *Config)(_err error) {
if tea.BoolValue(util.IsUnset(config)) {
_err = tea.NewSDKError(map[string]interface{}{
"code": "ParameterMissing",
"message": "'config' can not be unset",
})
return _err
}
if !tea.BoolValue(util.Empty(config.AccessKeyId)) && !tea.BoolValue(util.Empty(config.AccessKeySecret)) {
if !tea.BoolValue(util.Empty(config.SecurityToken)) {
config.Type = tea.String("sts")
} else {
config.Type = tea.String("access_key")
}
credentialConfig := &credential.Config{
AccessKeyId: config.AccessKeyId,
Type: config.Type,
AccessKeySecret: config.AccessKeySecret,
}
credentialConfig.SecurityToken = config.SecurityToken
client.Credential, _err = credential.NewCredential(credentialConfig)
if _err != nil {
return _err
}
} else if !tea.BoolValue(util.Empty(config.BearerToken)) {
cc := &credential.Config{
Type: tea.String("bearer"),
BearerToken: config.BearerToken,
}
client.Credential, _err = credential.NewCredential(cc)
if _err != nil {
return _err
}
} else if !tea.BoolValue(util.IsUnset(config.Credential)) {
client.Credential = config.Credential
}
client.Project = config.Project
client.Endpoint = config.Endpoint
client.Protocol = config.Protocol
client.Method = config.Method
client.RegionId = config.RegionId
client.UserAgent = config.UserAgent
client.ReadTimeout = config.ReadTimeout
client.ConnectTimeout = config.ConnectTimeout
client.SignatureVersion = config.SignatureVersion
client.GlobalParameters = config.GlobalParameters
client.Suffix = config.Suffix
return nil
}