3 from PLC.Method import Method
4 from PLC.Parameter import Parameter, Mixed
5 from PLC.Filter import Filter
6 from PLC.Auth import Auth
7 from PLC.Slices import Slice, Slices
8 from PLC.Methods.GetSlices import GetSlices
10 class SliceListNames(GetSlices):
12 Deprecated. Can be implemented with GetSlices.
14 List the names of registered slices.
16 Users may only query slices of which they are members. PIs may
17 query any of the slices at their sites. Admins may query any
18 slice. If a slice that cannot be queried is specified in
19 slice_filter, details about that slice will not be returned.
24 roles = ['admin', 'pi', 'user']
28 Parameter(str, "Slice prefix", nullok = True)
31 returns = [Slice.fields['name']]
34 def call(self, auth, prefix=None):
38 slice_filter = {'name': prefix+'*'}
40 slices = GetSlices.call(self, auth, slice_filter)
43 raise PLCInvalidArgument, "No such slice"
45 slice_names = [slice['name'] for slice in slices]