type CombinedEtcdClient … // NewEtcdMigrateClient creates a new EtcdMigrateClient from the given EtcdMigrateCfg. func NewEtcdMigrateClient(cfg *EtcdMigrateCfg) (EtcdMigrateClient, error) { … } // Close closes the client and releases any resources it holds. func (e *CombinedEtcdClient) Close() error { … } // SetEtcdVersionKeyValue writes the given version to the etcd 'etcd_version' key. // If no error is returned, the write was successful, indicating the etcd server is available // and able to perform consensus writes. func (e *CombinedEtcdClient) SetEtcdVersionKeyValue(version *EtcdVersion) error { … } // Put write a single key value pair to etcd. func (e *CombinedEtcdClient) Put(version *EtcdVersion, key, value string) error { … } // Get reads a single value for a given key. func (e *CombinedEtcdClient) Get(version *EtcdVersion, key string) (string, error) { … } func (e *CombinedEtcdClient) clientV3() (*clientv3.Client, error) { … } // Backup creates a backup of an etcd2 data directory at the given backupDir. func (e *CombinedEtcdClient) Backup(version *EtcdVersion, backupDir string) error { … } // Snapshot captures a snapshot from a running etcd3 server and saves it to the given snapshotFile. // We cannot use etcd/clientv3 to make this call. It is implemented in the etcdctl client code. func (e *CombinedEtcdClient) Snapshot(version *EtcdVersion, snapshotFile string) error { … } // Restore restores a given snapshotFile into the data directory specified this clients config. func (e *CombinedEtcdClient) Restore(version *EtcdVersion, snapshotFile string) error { … } // Migrate upgrades a 'etcd2' storage version data directory to a 'etcd3' storage version // data directory. func (e *CombinedEtcdClient) Migrate(version *EtcdVersion) error { … } func (e *CombinedEtcdClient) runEtcdctlCommand(version *EtcdVersion, args ...string) error { … } // AttachLease attaches leases of the given leaseDuration to all the etcd objects under // ttlKeysDirectory specified in this client's config. func (e *CombinedEtcdClient) AttachLease(leaseDuration time.Duration) error { … } func (e *CombinedEtcdClient) endpoint() string { … }