libcloud/compute/drivers/dimensiondata.py [3290:3528]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        for ip in ip_address_collection:
            ip_address = ET.SubElement(
                edit_ip_address_list,
                "ipAddress",
            )
            ip_address.set("begin", ip.begin)

            if ip.end:
                ip_address.set("end", ip.end)

            if ip.prefix_size:
                ip_address.set("prefixSize", ip.prefix_size)

        if child_ip_address_lists is not None:
            ET.SubElement(edit_ip_address_list, "childIpAddressListId").text = (
                self._child_ip_address_list_to_child_ip_address_list_id(child_ip_address_lists)
            )
        else:
            ET.SubElement(edit_ip_address_list, "childIpAddressListId", {"xsi:nil": "true"})

        response = self.connection.request_with_orgId_api_2(
            "network/editIpAddressList",
            method="POST",
            data=ET.tostring(edit_ip_address_list),
        ).object

        response_code = findtext(response, "responseCode", TYPES_URN)
        return response_code in ["IN_PROGRESS", "OK"]

    def ex_delete_ip_address_list(self, ex_ip_address_list):
        """
        Delete IP Address List by ID

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> import libcloud.security
        >>>
        >>> # Get dimension data driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.DIMENSIONDATA)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> ip_address_list_id = '5e7c323f-c885-4e4b-9a27-94c44217dbd3'
        >>> result = driver.ex_delete_ip_address_list(ip_address_list_id)
        >>> pprint(result)

        :param    ex_ip_address_list:  IP Address List object or IP Address
                                        List ID (required)
        :type     ex_ip_address_list: :class:'DimensionDataIpAddressList'
                    or ``str``

        :rtype: ``bool``
        """

        delete_ip_address_list = ET.Element(
            "deleteIpAddressList",
            {
                "xmlns": TYPES_URN,
                "id": self._ip_address_list_to_ip_address_list_id(ex_ip_address_list),
            },
        )

        response = self.connection.request_with_orgId_api_2(
            "network/deleteIpAddressList",
            method="POST",
            data=ET.tostring(delete_ip_address_list),
        ).object

        response_code = findtext(response, "responseCode", TYPES_URN)
        return response_code in ["IN_PROGRESS", "OK"]

    def ex_list_portlist(self, ex_network_domain):
        """
        List Portlist by network domain ID specified

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> import libcloud.security
        >>>
        >>> # Get dimension data driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.DIMENSIONDATA)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> # Get location
        >>> location = driver.ex_get_location_by_id(id='AU9')
        >>>
        >>> # Get network domain by location
        >>> networkDomainName = "Baas QA"
        >>> network_domains = driver.ex_list_network_domains(location=location)
        >>> my_network_domain = [d for d in network_domains if d.name ==
        >>>                                               networkDomainName][0]
        >>>
        >>> # List portlist
        >>> portLists = driver.ex_list_portlist(
        >>>     ex_network_domain=my_network_domain)
        >>> pprint(portLists)
        >>>

        :param  ex_network_domain: The network domain or network domain ID
        :type   ex_network_domain: :class:`DimensionDataNetworkDomain` or 'str'

        :return: a list of DimensionDataPortList objects
        :rtype: ``list`` of :class:`DimensionDataPortList`
        """
        params = {"networkDomainId": self._network_domain_to_network_domain_id(ex_network_domain)}
        response = self.connection.request_with_orgId_api_2(
            "network/portList", params=params
        ).object
        return self._to_port_lists(response)

    def ex_get_portlist(self, ex_portlist_id):
        """
        Get Port List

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> import libcloud.security
        >>>
        >>> # Get dimension data driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.DIMENSIONDATA)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> # Get specific portlist by ID
        >>> portlist_id = '27dd8c66-80ff-496b-9f54-2a3da2fe679e'
        >>> portlist = driver.ex_get_portlist(portlist_id)
        >>> pprint(portlist)

        :param  ex_portlist_id: The ex_port_list or ex_port_list ID
        :type   ex_portlist_id: :class:`DimensionDataNetworkDomain` or 'str'

        :return:  DimensionDataPortList object
        :rtype:  :class:`DimensionDataPort`
        """

        url_path = "network/portList/%s" % ex_portlist_id
        response = self.connection.request_with_orgId_api_2(url_path).object
        return self._to_port_list(response)

    def ex_create_portlist(
        self,
        ex_network_domain,
        name,
        description,
        port_collection,
        child_portlist_list=None,
    ):
        """
        Create Port List.

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> from libcloud.common.dimensiondata import DimensionDataPort
        >>> import libcloud.security
        >>>
        >>> # Get dimension data driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.DIMENSIONDATA)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> # Get location
        >>> location = driver.ex_get_location_by_id(id='AU9')
        >>>
        >>> # Get network domain by location
        >>> networkDomainName = "Baas QA"
        >>> network_domains = driver.ex_list_network_domains(location=location)
        >>> my_network_domain = [d for d in network_domains if d.name ==
                              networkDomainName][0]
        >>>
        >>> # Port Collection
        >>> port_1 = DimensionDataPort(begin='1000')
        >>> port_2 = DimensionDataPort(begin='1001', end='1003')
        >>> port_collection = [port_1, port_2]
        >>>
        >>> # Create Port List
        >>> new_portlist = driver.ex_create_portlist(
        >>>     ex_network_domain=my_network_domain,
        >>>     name='MyPortListX',
        >>>     description="Test only",
        >>>     port_collection=port_collection,
        >>>     child_portlist_list={'a9cd4984-6ff5-4f93-89ff-8618ab642bb9'}
        >>>     )
        >>> pprint(new_portlist)

        :param    ex_network_domain:  (required) The network domain in
                                       which to create PortList. Provide
                                       networkdomain object or its id.
        :type      ex_network_domain: :``str``

        :param    name:  Port List Name
        :type     name: :``str``

        :param    description:  IP Address List Description
        :type     description: :``str``

        :param    port_collection:  List of Port Address
        :type     port_collection: :``str``

        :param    child_portlist_list:  List of Child Portlist to be
                                        included in this Port List
        :type     child_portlist_list: :``str`` or ''list of
                                         :class:'DimensionDataChildPortList'

        :return: result of operation
        :rtype: ``bool``
        """
        new_port_list = ET.Element("createPortList", {"xmlns": TYPES_URN})
        ET.SubElement(new_port_list, "networkDomainId").text = (
            self._network_domain_to_network_domain_id(ex_network_domain)
        )

        ET.SubElement(new_port_list, "name").text = name

        ET.SubElement(new_port_list, "description").text = description

        for port in port_collection:
            p = ET.SubElement(new_port_list, "port")
            p.set("begin", port.begin)

            if port.end:
                p.set("end", port.end)

        if child_portlist_list is not None:
            for child in child_portlist_list:
                ET.SubElement(new_port_list, "childPortListId").text = (
                    self._child_port_list_to_child_port_list_id(child)
                )

        response = self.connection.request_with_orgId_api_2(
            "network/createPortList", method="POST", data=ET.tostring(new_port_list)
        ).object

        response_code = findtext(response, "responseCode", TYPES_URN)
        return response_code in ["IN_PROGRESS", "OK"]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



libcloud/compute/drivers/nttcis.py [4055:4300]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            for ip in ip_address_collection:
                ip_address = ET.SubElement(
                    edit_ip_address_list,
                    "ipAddress",
                )
                ip_address.set("begin", ip.begin)

                if ip.end:
                    ip_address.set("end", ip.end)

                if ip.prefix_size:
                    ip_address.set("prefixSize", ip.prefix_size)

        if child_ip_address_lists is not None:
            ET.SubElement(edit_ip_address_list, "childIpAddressListId").text = (
                self._child_ip_address_list_to_child_ip_address_list_id(child_ip_address_lists)
            )
        else:
            ET.SubElement(edit_ip_address_list, "childIpAddressListId", {"xsi:nil": "true"})

        response = self.connection.request_with_orgId_api_2(
            "network/editIpAddressList",
            method="POST",
            data=ET.tostring(edit_ip_address_list),
        ).object

        response_code = findtext(response, "responseCode", TYPES_URN)

        return response_code in ["IN_PROGRESS", "OK"]

    def ex_delete_ip_address_list(self, ex_ip_address_list):
        """
        Delete IP Address List by ID

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> import libcloud.security
        >>>
        >>> # Get NTTC-CIS driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.NTTCIS)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> ip_address_list_id = '5e7c323f-c885-4e4b-9a27-94c44217dbd3'
        >>> result = driver.ex_delete_ip_address_list(ip_address_list_id)
        >>> pprint(result)

        :param    ex_ip_address_list:  IP Address List object or IP Address
                                        List ID (required)
        :type     ex_ip_address_list: :class:'NttCisIpAddressList'
                    or ``str``

        :rtype: ``bool``
        """

        delete_ip_address_list = ET.Element(
            "deleteIpAddressList",
            {
                "xmlns": TYPES_URN,
                "id": self._ip_address_list_to_ip_address_list_id(ex_ip_address_list),
            },
        )

        response = self.connection.request_with_orgId_api_2(
            "network/deleteIpAddressList",
            method="POST",
            data=ET.tostring(delete_ip_address_list),
        ).object

        response_code = findtext(response, "responseCode", TYPES_URN)

        return response_code in ["IN_PROGRESS", "OK"]

    def ex_list_portlist(self, ex_network_domain):
        """
        List Portlist by network domain ID specified

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> import libcloud.security
        >>>
        >>> # Get NTTC-CIS driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.NTTCIS)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> # Get location
        >>> location = driver.ex_get_location_by_id(id='AU9')
        >>>
        >>> # Get network domain by location
        >>> networkDomainName = "Baas QA"
        >>> network_domains = driver.ex_list_network_domains(location=location)
        >>> my_network_domain = [d for d in network_domains if d.name ==
        >>>                                               networkDomainName][0]
        >>>
        >>> # List portlist
        >>> portLists = driver.ex_list_portlist(
        >>>     ex_network_domain=my_network_domain)
        >>> pprint(portLists)
        >>>

        :param  ex_network_domain: The network domain or network domain ID
        :type   ex_network_domain: :class:`NttCisNetworkDomain` or 'str'

        :return: a list of NttCisPortList objects
        :rtype: ``list`` of :class:`NttCisPortList`
        """

        params = {"networkDomainId": self._network_domain_to_network_domain_id(ex_network_domain)}
        response = self.connection.request_with_orgId_api_2(
            "network/portList", params=params
        ).object

        return self._to_port_lists(response)

    def ex_get_portlist(self, ex_portlist_id):
        """
        Get Port List

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> import libcloud.security
        >>>
        >>> # Get NTTC-CIS driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.NTTCIS)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> # Get specific portlist by ID
        >>> portlist_id = '27dd8c66-80ff-496b-9f54-2a3da2fe679e'
        >>> portlist = driver.ex_get_portlist(portlist_id)
        >>> pprint(portlist)

        :param  ex_portlist_id: The ex_port_list or ex_port_list ID
        :type   ex_portlist_id: :class:`NttCisNetworkDomain` or 'str'

        :return:  NttCisPortList object
        :rtype:  :class:`NttCisPort`
        """

        url_path = "network/portList/%s" % ex_portlist_id
        response = self.connection.request_with_orgId_api_2(url_path).object

        return self._to_port_list(response)

    def ex_create_portlist(
        self,
        ex_network_domain,
        name,
        description,
        port_collection,
        child_portlist_list=None,
    ):
        """
        Create Port List.

        >>> from pprint import pprint
        >>> from libcloud.compute.types import Provider
        >>> from libcloud.compute.providers import get_driver
        >>> from libcloud.common.nttcis import NttCisPort
        >>> import libcloud.security
        >>>
        >>> # Get NTTC-CIS driver
        >>> libcloud.security.VERIFY_SSL_CERT = True
        >>> cls = get_driver(Provider.NTTCIS)
        >>> driver = cls('myusername','mypassword', region='dd-au')
        >>>
        >>> # Get location
        >>> location = driver.ex_get_location_by_id(id='AU9')
        >>>
        >>> # Get network domain by location
        >>> networkDomainName = "Baas QA"
        >>> network_domains = driver.ex_list_network_domains(location=location)
        >>> my_network_domain = [d for d in network_domains if d.name ==
                              networkDomainName][0]
        >>>
        >>> # Port Collection
        >>> port_1 = DimensionDataPort(begin='1000')
        >>> port_2 = DimensionDataPort(begin='1001', end='1003')
        >>> port_collection = [port_1, port_2]
        >>>
        >>> # Create Port List
        >>> new_portlist = driver.ex_create_portlist(
        >>>     ex_network_domain=my_network_domain,
        >>>     name='MyPortListX',
        >>>     description="Test only",
        >>>     port_collection=port_collection,
        >>>     child_portlist_list={'a9cd4984-6ff5-4f93-89ff-8618ab642bb9'}
        >>>     )
        >>> pprint(new_portlist)

        :param    ex_network_domain:  (required) The network domain in
                                       which to create PortList. Provide
                                       networkdomain object or its id.
        :type      ex_network_domain: :``str``

        :param    name:  Port List Name
        :type     name: :``str``

        :param    description:  IP Address List Description
        :type     description: :``str``

        :param    port_collection:  List of Port Address
        :type     port_collection: :``str``

        :param    child_portlist_list:  List of Child Portlist to be
                                        included in this Port List
        :type     child_portlist_list: :``str`` or ''list of
                                         :class:'NttCisChildPortList'

        :return: result of operation
        :rtype: ``bool``
        """

        new_port_list = ET.Element("createPortList", {"xmlns": TYPES_URN})
        ET.SubElement(new_port_list, "networkDomainId").text = (
            self._network_domain_to_network_domain_id(ex_network_domain)
        )

        ET.SubElement(new_port_list, "name").text = name

        ET.SubElement(new_port_list, "description").text = description

        for port in port_collection:
            p = ET.SubElement(new_port_list, "port")
            p.set("begin", port.begin)

            if port.end:
                p.set("end", port.end)

        if child_portlist_list is not None:
            for child in child_portlist_list:
                ET.SubElement(new_port_list, "childPortListId").text = (
                    self._child_port_list_to_child_port_list_id(child)
                )

        response = self.connection.request_with_orgId_api_2(
            "network/createPortList", method="POST", data=ET.tostring(new_port_list)
        ).object

        response_code = findtext(response, "responseCode", TYPES_URN)

        return response_code in ["IN_PROGRESS", "OK"]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



