Sha256: c5c62c1cc003ab757f008abcd76513176f004f0fc47476313d8c809c4c5d4bb7

Contents?: true

Size: 859 Bytes

Versions: 2

Compression:

Stored size: 859 Bytes

Contents

class Etcd
  class Auth

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

    def generate_token(user, password)
      response = @stub.authenticate(Authpb::User.new(name: user, password: password))
      response.token
    end

    def user_list(metadata={})
      @stub.user_list(Authpb::User.new, metadata: metadata).users
    end

    def add_user(user, password, metadata={})
      @stub.user_add(Authpb::User.new(name: user, password: password), metadata: metadata)

    rescue GRPC::FailedPrecondition => exception
      puts exception.message
    end

    def delete_user(user, metadata={})
      @stub.user_delete(Authpb::User.new(name: user), metadata: metadata)

    rescue GRPC::FailedPrecondition => exception
      puts exception.message
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
etcdv3-0.0.4 lib/etcdv3/auth.rb
etcdv3-0.0.3 lib/etcdv3/auth.rb