Sha256: 8fcf3928844597364504863a2c6e98224280c8b0c8f7d10aa26e812e650b46b5

Contents?: true

Size: 682 Bytes

Versions: 1

Compression:

Stored size: 682 Bytes

Contents

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

    def grant_lease(ttl)
      request = Etcdserverpb::LeaseGrantRequest.new(TTL: ttl)
      @stub.lease_grant(request, metadata: @metadata)
    end

    def revoke_lease(id)
      request = Etcdserverpb::LeaseRevokeRequest.new(ID: id)
      @stub.lease_revoke(request, metadata: @metadata)
    end

    def lease_ttl(id)
      request = Etcdserverpb::LeaseTimeToLiveRequest.new(ID: id, keys: true)
      @stub.lease_time_to_live(request, metadata: @metadata)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
etcdv3-0.1.3 lib/etcdv3/lease.rb