code: func CopyConfig(config *Config) *Config {
  	return &Config{
  		Host:            config.Host,
  		APIPath:         config.APIPath,
  		ContentConfig:   config.ContentConfig,
  		Username:        config.Username,
  		Password:        config.Password,
  		BearerToken:     config.BearerToken,
  		BearerTokenFile: config.BearerTokenFile,
  		Impersonate: ImpersonationConfig{
  			Groups:   config.Impersonate.Groups,
  			Extra:    config.Impersonate.Extra,
  			UserName: config.Impersonate.UserName,
  		},
  		AuthProvider:        config.AuthProvider,
  		AuthConfigPersister: config.AuthConfigPersister,
  		ExecProvider:        config.ExecProvider,
  		TLSClientConfig: TLSClientConfig{
  			Insecure:   config.TLSClientConfig.Insecure,
  			ServerName: config.TLSClientConfig.ServerName,
  			CertFile:   config.TLSClientConfig.CertFile,
  			KeyFile:    config.TLSClientConfig.KeyFile,
  			CAFile:     config.TLSClientConfig.CAFile,
  			CertData:   config.TLSClientConfig.CertData,
  			KeyData:    config.TLSClientConfig.KeyData,
  			CAData:     config.TLSClientConfig.CAData,
  		},
  		UserAgent:     config.UserAgent,
  		Transport:     config.Transport,
  		WrapTransport: config.WrapTransport,
  		QPS:           config.QPS,
  		Burst:         config.Burst,
  		RateLimiter:   config.RateLimiter,
  		Timeout:       config.Timeout,
  		Dial:          config.Dial,
  	}
  }
docs: // CopyConfig returns a copy of the given config