Initial openvim v0.4.6 upload
[osm/openvim.git] / charm / openvim / interface-openvim-compute / provides.py
1 from charms.reactive import hook
2 from charms.reactive import RelationBase
3 from charms.reactive import scopes
4
5
6 class ProvidesOpenVIMCompute(RelationBase):
7 scope = scopes.GLOBAL
8
9 auto_accessors = ['ssh_key']
10
11 @hook('{provides:openvim-compute}-relation-{joined,changed}')
12 def changed(self):
13 self.set_state('{relation_name}.connected')
14 if self.ssh_key():
15 self.set_state('{relation_name}.available')
16
17 @hook('{provides:openvim-compute}-relation-{broken,departed}')
18 def departed(self):
19 self.remove_state('{relation_name}.connected')
20 self.remove_state('{relation_name}.available')
21
22 def ssh_key_installed(self):
23 convo = self.conversation()
24 convo.set_remote('ssh_key_installed', True)
25
26 def send_user(self, user):
27 convo = self.conversation()
28 convo.set_remote('user', user)