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, timeout, metadata = {}) ⇒ Auth

Returns a new instance of Auth.



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

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

Instance Method Details

#auth_disable(timeout: nil) ⇒ Object



22
23
24
25
# File 'lib/etcdv3/auth.rb', line 22

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

#auth_enable(timeout: nil) ⇒ Object



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

def auth_enable(timeout: nil)
  request = Etcdserverpb::AuthEnableRequest.new
  @stub.auth_enable(request, deadline: deadline(timeout))
end

#generate_token(user, password, timeout: nil) ⇒ Object



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

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

#role_add(name, timeout: nil) ⇒ Object



27
28
29
30
# File 'lib/etcdv3/auth.rb', line 27

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

#role_delete(name, timeout: nil) ⇒ Object



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

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

#role_get(name, timeout: nil) ⇒ Object



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

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

#role_grant_permission(name, permission, key, range_end, timeout: nil) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/etcdv3/auth.rb', line 42

def role_grant_permission(name, permission, key, range_end, timeout: nil)
  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: ,
    deadline: deadline(timeout)
  )
end

#role_list(timeout: nil) ⇒ Object



68
69
70
71
# File 'lib/etcdv3/auth.rb', line 68

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

#role_revoke_permission(name, permission, key, range_end, timeout: nil) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/etcdv3/auth.rb', line 56

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

#user_add(user, password, timeout: nil) ⇒ Object



78
79
80
81
82
83
84
# File 'lib/etcdv3/auth.rb', line 78

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

#user_change_password(user, new_password, timeout: nil) ⇒ Object



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

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

#user_delete(user, timeout: nil) ⇒ Object



86
87
88
89
# File 'lib/etcdv3/auth.rb', line 86

def user_delete(user, timeout: nil)
  request = Etcdserverpb::AuthUserDeleteRequest.new(name: user)
  @stub.user_delete(request, metadata: , deadline: deadline(timeout))
end

#user_get(user, timeout: nil) ⇒ Object



91
92
93
94
# File 'lib/etcdv3/auth.rb', line 91

def user_get(user, timeout: nil)
  request = Etcdserverpb::AuthUserGetRequest.new(name: user)
  @stub.user_get(request, metadata: , deadline: deadline(timeout))
end

#user_grant_role(user, role, timeout: nil) ⇒ Object



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

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

#user_list(timeout: nil) ⇒ Object



73
74
75
76
# File 'lib/etcdv3/auth.rb', line 73

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

#user_revoke_role(user, role, timeout: nil) ⇒ Object



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

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