Class: Etcdv3::Lease

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Lease.



3
4
5
6
7
# File 'lib/etcdv3/lease.rb', line 3

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

Instance Method Details

#lease_grant(ttl, timeout: nil) ⇒ Object



9
10
11
12
# File 'lib/etcdv3/lease.rb', line 9

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

#lease_revoke(id, timeout: nil) ⇒ Object



14
15
16
17
# File 'lib/etcdv3/lease.rb', line 14

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

#lease_ttl(id, timeout: nil) ⇒ Object



19
20
21
22
# File 'lib/etcdv3/lease.rb', line 19

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