Beispiel #1
0
def _xml_to_instance(xml, driver):

    # Get image_id
    image_id = _id_from_url( xml.getElementsByTagName("image")[0].getAttribute("href") )

    # Get realm_id
    realm_id = _id_from_url( xml.getElementsByTagName("realm")[0].getAttribute("href") )

    # Get Addresses
    public_addresses_element = xml.getElementsByTagName("public_addresses")[0]
    private_addresses_element = xml.getElementsByTagName("private_addresses")[0]
    public_addresses = xml_get_text(public_addresses_element, "address")
    private_addresses = xml_get_text(private_addresses_element, "address")

    instance = Instance(
        xml.getAttribute("id"),
        driver,
        xml_get_text(xml, "owner_id")[0],
        xml_get_text(xml, "name")[0],
        image_id,
        realm_id,
        xml_get_text(xml, "state")[0],
        public_addresses,
        private_addresses,
    )
    # We set _action_urls here because we need it later when modifying the
    # instance's state.
    instance._action_urls = xml_get_elements_dictionary(xml, "link", "rel", "href")
    return instance
Beispiel #2
0
    def __init__(self, deltacloud, dom):
        self._deltacloud = deltacloud
        self.xml = dom.toxml()
        self.id = xml_get_text(dom, "id")[0]
        self.owner_id = xml_get_text(dom, "owner_id")[0]
        self.name = xml_get_text(dom, "name")[0]
        self.image = xml_get_text(dom, "image")[0]
        self.flavor = xml_get_text(dom, "flavor")[0]
        self.realm = xml_get_text(dom, "realm")[0]
        self.state = xml_get_text(dom, "state")[0]

        # Actions
        self.actions = xml_get_elements_dictionary(dom, "link", "rel", "href")
        self.available_actions = self.actions.keys()

        # Addresses
        pub_addr_element = dom.getElementsByTagName("public-addresses")[0]
        priv_addr_element = dom.getElementsByTagName("private-addresses")[0]
        self.public_addresses = xml_get_text(pub_addr_element, "address")
        self.private_addresses = xml_get_text(priv_addr_element, "address")