summaryrefslogtreecommitdiffstats
path: root/provisioning-scripts.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2013-10-20 23:28:40 +0000
committerTed Trask <ttrask01@yahoo.com>2013-10-20 23:28:40 +0000
commit24e737f23a7ef3a5f5871d75a23470d6ee27462e (patch)
tree3262bb0f9dad15ab353f73e1638b14a10f520fd5 /provisioning-scripts.lua
parentee0a9b946697ccc610b52b6dc182030fba225991 (diff)
downloadacf-provisioning-24e737f23a7ef3a5f5871d75a23470d6ee27462e.tar.bz2
acf-provisioning-24e737f23a7ef3a5f5871d75a23470d6ee27462e.tar.xz
Remove all calls to 'module' in preparation for move to Lua 5.2
Use mymodule parameter for module definition. This was also helpful in revealing places where the code relied on the global environment.
Diffstat (limited to 'provisioning-scripts.lua')
-rw-r--r--provisioning-scripts.lua26
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