From 067d815a444d454c6fb45c50e242353e65c0e4d6 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 3 Apr 2007 19:19:36 +0000 Subject: [PATCH] - support 'initscripts' table as possible slice_attributes --- PLC/Methods/AddSliceAttribute.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/PLC/Methods/AddSliceAttribute.py b/PLC/Methods/AddSliceAttribute.py index 83acef0..22e7a38 100644 --- a/PLC/Methods/AddSliceAttribute.py +++ b/PLC/Methods/AddSliceAttribute.py @@ -5,6 +5,7 @@ from PLC.SliceAttributeTypes import SliceAttributeType, SliceAttributeTypes from PLC.Slices import Slice, Slices from PLC.Nodes import Node, Nodes from PLC.SliceAttributes import SliceAttribute, SliceAttributes +from PLC.InitScripts import InitScript, InitScripts from PLC.Auth import Auth class AddSliceAttribute(Method): @@ -30,7 +31,8 @@ class AddSliceAttribute(Method): SliceAttribute.fields['name']), Mixed(SliceAttribute.fields['attribute_type_id'], SliceAttribute.fields['name']), - SliceAttribute.fields['value'], + Mixed(SliceAttribute.fields['value'], + InitScript.fields['initscript_id']), Mixed(Node.fields['node_id'], Node.fields['hostname']) ] @@ -60,6 +62,12 @@ class AddSliceAttribute(Method): min(self.caller['role_ids']) > attribute_type['min_role_id']: raise PLCPermissionDenied, "Not allowed to set the specified slice attribute" + # if initscript is specified, validate value + if attribute_type['name'] in ['plc_initscript_id']: + initscripts = InitScripts(self.api, [value]) + if not initscripts: + raise PLCInvalidArgument, "No such plc initscript" + slice_attribute = SliceAttribute(self.api) slice_attribute['slice_id'] = slice['slice_id'] slice_attribute['attribute_type_id'] = attribute_type['attribute_type_id'] -- 2.43.0