Module: InfluxDB::Query::User
- Included in:
- Client
- Defined in:
- lib/influxdb/query/user.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#create_database_user(database, username, password, options = {}) ⇒ Object
create_database_user(‘testdb’, ‘user’, ‘pass’) - grants all privileges by default create_database_user(‘testdb’, ‘user’, ‘pass’, permissions: :read) - use [:read|:write|:all].
- #delete_user(username) ⇒ Object
-
#grant_user_admin_privileges(username) ⇒ Object
permission => [:all].
-
#grant_user_privileges(username, database, permission) ⇒ Object
permission => [:read|:write|:all].
- #list_user_grants(username) ⇒ Object
-
#list_users ⇒ Object
> [“admin”=>true, “admin”=>false].
-
#revoke_user_privileges(username, database, permission) ⇒ Object
permission => [:read|:write|:all].
- #update_user_password(username, password) ⇒ Object
Instance Method Details
#create_database_user(database, username, password, options = {}) ⇒ Object
create_database_user(‘testdb’, ‘user’, ‘pass’) - grants all privileges by default create_database_user(‘testdb’, ‘user’, ‘pass’, permissions: :read) - use [:read|:write|:all]
6 7 8 9 10 11 12 |
# File 'lib/influxdb/query/user.rb', line 6 def create_database_user(database, username, password, = {}) = .fetch(:permissions, :all) execute( "CREATE user #{username} WITH PASSWORD '#{password}'; "\ "GRANT #{.to_s.upcase} ON #{database} TO #{username}" ) end |
#delete_user(username) ⇒ Object
37 38 39 |
# File 'lib/influxdb/query/user.rb', line 37 def delete_user(username) execute("DROP USER #{username}") end |
#grant_user_admin_privileges(username) ⇒ Object
permission => [:all]
19 20 21 |
# File 'lib/influxdb/query/user.rb', line 19 def grant_user_admin_privileges(username) execute("GRANT ALL PRIVILEGES TO #{username}") end |
#grant_user_privileges(username, database, permission) ⇒ Object
permission => [:read|:write|:all]
24 25 26 |
# File 'lib/influxdb/query/user.rb', line 24 def grant_user_privileges(username, database, ) execute("GRANT #{.to_s.upcase} ON #{database} TO #{username}") end |
#list_user_grants(username) ⇒ Object
28 29 30 |
# File 'lib/influxdb/query/user.rb', line 28 def list_user_grants(username) execute("SHOW GRANTS FOR #{username}") end |
#list_users ⇒ Object
> [“admin”=>true, “admin”=>false]
42 43 44 45 46 47 48 |
# File 'lib/influxdb/query/user.rb', line 42 def list_users resp = execute("SHOW USERS".freeze, parse: true) fetch_series(resp) .fetch(0, {}) .fetch('values'.freeze, []) .map { |v| { 'username' => v.first, 'admin' => v.last } } end |
#revoke_user_privileges(username, database, permission) ⇒ Object
permission => [:read|:write|:all]
33 34 35 |
# File 'lib/influxdb/query/user.rb', line 33 def revoke_user_privileges(username, database, ) execute("REVOKE #{.to_s.upcase} ON #{database} FROM #{username}") end |
#update_user_password(username, password) ⇒ Object
14 15 16 |
# File 'lib/influxdb/query/user.rb', line 14 def update_user_password(username, password) execute("SET PASSWORD FOR #{username} = '#{password}'") end |