diff options
Diffstat (limited to 'cloud-init-cfg.py')
-rwxr-xr-x | cloud-init-cfg.py | 40 |
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() |