|
- package config
-
- import (
- "gitlab.ecloud.com/ecloud/ecloudsdkcore/auth/provider"
- "gitlab.ecloud.com/ecloud/ecloudsdkcore/utils"
- )
-
- type Config struct {
- AccessKey *string `json:"accessKey"`
- SecretKey *string `json:"secretKey"`
- SecurityToken *string `json:"securityToken"`
- PoolId *string `json:"poolId"`
- RegionId *string `json:"regionId"`
- ReadTimeout *int32 `json:"readTimeout"`
- ConnectTimeout *int32 `json:"connectTimeout"`
- Protocol *string `json:"protocol"`
- AutoRetry *bool `json:"autoRetry"`
- IgnoreSSL *bool `json:"ignoreSSL"`
- CertFile *string `json:"certFile"`
- ClientCertFile *string `json:"clientCertFile"`
- ClientKeyFile *string `json:"clientKeyFile"`
- MaxRetryTimes *int32 `json:"maxRetryTimes"`
- RetryPeriod *int64 `json:"retryPeriod"`
- MaxDuringTime *int64 `json:"maxDuringTime"`
- HttpProxy *string `json:"httpProxy"`
- HttpsProxy *string `json:"httpsProxy"`
- ClientProxyUsername *string `json:"clientProxyUsername"`
- ClientProxyPassword *string `json:"clientProxyPassword"`
- ClientProxyHost *string `json:"clientProxyHost"`
- ClientProxyPort *int32 `json:"clientProxyPort"`
- ClientProxyProtocol *string `json:"clientProxyProtocol"`
- Source *string `json:"source"`
- IgnoreGateway *bool `json:"ignoreGateway"`
- CentralTransportEnabled *bool `json:"centralTransportEnabled"`
- GlobalQueryParams map[string]string `json:"globalQueryParams"`
- GlobalHeaderParams map[string]string `json:"globalHeaderParams"`
- Provider provider.ICredentialProvider `json:"provider"`
- }
-
- func NewConfig() *Config {
- return &Config{
- Protocol: utils.String("http"),
- IgnoreSSL: utils.Bool(true),
- IgnoreGateway: utils.Bool(false),
- CentralTransportEnabled: utils.Bool(true),
- GlobalHeaderParams: map[string]string{},
- GlobalQueryParams: map[string]string{},
- }
- }
-
- func (c *Config) String() string {
- return utils.Beautify(c)
- }
-
- func (c *Config) GoString() string {
- return c.String()
- }
-
- func (c *Config) ToJsonString() string {
- return utils.ToJsonString(c)
- }
-
- type ConfigBuilder struct {
- config *Config
- }
-
- func NewConfigBuilder() *ConfigBuilder {
- config := NewConfig()
- b := &ConfigBuilder{config: config}
- return b
- }
-
- func (c *ConfigBuilder) AccessKey(accessKey string) *ConfigBuilder {
- c.config.AccessKey = utils.String(accessKey)
- return c
- }
-
- func (c *ConfigBuilder) SecretKey(secretKey string) *ConfigBuilder {
- c.config.SecretKey = utils.String(secretKey)
- return c
- }
-
- func (c *ConfigBuilder) SecurityToken(securityToken string) *ConfigBuilder {
- c.config.SecurityToken = utils.String(securityToken)
- return c
- }
-
- func (c *ConfigBuilder) PoolId(poolId string) *ConfigBuilder {
- c.config.PoolId = utils.String(poolId)
- return c
- }
-
- func (c *ConfigBuilder) RegionId(regionId string) *ConfigBuilder {
- c.config.RegionId = utils.String(regionId)
- return c
- }
-
- func (c *ConfigBuilder) ReadTimeOut(readTimeOut int32) *ConfigBuilder {
- c.config.ReadTimeout = utils.Int32(readTimeOut)
- return c
- }
-
- func (c *ConfigBuilder) ConnectTimeout(connectTimeout int32) *ConfigBuilder {
- c.config.ConnectTimeout = utils.Int32(connectTimeout)
- return c
- }
-
- func (c *ConfigBuilder) Protocol(protocol string) *ConfigBuilder {
- c.config.Protocol = utils.String(protocol)
- return c
- }
-
- func (c *ConfigBuilder) AutoRetry(autoRetry bool) *ConfigBuilder {
- c.config.AutoRetry = utils.Bool(autoRetry)
- return c
- }
-
- func (c *ConfigBuilder) IgnoreSSL(ignoreSSL bool) *ConfigBuilder {
- c.config.IgnoreSSL = utils.Bool(ignoreSSL)
- return c
- }
-
- func (c *ConfigBuilder) CertFile(certFile string) *ConfigBuilder {
- c.config.CertFile = utils.String(certFile)
- return c
- }
-
- func (c *ConfigBuilder) ClientCertFile(clientCertFile string) *ConfigBuilder {
- c.config.ClientCertFile = utils.String(clientCertFile)
- return c
- }
-
- func (c *ConfigBuilder) ClientKeyFile(clientKeyFile string) *ConfigBuilder {
- c.config.ClientKeyFile = utils.String(clientKeyFile)
- return c
- }
-
- func (c *ConfigBuilder) MaxRetryTimes(maxRetryTimes int32) *ConfigBuilder {
- c.config.MaxRetryTimes = utils.Int32(maxRetryTimes)
- return c
- }
-
- func (c *ConfigBuilder) RetryPeriod(retryPeriod int64) *ConfigBuilder {
- c.config.RetryPeriod = utils.Int64(retryPeriod)
- return c
- }
-
- func (c *ConfigBuilder) MaxDuringTime(maxDuringTime int64) *ConfigBuilder {
- c.config.MaxDuringTime = utils.Int64(maxDuringTime)
- return c
- }
-
- func (c *ConfigBuilder) HttpProxy(httpProxy string) *ConfigBuilder {
- c.config.HttpProxy = utils.String(httpProxy)
- return c
- }
-
- func (c *ConfigBuilder) HttpsProxy(httpsProxy string) *ConfigBuilder {
- c.config.HttpsProxy = utils.String(httpsProxy)
- return c
- }
-
- func (c *ConfigBuilder) ClientProxyUsername(clientProxyUsername string) *ConfigBuilder {
- c.config.ClientProxyUsername = utils.String(clientProxyUsername)
- return c
- }
-
- func (c *ConfigBuilder) ClientProxyPassword(clientProxyPassword string) *ConfigBuilder {
- c.config.ClientProxyPassword = utils.String(clientProxyPassword)
- return c
- }
-
- func (c *ConfigBuilder) ClientProxyHost(clientProxyHost string) *ConfigBuilder {
- c.config.ClientProxyHost = utils.String(clientProxyHost)
- return c
- }
-
- func (c *ConfigBuilder) ClientProxyPort(clientProxyPort int32) *ConfigBuilder {
- c.config.ClientProxyPort = utils.Int32(clientProxyPort)
- return c
- }
-
- func (c *ConfigBuilder) ClientProxyProtocol(clientProxyProtocol string) *ConfigBuilder {
- c.config.ClientProxyProtocol = utils.String(clientProxyProtocol)
- return c
- }
-
- func (c *ConfigBuilder) IgnoreGateway(ignoreGateway bool) *ConfigBuilder {
- c.config.IgnoreGateway = utils.Bool(ignoreGateway)
- return c
- }
-
- func (c *ConfigBuilder) CentralTransportEnabled(centralTransportEnabled bool) *ConfigBuilder {
- c.config.CentralTransportEnabled = utils.Bool(centralTransportEnabled)
- return c
- }
-
- func (c *ConfigBuilder) GlobalQueryParams(globalQueryParams map[string]string) *ConfigBuilder {
- c.config.GlobalQueryParams = globalQueryParams
- return c
- }
-
- func (c *ConfigBuilder) GlobalHeaderParams(globalHeaderParams map[string]string) *ConfigBuilder {
- c.config.GlobalHeaderParams = globalHeaderParams
- return c
- }
-
- func (c *ConfigBuilder) Provider(provider provider.ICredentialProvider) *ConfigBuilder {
- c.config.Provider = provider
- return c
- }
-
- func (c *ConfigBuilder) Build() *Config {
- return c.config
- }
|