etcdv3-ruby
etcdv3-ruby copied to clipboard
Active commands / feature list
Auth
- [x] auth_enable - Enables authentication
- [x] auth_disable - Disables authentication
Alarms
- [x] alarm_deactivate - Disarms all alarms
- [x] alarm_list - Lists all alarms
Cluster
- [ ] member_add - Adds a member into the cluster
- [ ] member_remove - Removes a member from the cluster
- [ ] member_update - Updates a member in the cluster
- [ ] member_list - Lists all members in the cluster
Keys
- [x] put - Puts the given key into the store
- [x] get - Gets the key or a range of keys
- [x] del - Removes the specified key or range of keys
- [x] transaction - Txn processes all the requests in one transaction
Leases
- [x] lease_grant - Creates leases
- [x] lease_revoke - Revokes leases
- [x] lease_ttl - Get lease information
- [ ] lease keep-alive - Keeps leases alive (renew)
Maintenance
- [ ] compaction - Compacts the event history in etcd
- [ ] defrag - Defragments the storage of the etcd members with given endpoints
- [ ] hash_kv - HashKV returns a hash of the KV state at the time of the RPC.
- [ ] move_leader - MoveLeader requests current leader to transfer its leadership to the transferee. Request must be made to the leader.
Misc.
- [x] version - Lists the active Etcd version
- [x] leader_id - Lists the current leader id
- [x] db_size - Current db size in bytes
Roles
- [x] role_add - Adds a new role
- [x] role_delete - Deletes a role
- [x] role_get - Gets detailed information of a role
- [x] role_list - Lists all roles
- [x] role_grant_permission - Grants a key to a role
- [x] role_revoke_permission - Revokes a key from a role
Snapshots
- [ ] snapshot_save - Stores an etcd node backend snapshot to a given file
- [ ] snapshot_restore - Restores an etcd member snapshot to an etcd directory
- [ ] snapshot_status - Gets backend snapshot status of a given file
Users
- [x] user_add - Adds a new user
- [x] user_delete - Deletes a user
- [x] user get - Gets detailed information of a user
- [x] user list - Lists all users
- [x] user_change_password - Changes password of user
- [x] user_grant_role - Grants a role to a user
- [x] user_revoke_role - Revokes a role from a user
Watch
- [x] watch - Watches events stream on keys or prefixes
Lock
- [x] lock - Distributed lock support
I think we should add distributed lock calls here as well?
https://github.com/kragniz/python-etcd3/pull/33/files
Lots of fun features to add: https://etcd.io/docs/v3.5/dev-guide/api_concurrency_reference_v3/