def listRules(cls, token, args): sglist = SecurityGroupList(token) sg = sglist[args.group or args.id or args.name] # Header if args.verbose: yield [ 'ID', 'Direction', 'EtherType', 'RangeMin', 'RangeMax', 'Protocol', 'RemoteIPPrefix' ] else: yield [ 'Direction', 'EtherType', 'RangeMin', 'RangeMax', 'Protocol', 'RemoteIPPrefix' ] # Body rules = sg is not None and sg.rules or [] for rule in rules: if args.verbose: yield [ rule.id_, rule.direction, rule.ethertype, rule.rangeMin, rule.rangeMax, rule.protocol, rule.remoteIPPrefix ] else: yield [ rule.direction, rule.ethertype, rule.rangeMin, rule.rangeMax, rule.protocol, rule.remoteIPPrefix ]
def listSecurityGroups(cls, token, args): sglist = SecurityGroupList(token) # Header yield ['ID', 'Name', 'Description'] # Body for sg in sglist: yield [sg.id_, sg.name, sg.description]
def addRule(cls, token, args): sglist = SecurityGroupList(token) sg = sglist[args.group or args.id] portMin = None portMax = None if args.port: if ',' in args.port: portMin, portMax = args.port.split(',') else: portMin = portMax = args.port sg.rules.add(args.direction, args.ethertype, portMin, portMax, args.protocol, args.remoteIPPrefix)
def deleteRule(cls, token, args): sglist = SecurityGroupList(token) sg = sglist[args.group or args.group_id] sg.rules.delete(args.rule_id)
def deleteSecurityGroup(cls, token, args): sglist = SecurityGroupList(token) sg = sglist.getSecurityGroup(sgid=args.id, name=args.name) sglist.delete(sg.id_)
def addSecurityGroup(cls, token, args): sglist = SecurityGroupList(token) id_ = sglist.add(args.name, args.description) print(id_)