Sha256: 2550f6aba4ea1d6816b7bc95675aaa62635b80de19aa23e6699db987984581ac

Contents?: true

Size: 663 Bytes

Versions: 3

Compression:

Stored size: 663 Bytes

Contents

class Etcd
  class Lease
    def initialize(hostname, credentials, metadata={})
      @stub = Etcdserverpb::Lease::Stub.new(hostname, 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

3 entries across 3 versions & 1 rubygems

Version Path
etcdv3-0.2.0 lib/etcdv3/lease.rb
etcdv3-0.1.5 lib/etcdv3/lease.rb
etcdv3-0.1.4 lib/etcdv3/lease.rb