# Anyone can call these functions
elif method_name not in ('Help', 'Ticket', 'GetXIDs', 'GetSSHKeys'):
# Authenticate the caller if not in the above fncts.
- target_name = args[0]
+ if method_name == "GetRecord":
+ target_name = caller_name
+ else:
+ target_name = args[0]
+
# Gather target slice's object.
target_rec = database.db.get(target_name)
- # only work on slivers. Sannity check.
+
+ # only work on slivers or self. Sannity check.
if not (target_rec and target_rec['type'].startswith('sliver.')):
raise xmlrpclib.Fault(102, \
'Invalid argument: the first argument must be a sliver name.')
+
# only manipulate slivers who delegate you authority
if caller_name in (target_name, target_rec['delegations']):
try: result = method(target_rec, *args[1:])
database.db.sync()
@export_to_docbook(roles=['nm-controller', 'self'],
- accepts=[ Parameter(str, 'A sliver/slice name.')],
- returns=Parameter(dict, 'Tag dictionary'))
-@export_to_api(1)
-def GetTags(sliver_name):
- """Return sliver tags set at PLC"""
+ returns=Parameter(dict, 'Record dictionary'))
+@export_to_api(0)
+def GetRecord(sliver_name):
+ """Return sliver record"""
rec = sliver_name
- return rec.get('attributes', [])
+ return rec
$(if $(local-docbook-43), \
echo Using locally installed DTD $(local-docbook-43), \
echo WARNING - could not locate local DTD - using remote $(remote-docbook-43))
- sed -e s:@DOCBOOK-43@:$(docbook-43): $< > $@
+ sed -e s/@DOCBOOK-43@/$(docbook-43)/ $< > $@
.NMAPI.xml.valid: Methods.xml