Esempio n. 1
0
    def unregister(self, ip, tags):
        """Unregister an ip tag for a Dynamic Address Group

        This method can be batched with batch_start() and batch_end().

        Args:
            ip (:obj:`list` or :obj:`str`): IP address(es) with the tag to remove
            tags (:obj:`list` or :obj:`str`): The tag(s) to remove from the IP address

        """
        root, payload = self._create_uidmessage()
        unregister = payload.find("unregister")
        if unregister is None:
            unregister = ET.SubElement(payload, "unregister")
        ip = list(set(string_or_list(ip)))
        tags = list(set(string_or_list(tags)))
        if not tags:
            return
        tags = [self.prefix + t for t in tags]
        for c_ip in ip:
            tagelement = unregister.find("./entry[@ip='%s']/tag" % c_ip)
            if tagelement is None:
                entry = ET.SubElement(unregister, "entry", {"ip": c_ip})
                tagelement = ET.SubElement(entry, "tag")
            for tag in tags:
                member = ET.SubElement(tagelement, "member")
                member.text = tag
        self.send(root)
Esempio n. 2
0
 def __init__(self,
              name,
              interface=(),
              virtual_interface=None
              ):
     super(Vlan, self).__init__(name)
     self.interface = pandevice.string_or_list(interface)
     self.virtual_interface = virtual_interface
Esempio n. 3
0
 def __init__(self,
              name,
              mode="layer3",
              interface=(),
              ):
     super(Zone, self).__init__(name=name)
     self.mode = mode
     self.interface = pandevice.string_or_list(interface)
Esempio n. 4
0
 def __init__(self, *args, **kwargs):
     ip = kwargs.pop("ip", None)
     ipv6_enabled = kwargs.pop("ipv6_enabled", None)
     management_profile = kwargs.pop("management_profile", None)
     mtu = kwargs.pop("mtu", None)
     adjust_tcp_mss = kwargs.pop("adjust_tcp_mss", None)
     netflow_profile = kwargs.pop("netflow_profile", None)
     super(Layer3Parameters, self).__init__(*args, **kwargs)
     self.ip = pandevice.string_or_list(ip)
     self.ipv6_enabled = ipv6_enabled
     self.management_profile = management_profile
     self.mtu = mtu
     self.adjust_tcp_mss = adjust_tcp_mss
     self.netflow_profile = netflow_profile
Esempio n. 5
0
    def unregister(self, ip, tags):
        """Unregister an ip tag for a Dynamic Address Group

        This method can be batched with batch_start() and batch_end().

        Args:
            ip (str): IP address with the tag to remove
            tags (str): The tag to remove from the IP address

        """
        root, payload = self._create_uidmessage()
        unregister = payload.find("unregister")
        if unregister is None:
            unregister = et.SubElement(payload, "unregister")
        tagelement = unregister.find("./entry[@ip='%s']/tag" % ip)
        if tagelement is None:
            entry = et.SubElement(unregister, "entry", {"ip": ip})
            tagelement = et.SubElement(entry, "tag")
        tags = string_or_list(tags)
        tags = list(set(tags))
        for tag in tags:
            member = et.SubElement(tagelement, "member")
            member.text = tag
        self.send(root)
    def unregister(self, ip, tags):
        """Unregister an ip tag for a Dynamic Address Group

        This method can be batched with batch_start() and batch_end().

        Args:
            ip (str): IP address with the tag to remove
            tags (str): The tag to remove from the IP address

        """
        root, payload = self._create_uidmessage()
        unregister = payload.find("unregister")
        if unregister is None:
            unregister = et.SubElement(payload, "unregister")
        tagelement = unregister.find("./entry[@ip='%s']/tag" % ip)
        if tagelement is None:
            entry = et.SubElement(unregister, "entry", {"ip": ip})
            tagelement = et.SubElement(entry, "tag")
        tags = string_or_list(tags)
        tags = list(set(tags))
        for tag in tags:
            member = et.SubElement(tagelement, "member")
            member.text = tag
        self.send(root)
Esempio n. 7
0
 def __init__(self,
              name="default",
              interface=()):
     super(VirtualRouter, self).__init__(name=name)
     # Save interface as a list, even if a string was given
     self.interface = pandevice.string_or_list(interface)
Esempio n. 8
0
 def __init__(self, name, tag=()):
     super(DeviceGroup, self).__init__(name)
     self.tag = pandevice.string_or_list(tag)