

def _extract_security_group_rule(self, node):
    'Marshal the security group rule attribute of a parsed request'
    sg_rule = {
        
    }
    sg_rule_node = self.find_first_child_named(node, 'security_group_rule')
    if (sg_rule_node is not None):
        ip_protocol_node = self.find_first_child_named(sg_rule_node, 'ip_protocol')
        if (ip_protocol_node is not None):
            sg_rule['ip_protocol'] = self.extract_text(ip_protocol_node)
        from_port_node = self.find_first_child_named(sg_rule_node, 'from_port')
        if (from_port_node is not None):
            sg_rule['from_port'] = self.extract_text(from_port_node)
        to_port_node = self.find_first_child_named(sg_rule_node, 'to_port')
        if (to_port_node is not None):
            sg_rule['to_port'] = self.extract_text(to_port_node)
        parent_group_id_node = self.find_first_child_named(sg_rule_node, 'parent_group_id')
        if (parent_group_id_node is not None):
            sg_rule['parent_group_id'] = self.extract_text(parent_group_id_node)
        group_id_node = self.find_first_child_named(sg_rule_node, 'group_id')
        if (group_id_node is not None):
            sg_rule['group_id'] = self.extract_text(group_id_node)
        cidr_node = self.find_first_child_named(sg_rule_node, 'cidr')
        if (cidr_node is not None):
            sg_rule['cidr'] = self.extract_text(cidr_node)
    return sg_rule

dataset/ETHPy150Open nii-cloud/dodai-compute/nova/api/openstack/contrib/security_groups.py SecurityGroupRulesXMLDeserializer._extract_security_group_rule/original