def authorize()

in footmark/ecs/securitygroup.py [0:0]


    def authorize(self, rule, direction):

        if not isinstance(rule, dict):
            module.fail_json(msg='Invalid rule parameter type [{0}].'.format(type(rule)))

        find = False
        for per in self.permissions:
            if per.get('direction', "") != direction:
                continue
            for key, value in list(rule.items()):
                if value != per.get(key, ""):
                    find = False
                    break
                find = True
            if find:
                break
        # If the rule is in the group, return directly.
        if find:
            return False
        params = {}
        for k, v in list(rule.items()):
            params[k] = v
        params["security_group_id"] = self.id
        if direction == 'ingress':
            return self.connection.authorize_security_group(**params)
        return self.connection.authorize_security_group_egress(**params)