+#
+# Thierry Parmentelat - INRIA
+#
from PLC.Nodes import Node
from PLC.Interfaces import Interface
from PLC.Slices import Slice
-from PLC.Slices import Slice
from PLC.Sites import Site
from PLC.Persons import Person
import sys
current_module = sys.modules[__name__]
+# this is how to request the features
define_accessors(current_module, Slice, "OmfControl","omf_control",
"slice/usertools","Pre-install and configure OMF Resource Controller in slice if set",
- get_roles=all_roles, set_roles=all_roles, expose_in_api=True)
+ set_roles=all_roles, expose_in_api=True)
define_accessors(current_module, Slice, "SliverHMAC","enable_hmac",
"slice/usertools","Create HMAC keys for node in slice (slivers)",
- get_roles=all_roles, set_roles=all_roles, expose_in_api=True)
+ set_roles=all_roles, expose_in_api=True)
+
+# this is where the crypto stuff gets stored
+# this ends up in a sliver tag - the node creates that
+# the accessors engine does not know how to create sliver accessors
+# like e.g. GetSliverHmac(node,slice)
+# but they are mentioned here as they are related to the above
+
+# Security capability to empower a slice to make an authenticated API call, set by silverauth NM plugin.
+define_accessors(current_module, Slice, "Hmac","hmac",
+ "slice/auth", "Sliver authorization key, for authenticated API call",
+ set_roles=['admin','node'])
+# sliver-dependant ssh key, used to authenticate the experimental plane with OMF tools
+define_accessors(current_module, Slice, "SshKey", "ssh_key",
+ 'slice/auth', "Sliver public ssh key",
+ set_roles= ['admin','node'])