You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2014/06/25 16:29:49 UTC
[3/3] git commit: use _build_filters function instead of specifying
request params manually
use _build_filters function instead of specifying request params manually
Closes #323
Signed-off-by: Tomaz Muraus <to...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/13c38deb
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/13c38deb
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/13c38deb
Branch: refs/heads/trunk
Commit: 13c38debe1b7d9554f224c67086a033a3d2b34c9
Parents: 8d93bf1
Author: Lior Goikhburg <go...@gmail.com>
Authored: Mon Jun 23 17:33:44 2014 +0400
Committer: Tomaz Muraus <to...@apache.org>
Committed: Wed Jun 25 16:07:28 2014 +0200
----------------------------------------------------------------------
libcloud/compute/drivers/ec2.py | 34 ++++++++++++++++------------------
1 file changed, 16 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/13c38deb/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index a8124bf..628ee63 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -2015,10 +2015,9 @@ class BaseEC2NodeDriver(NodeDriver):
'Action': 'DescribeVolumes',
}
if node:
- params.update({
- 'Filter.1.Name': 'attachment.instance-id',
- 'Filter.1.Value': node.id,
- })
+ filters = {'attachment.instance-id': node.id}
+ params.update(self._build_filters(filters))
+
response = self.connection.request(self.path, params=params).object
volumes = [self._to_volume(el) for el in response.findall(
fixxpath(xpath='volumeSet/item', namespace=NAMESPACE))
@@ -3157,12 +3156,11 @@ class BaseEC2NodeDriver(NodeDriver):
"""
params = {'Action': 'DescribeAvailabilityZones'}
+ filters = {'region-name': self.region_name}
if only_available:
- params.update({'Filter.0.Name': 'state'})
- params.update({'Filter.0.Value.0': 'available'})
+ filters['state'] = 'available'
- params.update({'Filter.1.Name': 'region-name'})
- params.update({'Filter.1.Value.0': self.region_name})
+ params.update(self._build_filters(filters))
result = self.connection.request(self.path,
params=params.copy()).object
@@ -3197,12 +3195,14 @@ class BaseEC2NodeDriver(NodeDriver):
:return: dict Node tags
:rtype: ``dict``
"""
- params = {'Action': 'DescribeTags',
- 'Filter.0.Name': 'resource-id',
- 'Filter.0.Value.0': resource.id,
- 'Filter.1.Name': 'resource-type',
- 'Filter.1.Value.0': 'instance',
- }
+ params = {'Action': 'DescribeTags'}
+
+ filters = {
+ 'resource-id': resource.id,
+ 'resource-type': 'instance'
+ }
+
+ params.update(self._build_filters(filters))
result = self.connection.request(self.path, params=params).object
@@ -5047,10 +5047,8 @@ class BaseEC2NodeDriver(NodeDriver):
"""
Add instance filter to the provided params dictionary.
"""
- params.update({
- 'Filter.0.Name': 'instance-id',
- 'Filter.0.Value.0': node.id
- })
+ filters = {'instance-id': node.id}
+ params.update(self._build_filters(filters))
return params