diff --git a/libcloud/compute/drivers/gce.py b/libcloud/compute/drivers/gce.py index b4cdbb49a8..ab9817945c 100644 --- a/libcloud/compute/drivers/gce.py +++ b/libcloud/compute/drivers/gce.py @@ -899,7 +899,8 @@ def __init__(self, user_id, key=None, datacenter=None, project=None, else: self.region = None - def ex_add_access_config(self, node, name, nat_ip=None, config_type=None): + def ex_add_access_config(self, node, name, nic, nat_ip=None, + config_type=None): """ Add a network interface access configuration to a node. @@ -934,10 +935,11 @@ def ex_add_access_config(self, node, name, nat_ip=None, config_type=None): if nat_ip is not None: config['natIP'] = nat_ip - + params = {'networkInterface': nic} request = '/zones/%s/instances/%s/addAccessConfig' % (zone_name, node_name) - self.connection.async_request(request, method='POST', data=config) + self.connection.async_request(request, method='POST', + data=config, params=params) return True def ex_delete_access_config(self, node, name, nic): diff --git a/libcloud/test/compute/test_gce.py b/libcloud/test/compute/test_gce.py index f9c86e908b..e7260540a6 100644 --- a/libcloud/test/compute/test_gce.py +++ b/libcloud/test/compute/test_gce.py @@ -1093,9 +1093,9 @@ def test_ex_get_project(self): def test_ex_add_access_config(self): self.assertRaises(ValueError, self.driver.ex_add_access_config, - 'node', 'name') + 'node', 'name', 'nic') node = self.driver.ex_get_node('node-name', 'us-central1-a') - self.assertTrue(self.driver.ex_add_access_config(node, 'foo')) + self.assertTrue(self.driver.ex_add_access_config(node, 'foo', 'bar')) def test_ex_delete_access_config(self): self.assertRaises(ValueError, self.driver.ex_add_access_config,