Source code for bellatrix.set_security

#!/usr/bin/python
'''
Modify security groups
'''

import sys

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



[docs]class Run(): def __init__(self, key, sec): self._ec2 = Ec2lib(key, sec)
[docs] def setSecurityGroupAuth(self, name, ports, cidrs): ports = util.getStringsFromFile(ports) cidrs = util.getStringsFromFile(cidrs) sg = self._ec2.getSecurityGroups(name)[0] self._ec2.revokeAllSecurityGroupRules(sg) for p in ports: for c in cidrs: self._ec2.authorizeSecurityGroup(sg, c, p) #allow same instances connection self._ec2.authorizeSecurityGroup(sg, None, p, sg)
[docs]def run(security_group_name, ports_file, cidrs_file): r = Run(bellatrix_util.getKey(), bellatrix_util.getSecret()) r.setSecurityGroupAuth(security_group_name, ports_file, cidrs_file) return 0
if __name__ == '__main__': sys.exit(run(*sys.argv[1:]))