X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=charm%2Fopenvim%2Finterface-openvim%2Fprovides.py;fp=charm%2Fopenvim%2Finterface-openvim%2Fprovides.py;h=c4ade3f4e25f27ddfb8076e17520d53c258a41d0;hb=f7aa8c4db7a57d5865d3b7767d5957fda6867198;hp=0000000000000000000000000000000000000000;hpb=de6d6e77ff7bb93136a01ca8d3b90be9bc4be013;p=osm%2Fopenvim.git diff --git a/charm/openvim/interface-openvim/provides.py b/charm/openvim/interface-openvim/provides.py new file mode 100644 index 0000000..c4ade3f --- /dev/null +++ b/charm/openvim/interface-openvim/provides.py @@ -0,0 +1,24 @@ +from charmhelpers.core import hookenv +from charms.reactive import hook +from charms.reactive import RelationBase +from charms.reactive import scopes + + +class OpenVimProvides(RelationBase): + scope = scopes.GLOBAL + + @hook('{provides:openvim}-relation-{joined,changed}') + def changed(self): + self.set_state('{relation_name}.available') + + @hook('{provides:openvim}-relation-{broken,departed}') + def broken(self): + self.remove_state('{relation_name}.available') + + def configure(self, port, user): + relation_info = { + 'hostname': hookenv.unit_get('private-address'), + 'port': port, + 'user': user, + } + self.set_remote(**relation_info)