g_dests = [conf_file['dest'] for conf_file in g_conf_files]
g_conf_files = dict(zip(g_dests, g_conf_files))
+# Get list of existing initscripts
+g_oldinitscripts = GetInitScripts()
+g_oldinitscript_names = [script['name'] for script in g_oldinitscripts]
+g_oldinitscripts = dict(zip(g_oldinitscript_names, g_oldinitscripts))
+
+def SetInitScript(initscript):
+ global g_oldinitscripts, g_oldinitscript_names
+ if initscript['name'] not in g_oldinitscript_names:
+ initscript_id = AddInitScript(initscript)
+ g_oldinitscript_names.append(initscript['name'])
+ initscript['initscript_id']=initscript_id
+ g_oldinitscripts[initscript['name']]=initscript
+ else:
+ orig_initscript = g_oldinitscripts[initscript['name']]
+ initscript_id = orig_initscript['initscript_id']
+ UpdateInitScript(initscript_id, initscript)
+
def SetConfFile(conf_file):
global g_conf_files, g_dests
if conf_file['dest'] not in g_dests:
AddConfFile(conf_file)
else:
orig_conf_file = g_conf_files[conf_file['dest']]
- UpdateConfFile(orig_conf_file['conf_file_id'], conf_file)
+ conf_file_id = orig_conf_file['conf_file_id']
+ UpdateConfFile(conf_file_id, conf_file)
def SetSlice(slice, tags):
# Create or Update slice
- slices = GetSlices([slice['name']])
+ slice_name = slice['name']
+ slices = GetSlices([slice_name])
if len(slices)==1:
slice_id = slices[0]['slice_id']
+ if slice.has_key('name'):
+ del slice['name']
UpdateSlice(slice_id, slice)
+ slice['name']=slice_name
else:
- AddSlice(slice)
+ expires = None
+ if slice.has_key('expires'):
+ expires = slice['expires']
+ del slice['expires']
+ slice_id = AddSlice(slice)
+ if expires <> None:
+ UpdateSlice(slice_id, {'expires':expires})
# Get slice structure with all fields
- slice = GetSlices([slice['name']])[0]
+ slice = GetSlices([slice_name])[0]
# Create/update all tags
slice_tags = {}
# only update slice tags that have changed
for (name, value) in tags:
if name not in slice_tags:
- AddSliceTag(slice['name'], name, value)
+ AddSliceTag(slice_name, name, value)
elif value <> slice_tags[name]:
- UpdateSliceTag(slice['name'],value)
+ UpdateSliceTag(slice_name,value)
def SetMessage(message):
messages = GetMessages([message['message_id']])