from PLC.Slices import Slice, Slices
from PLC.Nodes import Node, Nodes
from PLC.SliceAttributes import SliceAttribute, SliceAttributes
-from PLC.Auth import PasswordAuth
+from PLC.Auth import Auth
class AddSliceAttribute(Method):
"""
roles = ['admin', 'pi', 'user']
accepts = [
- PasswordAuth(),
+ Auth(),
Mixed(SliceAttribute.fields['slice_id'],
SliceAttribute.fields['name']),
Mixed(SliceAttribute.fields['attribute_type_id'],
returns = Parameter(int, 'New slice_attribute_id (> 0) if successful')
- event_type = 'Add'
- object_type = 'SliceAttribute'
- object_ids = []
+ object_type = 'Slice'
+
def call(self, auth, slice_id_or_name, attribute_type_id_or_name, value, node_id_or_hostname = None):
- slices = Slices(self.api, [slice_id_or_name]).values()
+ slices = Slices(self.api, [slice_id_or_name])
if not slices:
raise PLCInvalidArgument, "No such slice"
slice = slices[0]
- attribute_types = SliceAttributeTypes(self.api, [attribute_type_id_or_name]).values()
+ attribute_types = SliceAttributeTypes(self.api, [attribute_type_id_or_name])
if not attribute_types:
raise PLCInvalidArgument, "No such slice attribute type"
attribute_type = attribute_types[0]
# Sliver attribute if node is specified
if node_id_or_hostname is not None:
- nodes = Nodes(self.api, [node_id_or_hostname]).values()
+ nodes = Nodes(self.api, [node_id_or_hostname])
if not nodes:
raise PLCInvalidArgument, "No such node"
node = nodes[0]