diff options
Diffstat (limited to 'provisioning-scripts.lua')
-rw-r--r-- | provisioning-scripts.lua | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/provisioning-scripts.lua b/provisioning-scripts.lua index 4741062..325b07b 100644 --- a/provisioning-scripts.lua +++ b/provisioning-scripts.lua @@ -1,14 +1,14 @@ -module (..., package.seeall) +local mymodule = {} -- if a table_creation_script does not create the named table or throw an exception then you will get an infinite loop, so be careful -- List of each device that we manage -provisioning_device_seq = { +mymodule.provisioning_device_seq = { "CREATE SEQUENCE provisioning_device_seq", } -- Multi-to-multi mapping of devices to classes -devices_to_classes = { +mymodule.devices_to_classes = { "CREATE TABLE devices_to_classes (device_id INTEGER, class_id INTEGER REFERENCES provisioning_classes)", "CREATE INDEX d2c_device_idx ON devices_to_classes (device_id)", "CREATE INDEX d2c_class_idx ON devices_to_classes (class_id)", @@ -27,14 +27,14 @@ devices_to_classes = { } -- List of different class groups -provisioning_class_groups = { +mymodule.provisioning_class_groups = { "CREATE TABLE provisioning_class_groups (class_group_id SERIAL PRIMARY KEY, name VARCHAR(255) UNIQUE, label VARCHAR(255) UNIQUE, seq INTEGER)", "INSERT INTO provisioning_class_groups VALUES(default, 'device', 'Device Model', '1')", "INSERT INTO provisioning_class_groups VALUES(default, 'services', 'Services', '2')", } -- List of different device classes -provisioning_classes = { +mymodule.provisioning_classes = { "CREATE TABLE provisioning_classes (class_id SERIAL PRIMARY KEY, class_group_id INTEGER REFERENCES provisioning_class_groups, label VARCHAR(255), seq INTEGER)", "CREATE INDEX classes_group_idx ON provisioning_classes (class_group_id)", "CREATE INDEX classes_label_idx ON provisioning_classes (label)", @@ -56,7 +56,7 @@ provisioning_classes = { } -- Multi-to-multi mapping of classes to parameter groups -classes_to_param_groups = { +mymodule.classes_to_param_groups = { "CREATE TABLE classes_to_param_groups (class_id INTEGER REFERENCES provisioning_classes, group_id INTEGER REFERENCES provisioning_groups)", "CREATE INDEX c2g_class_idx ON classes_to_param_groups (class_id)", "CREATE INDEX c2g_group_idx ON classes_to_param_groups (group_id)", @@ -157,7 +157,7 @@ classes_to_param_groups = { } -- List of different parameter groups -provisioning_groups = { +mymodule.provisioning_groups = { "CREATE TABLE provisioning_groups (group_id SERIAL PRIMARY KEY, name VARCHAR(255), label VARCHAR(255) UNIQUE, seq INTEGER)", "CREATE INDEX groups_name_idx ON provisioning_groups (name)", "INSERT INTO provisioning_groups VALUES(default, 'device', 'Linksys ATA Device', '1')", @@ -218,7 +218,7 @@ provisioning_groups = { } -- Multi-to-multi mapping of parameter groups to parameters -param_groups_to_params = { +mymodule.param_groups_to_params = { "CREATE TABLE param_groups_to_params (group_id INTEGER REFERENCES provisioning_groups, param_id INTEGER REFERENCES provisioning_params, value VARCHAR(255), editable BOOLEAN)", "CREATE INDEX g2p_group_idx ON param_groups_to_params (group_id)", "CREATE INDEX g2p_param_idx ON param_groups_to_params (param_id)", @@ -681,7 +681,7 @@ param_groups_to_params = { } -- List of each parameter used in any way for any device - mostly for how to display -provisioning_params = { +mymodule.provisioning_params = { "CREATE TABLE provisioning_params (param_id SERIAL PRIMARY KEY, name VARCHAR(255) UNIQUE, type VARCHAR(255), label VARCHAR(255), descr VARCHAR(255), value VARCHAR(255), seq INTEGER, regexp VARCHAR(255), validate text)", "CREATE INDEX params_name_idx ON provisioning_params (name)", "INSERT INTO provisioning_params VALUES(default, 'mac', 'text', 'MAC Address', 'Capitalized hex digits with no puncuation', '', '1', '^%x%x%x%x%x%x%x%x%x%x%x%x$', E'local self, value, params = ...\nvalue = string.upper(value)\nlocal others = self.getselectresponse(\"SELECT count(*) FROM provisioning_values WHERE param_id=\\'\"..params.value.device.value.mac.param_id..\"\\' AND device_id!=\\'\"..params.value.device_id.value..\"\\' AND value=\\'\"..value..\"\\'\")\nif tonumber(others[1].count) > 0 then\n\treturn value, \"MAC Address must be unique\"\nend\nreturn value')", @@ -719,7 +719,7 @@ provisioning_params = { } -- All of the (non-default) parameter values for all devices are stored here -provisioning_values = { +mymodule.provisioning_values = { -- device_id is a device id from provisioning_device_seq and param_id is a param id from provisioning_params "CREATE TABLE provisioning_values (device_id INTEGER, group_name VARCHAR(255), param_id INTEGER REFERENCES provisioning_params, value VARCHAR(255))", "CREATE INDEX values_device_idx ON provisioning_values (device_id)", @@ -742,7 +742,7 @@ provisioning_values = { } -- List of options for parameters -provisioning_options = { +mymodule.provisioning_options = { "CREATE TABLE provisioning_options (param_id INTEGER REFERENCES provisioning_params, label VARCHAR(255), value VARCHAR(255), seq INTEGER)", "CREATE INDEX options_param_idx ON provisioning_options (param_id)", "CREATE UNIQUE INDEX options_param_label_idx ON provisioning_options (param_id, label)", @@ -767,6 +767,8 @@ provisioning_options = { } -- List of getfile requests -provisioning_requests = { +mymodule.provisioning_requests = { "CREATE TABLE provisioning_requests (mac VARCHAR(12) unique, ip VARCHAR(15), agent VARCHAR(255), date timestamp)", } + +return mymodule |