From f3b4459728b887724c085b4652b2f3eab77e1a98 Mon Sep 17 00:00:00 2001 From: Atsushi Sasaki Date: Tue, 10 Mar 2015 17:24:49 +0900 Subject: [PATCH] [LIBCLOUD-679] Add virtualmachine_id to CloudStackAddress --- libcloud/compute/drivers/cloudstack.py | 11 +++++++++-- libcloud/test/compute/test_cloudstack.py | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libcloud/compute/drivers/cloudstack.py b/libcloud/compute/drivers/cloudstack.py index fb1961ee63..5c7f52f289 100644 --- a/libcloud/compute/drivers/cloudstack.py +++ b/libcloud/compute/drivers/cloudstack.py @@ -474,15 +474,20 @@ class CloudStackAddress(object): :param vpc_id: VPC the ip belongs to :type vpc_id: ``str`` + + :param virtualmachine_id: The ID of virutal machine this address + is assigned to + :type virtualmachine_id: ``str`` """ def __init__(self, id, address, driver, associated_network_id=None, - vpc_id=None): + vpc_id=None, virtualmachine_id=None): self.id = id self.address = address self.driver = driver self.associated_network_id = associated_network_id self.vpc_id = vpc_id + self.virtualmachine_id = virtualmachine_id def release(self): self.driver.ex_release_public_ip(address=self) @@ -2200,7 +2205,9 @@ def ex_list_public_ips(self): ips.append(CloudStackAddress(ip['id'], ip['ipaddress'], self, - ip.get('associatednetworkid', []))) + ip.get('associatednetworkid', []), + ip.get('vpcid'), + ip.get('virtualmachineid'))) return ips diff --git a/libcloud/test/compute/test_cloudstack.py b/libcloud/test/compute/test_cloudstack.py index 38f01b8772..66189673bb 100644 --- a/libcloud/test/compute/test_cloudstack.py +++ b/libcloud/test/compute/test_cloudstack.py @@ -774,6 +774,7 @@ def test_ex_list_affinity_group_types(self): def test_ex_list_public_ips(self): ips = self.driver.ex_list_public_ips() self.assertEqual(ips[0].address, '1.1.1.116') + self.assertEqual(ips[0].virtualmachine_id, '2600') def test_ex_allocate_public_ip(self): addr = self.driver.ex_allocate_public_ip()