Class: Etcdv3::Auth

Inherits:
Object
  • Object
show all
Defined in:
lib/etcdv3/auth.rb

Constant Summary collapse

PERMISSIONS =
{
  'read' => Authpb::Permission::Type::READ,
  'write' => Authpb::Permission::Type::WRITE,
  'readwrite' => Authpb::Permission::Type::READWRITE
}

Instance Method Summary collapse

Constructor Details

#initialize(hostname, credentials, metadata = {}) ⇒ Auth

Returns a new instance of Auth.



11
12
13
14
# File 'lib/etcdv3/auth.rb', line 11

def initialize(hostname, credentials,  = {})
  @stub = Etcdserverpb::Auth::Stub.new(hostname, credentials)
   = 
end

Instance Method Details

#add_role(name) ⇒ Object



55
56
57
58
# File 'lib/etcdv3/auth.rb', line 55

def add_role(name)
  request = Etcdserverpb::AuthRoleAddRequest.new(name: name)
  @stub.role_add(request, metadata: )
end

#add_user(user, password) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/etcdv3/auth.rb', line 29

def add_user(user, password)
  request = Etcdserverpb::AuthUserAddRequest.new(
    name: user,
    password: password
  )
  @stub.user_add(request, metadata: )
end

#change_user_password(user, new_password) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/etcdv3/auth.rb', line 47

def change_user_password(user, new_password)
  request = Etcdserverpb::AuthUserChangePasswordRequest.new(
    name: user,
    password: new_password
  )
  @stub.user_change_password(request, metadata: )
end

#delete_role(name) ⇒ Object



65
66
67
68
# File 'lib/etcdv3/auth.rb', line 65

def delete_role(name)
  request = Etcdserverpb::AuthRoleDeleteRequest.new(role: name)
  @stub.role_delete(request, metadata: )
end

#delete_user(user) ⇒ Object



37
38
39
40
# File 'lib/etcdv3/auth.rb', line 37

def delete_user(user)
  request = Etcdserverpb::AuthUserDeleteRequest.new(name: user)
  @stub.user_delete(request)
end

#disable_authObject



114
115
116
117
# File 'lib/etcdv3/auth.rb', line 114

def disable_auth
  request = Etcdserverpb::AuthDisableRequest.new
  @stub.auth_disable(request, metadata: )
end

#enable_authObject



109
110
111
112
# File 'lib/etcdv3/auth.rb', line 109

def enable_auth
  request = Etcdserverpb::AuthEnableRequest.new
  @stub.auth_enable(request)
end

#generate_token(user, password) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/etcdv3/auth.rb', line 16

def generate_token(user, password)
  request = Etcdserverpb::AuthenticateRequest.new(
    name: user,
    password: password
  )
  @stub.authenticate(request).token
end

#get_role(name) ⇒ Object



60
61
62
63
# File 'lib/etcdv3/auth.rb', line 60

def get_role(name)
  request = Etcdserverpb::AuthRoleGetRequest.new(role: name)
  @stub.role_get(request, metadata: )
end

#get_user(user) ⇒ Object



42
43
44
45
# File 'lib/etcdv3/auth.rb', line 42

def get_user(user)
  request = Etcdserverpb::AuthUserGetRequest.new(name: user)
  @stub.user_get(request)
end

#grant_permission_to_role(name, permission, key, range_end) ⇒ Object



80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/etcdv3/auth.rb', line 80

def grant_permission_to_role(name, permission, key, range_end)
  permission = Authpb::Permission.new(
    permType: Etcdv3::Auth::PERMISSIONS[permission], key: key, range_end: range_end
  )
  @stub.role_grant_permission(
    Etcdserverpb::AuthRoleGrantPermissionRequest.new(
      name: name,
      perm: permission
    ),
    metadata: 
  )
end

#grant_role_to_user(user, role) ⇒ Object



70
71
72
73
# File 'lib/etcdv3/auth.rb', line 70

def grant_role_to_user(user, role)
  request = Etcdserverpb::AuthUserGrantRoleRequest.new(user: user, role: role)
  @stub.user_grant_role(request, metadata: )
end

#revoke_permission_from_role(name, permission, key, range_end) ⇒ Object



93
94
95
96
97
98
99
100
101
102
# File 'lib/etcdv3/auth.rb', line 93

def revoke_permission_from_role(name, permission, key, range_end)
  @stub.role_revoke_permission(
    Etcdserverpb::AuthRoleRevokePermissionRequest.new(
      role: name,
      key: key,
      range_end: range_end
    ),
    metadata: 
  )
end

#revoke_role_from_user(user, role) ⇒ Object



75
76
77
78
# File 'lib/etcdv3/auth.rb', line 75

def revoke_role_from_user(user, role)
  request = Etcdserverpb::AuthUserRevokeRoleRequest.new(name: user, role: role)
  @stub.user_revoke_role(request, metadata: )
end

#role_listObject



104
105
106
107
# File 'lib/etcdv3/auth.rb', line 104

def role_list
  request = Etcdserverpb::AuthRoleListRequest.new
  @stub.role_list(request, metadata: )
end

#user_listObject



24
25
26
27
# File 'lib/etcdv3/auth.rb', line 24

def user_list
  request = Etcdserverpb::AuthUserListRequest.new
  @stub.user_list(request, metadata: )
end