394468cf870e7516c334aa7cddf9faaa69c280bd
[plcapi.git] / PLC / Methods / DeleteConfFile.py
1 # $Id$
2 from PLC.Faults import *
3 from PLC.Method import Method
4 from PLC.Parameter import Parameter, Mixed
5 from PLC.ConfFiles import ConfFile, ConfFiles
6 from PLC.Auth import Auth
7
8 class DeleteConfFile(Method):
9     """
10     Returns an array of structs containing details about node
11     configuration files. If conf_file_ids is specified, only the
12     specified configuration files will be queried.
13     """
14
15     roles = ['admin']
16
17     accepts = [
18         Auth(),
19         ConfFile.fields['conf_file_id']
20         ]
21
22     returns = Parameter(int, '1 if successful')
23     
24
25     def call(self, auth, conf_file_id):
26         conf_files = ConfFiles(self.api, [conf_file_id])
27         if not conf_files:
28             raise PLCInvalidArgument, "No such configuration file"
29
30         conf_file = conf_files[0]
31         conf_file.delete()
32         self.event_objects = {'ConfFile': [conf_file['conf_file_id']]}
33
34         return 1