X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FGetSliceTags.py;fp=PLC%2FMethods%2FGetSliceAttributes.py;h=2aef1c51b0d2212e71f6474cc870a2cedec80f33;hb=4492a19a0528f29d64f0c2bc1bb42723fd2df032;hp=882f98440ea8fdf0e4e71c30e093848bcb751738;hpb=69e48fc3fe3bfed4cc2d923a67825e0a901d486b;p=plcapi.git diff --git a/PLC/Methods/GetSliceAttributes.py b/PLC/Methods/GetSliceTags.py similarity index 59% rename from PLC/Methods/GetSliceAttributes.py rename to PLC/Methods/GetSliceTags.py index 882f984..2aef1c5 100644 --- a/PLC/Methods/GetSliceAttributes.py +++ b/PLC/Methods/GetSliceTags.py @@ -3,17 +3,17 @@ from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.Filter import Filter -from PLC.SliceAttributes import SliceAttribute, SliceAttributes +from PLC.SliceTags import SliceTag, SliceTags from PLC.Persons import Person, Persons from PLC.Sites import Site, Sites from PLC.Slices import Slice, Slices from PLC.Auth import Auth -class GetSliceAttributes(Method): +class GetSliceTags(Method): """ Returns an array of structs containing details about slice and sliver attributes. An attribute is a sliver attribute if the - node_id field is set. If slice_attribute_filter is specified and + node_id field is set. If slice_tag_filter is specified and is an array of slice attribute identifiers, or a struct of slice attribute attributes, only slice attributes matching the filter will be returned. If return_fields is specified, only the @@ -29,15 +29,15 @@ class GetSliceAttributes(Method): accepts = [ Auth(), - Mixed([SliceAttribute.fields['slice_attribute_id']], - Filter(SliceAttribute.fields)), + Mixed([SliceTag.fields['slice_tag_id']], + Filter(SliceTag.fields)), Parameter([str], "List of fields to return", nullok = True) ] - returns = [SliceAttribute.fields] + returns = [SliceTag.fields] - def call(self, auth, slice_attribute_filter = None, return_fields = None): + def call(self, auth, slice_tag_filter = None, return_fields = None): # If we are not admin, make sure to only return our own slice # and sliver attributes. if isinstance(self.caller, Person) and \ @@ -53,37 +53,37 @@ class GetSliceAttributes(Method): return [] # Get slice attributes that we are able to view - valid_slice_attribute_ids = [] + valid_slice_tag_ids = [] slices = Slices(self.api, valid_slice_ids) for slice in slices: - valid_slice_attribute_ids += slice['slice_attribute_ids'] + valid_slice_tag_ids += slice['slice_tag_ids'] - if not valid_slice_attribute_ids: + if not valid_slice_tag_ids: return [] - if slice_attribute_filter is None: - slice_attribute_filter = valid_slice_attribute_ids + if slice_tag_filter is None: + slice_tag_filter = valid_slice_tag_ids - # Must query at least slice_attribute_id (see below) - if return_fields is not None and 'slice_attribute_id' not in return_fields: - return_fields.append('slice_attribute_id') + # Must query at least slice_tag_id (see below) + if return_fields is not None and 'slice_tag_id' not in return_fields: + return_fields.append('slice_tag_id') added_fields = True else: added_fields = False - slice_attributes = SliceAttributes(self.api, slice_attribute_filter, return_fields) + slice_tags = SliceTags(self.api, slice_tag_filter, return_fields) # Filter out slice attributes that are not viewable if isinstance(self.caller, Person) and \ 'admin' not in self.caller['roles']: - slice_attributes = filter(lambda slice_attribute: \ - slice_attribute['slice_attribute_id'] in valid_slice_attribute_ids, - slice_attributes) + slice_tags = filter(lambda slice_tag: \ + slice_tag['slice_tag_id'] in valid_slice_tag_ids, + slice_tags) - # Remove slice_attribute_id if not specified + # Remove slice_tag_id if not specified if added_fields: - for slice_attribute in slice_attributes: - if 'slice_attribute_id' in slice_attribute: - del slice_attribute['slice_attribute_id'] + for slice_tag in slice_tags: + if 'slice_tag_id' in slice_tag: + del slice_tag['slice_tag_id'] - return slice_attributes + return slice_tags