func()

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
}