func NewConfig() *Config {
	lpurl, _ := url.Parse(DefaultListenPeerURLs)
	apurl, _ := url.Parse(DefaultInitialAdvertisePeerURLs)
	lcurl, _ := url.Parse(DefaultListenClientURLs)
	acurl, _ := url.Parse(DefaultAdvertiseClientURLs)
	cfg := &Config{
		MaxSnapFiles: DefaultMaxSnapshots,
		MaxWalFiles:  DefaultMaxWALs,

		Name: DefaultName,

		SnapshotCount:          etcdserver.DefaultSnapshotCount,
		SnapshotCatchUpEntries: etcdserver.DefaultSnapshotCatchUpEntries,

		MaxTxnOps:       DefaultMaxTxnOps,
		MaxRequestBytes: DefaultMaxRequestBytes,

		GRPCKeepAliveMinTime:  DefaultGRPCKeepAliveMinTime,
		GRPCKeepAliveInterval: DefaultGRPCKeepAliveInterval,
		GRPCKeepAliveTimeout:  DefaultGRPCKeepAliveTimeout,

		TickMs:                     100,
		ElectionMs:                 1000,
		InitialElectionTickAdvance: true,

		LPUrls: []url.URL{*lpurl},
		LCUrls: []url.URL{*lcurl},
		APUrls: []url.URL{*apurl},
		ACUrls: []url.URL{*acurl},

		ClusterState:        ClusterStateFlagNew,
		InitialClusterToken: "etcd-cluster",

		StrictReconfigCheck: DefaultStrictReconfigCheck,
		Metrics:             "basic",
		EnableV2:            DefaultEnableV2,

		CORS:          map[string]struct{}{"*": {}},
		HostWhitelist: map[string]struct{}{"*": {}},

		AuthToken:  "simple",
		BcryptCost: uint(bcrypt.DefaultCost),

		PreVote: false, // TODO: enable by default in v3.5

		loggerMu:            new(sync.RWMutex),
		logger:              nil,
		Logger:              "capnslog",
		DeprecatedLogOutput: []string{DefaultLogOutput},
		LogOutputs:          []string{DefaultLogOutput},
		Debug:               false,
		LogPkgLevels:        "",
	}
	cfg.InitialCluster = cfg.InitialClusterFromName(cfg.Name)
	return cfg
}
func NewConfig() *Config {
	lpurl, _ := url.Parse(DefaultListenPeerURLs)
	apurl, _ := url.Parse(DefaultInitialAdvertisePeerURLs)
	lcurl, _ := url.Parse(DefaultListenClientURLs)
	acurl, _ := url.Parse(DefaultAdvertiseClientURLs)
	cfg := &Config{
		MaxSnapFiles: DefaultMaxSnapshots,
		MaxWalFiles:  DefaultMaxWALs,

		Name: DefaultName,

		SnapshotCount:          etcdserver.DefaultSnapshotCount,
		SnapshotCatchUpEntries: etcdserver.DefaultSnapshotCatchUpEntries,

		MaxTxnOps:       DefaultMaxTxnOps,
		MaxRequestBytes: DefaultMaxRequestBytes,

		GRPCKeepAliveMinTime:  DefaultGRPCKeepAliveMinTime,
		GRPCKeepAliveInterval: DefaultGRPCKeepAliveInterval,
		GRPCKeepAliveTimeout:  DefaultGRPCKeepAliveTimeout,

		TickMs:                     100,
		ElectionMs:                 1000,
		InitialElectionTickAdvance: true,

		LPUrls: []url.URL{*lpurl},
		LCUrls: []url.URL{*lcurl},
		APUrls: []url.URL{*apurl},
		ACUrls: []url.URL{*acurl},

		ClusterState:        ClusterStateFlagNew,
		InitialClusterToken: "etcd-cluster",

		StrictReconfigCheck: DefaultStrictReconfigCheck,
		Metrics:             "basic",
		EnableV2:            DefaultEnableV2,

		CORS:          map[string]struct{}{"*": {}},
		HostWhitelist: map[string]struct{}{"*": {}},

		AuthToken:  "simple",
		BcryptCost: uint(bcrypt.DefaultCost),

		PreVote: false, // TODO: enable by default in v3.5

		loggerMu:            new(sync.RWMutex),
		logger:              nil,
		Logger:              "capnslog",
		DeprecatedLogOutput: []string{DefaultLogOutput},
		LogOutputs:          []string{DefaultLogOutput},
		Debug:               false,
		LogPkgLevels:        "",
	}
	cfg.InitialCluster = cfg.InitialClusterFromName(cfg.Name)
	return cfg
}
func NewConfig ( ) * Config { lpurl , _ := url . Parse ( DefaultListenPeerURLs ) apurl , _ := url . Parse ( DefaultInitialAdvertisePeerURLs ) lcurl , _ := url . Parse ( DefaultListenClientURLs ) acurl , _ := url . Parse ( DefaultAdvertiseClientURLs ) cfg := & Config { MaxSnapFiles : DefaultMaxSnapshots , MaxWalFiles : DefaultMaxWALs , Name : DefaultName , SnapshotCount : etcdserver . DefaultSnapshotCount , SnapshotCatchUpEntries : etcdserver . DefaultSnapshotCatchUpEntries , MaxTxnOps : DefaultMaxTxnOps , MaxRequestBytes : DefaultMaxRequestBytes , GRPCKeepAliveMinTime : DefaultGRPCKeepAliveMinTime , GRPCKeepAliveInterval : DefaultGRPCKeepAliveInterval , GRPCKeepAliveTimeout : DefaultGRPCKeepAliveTimeout , TickMs : 100 , ElectionMs : 1000 , InitialElectionTickAdvance : true , LPUrls : [ ] url . URL { * lpurl } , LCUrls : [ ] url . URL { * lcurl } , APUrls : [ ] url . URL { * apurl } , ACUrls : [ ] url . URL { * acurl } , ClusterState : ClusterStateFlagNew , InitialClusterToken : " " , StrictReconfigCheck : DefaultStrictReconfigCheck , Metrics : " " , EnableV2 : DefaultEnableV2 , CORS : map [ string ] struct { } { " " : { } } , HostWhitelist : map [ string ] struct { } { " " : { } } , AuthToken : " " , BcryptCost : uint ( bcrypt . DefaultCost ) , PreVote : false , // TODO: enable by default in v3.5 loggerMu : new ( sync . RWMutex ) , logger : nil , Logger : " " , DeprecatedLogOutput : [ ] string { DefaultLogOutput } , LogOutputs : [ ] string { DefaultLogOutput } , Debug : false , LogPkgLevels : " " , } cfg . InitialCluster = cfg . InitialClusterFromName ( cfg . Name ) return cfg }
// NewConfig creates a new Config populated with default values.
NewConfig creates a new Config populated with default values .