Source code for bellatrix.set_permissions

#!/usr/bin/python
'''
Set launch pemissions for an AMI
'''

import logging
import sys

from bellatrix.lib.ec2_lib import Ec2lib
from bellatrix.lib.bellatrix_util import *


[docs]class Run(): def __init__(self, key, sec): self._ec2 = Ec2lib(key, sec) self.define_constants()
[docs] def define_constants(self): """define class constants to access ami configs""" self.ACCOUNT_LEN = 12
[docs] def getAccountPermissions(self, perm_file): """"Return list of accounts where new ami's will get execute permissions""" l = [] with open(perm_file) as f: for line in f: line=line.strip() if len(line)==self.ACCOUNT_LEN: l.append(line) logging.info("accounts from %s: %s" % (perm_file,l)) return l
[docs] def setPermissions(self, amis, permissions): self._ec2.setPermissionsToAmis(amis, permissions)
[docs]def run(ami, permissions_file): r = Run(getKey(), getSecret()) r.setPermissions(ami.split(","), r.getAccountPermissions(permissions_file)) return 0
if __name__ == '__main__': sys.exit(run(*sys.argv[1]))