code: func NewEtcd(alloc allocator.Snapshottable, baseKey string, resource schema.GroupResource, config *storagebackend.Config) *Etcd {
  	storage, d := generic.NewRawStorage(config)
  
  	// TODO : Remove RegisterStorageCleanup below when PR
  	// https://github.com/kubernetes/kubernetes/pull/50690
  	// merges as that shuts down storage properly
  	registry.RegisterStorageCleanup(d)
  
  	return &Etcd{
  		alloc:    alloc,
  		storage:  storage,
  		baseKey:  baseKey,
  		resource: resource,
  	}
  }
docs: // NewEtcd returns an allocator that is backed by Etcd and can manage
  // persisting the snapshot state of allocation after each allocation is made.