summaryrefslogtreecommitdiff
path: root/cloud-init-cfg.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloud-init-cfg.py')
-rwxr-xr-xcloud-init-cfg.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/cloud-init-cfg.py b/cloud-init-cfg.py
new file mode 100755
index 00000000..88216e10
--- /dev/null
+++ b/cloud-init-cfg.py
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+import sys
+import ec2init
+
+def Usage(out = sys.stdout):
+ out.write("Usage: %s name\n" % sys.argv[0])
+
+def main():
+ # expect to be called with
+ # name freq [ args ]
+ if len(sys.argv) < 2:
+ Usage(sys.stderr)
+ sys.exit(1)
+
+ name=sys.argv[1]
+ run_args=sys.argv[2:]
+
+ import ec2init.CloudConfig
+ import os
+
+ cfg_path = ec2init.cloud_config
+ cfg_env_name = ec2init.cfg_env_name
+ if os.environ.has_key(cfg_env_name):
+ cfg_path = os.environ[cfg_env_name]
+
+ cc = ec2init.CloudConfig.CloudConfig(cfg_path)
+
+ try:
+ cc.handle(name,run_args)
+ except:
+ import traceback
+ traceback.print_exc(file=sys.stderr)
+ sys.stderr.write("config handling of %s failed\n" % name)
+ sys.exit(1)
+
+ sys.exit(0)
+
+if __name__ == '__main__':
+ main()