peterknife / boto

Automatically exported from code.google.com/p/boto
0 stars 0 forks source link

Filters for get_all_* functions broken #550

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Run the following:
#!/usr/bin/python
>>> from boto.vpc import VPCConnection
>>> aws_access_key = "XXXXX"
>>> aws_secret_key = "XXXXX"
>>> con = VPCConnection(aws_access_key, aws_secret_key)
>>> con.get_all_subnets(filters=[('state', 'available')])

What is the expected output?
>>> con.get_all_subnets(filters=[('state', 'available')])
[Subnet:subnet-XXXXXXXX, Subnet:subnet-XXXXXXXX]

What do you see instead?
>>> con.get_all_subnets(filters=[('state', 'available')])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/pymodules/python2.6/boto/vpc/__init__.py", line 292, in get_all_subnets
    return self.get_list('DescribeSubnets', params, [('item', Subnet)])
  File "/usr/lib/pymodules/python2.6/boto/connection.py", line 680, in get_list
    raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>UnknownParameter</Code><Message>The parameter 
Key is not 
recognized</Message></Error></Errors><RequestID>da5a2fd4-4af5-4839-863b-2cb701bd
3791</RequestID></Response>

What version of the product are you using? On what operating system?
boto 2.0, on Debian Squeeze

Please provide any additional information below.
Please see issue http://code.google.com/p/boto/issues/detail?id=548 for 
additional details. It appears the filter for each 'get_all_*' function uses 
'Filter.%d.Key' instead of 'Filter.%d.Name'

Here's a diff that shows the changes across each function:
diff -r 5d1cf8d9d8ea boto/vpc/__init__.py
--- a/boto/vpc/__init__.py      Wed Aug 24 15:41:02 2011 +0000
+++ b/boto/vpc/__init__.py      Wed Aug 24 15:51:12 2011 +0000
@@ -63,7 +63,7 @@
         if filters:
             i = 1
             for filter in filters:
-                params[('Filter.%d.Key' % i)] = filter[0]
+                params[('Filter.%d.Name' % i)] = filter[0]
                 params[('Filter.%d.Value.1')] = filter[1]
                 i += 1
         return self.get_list('DescribeVpcs', params, [('item', VPC)])
@@ -126,7 +126,7 @@
         if filters:
             i = 1
             for filter in filters:
-                params[('Filter.%d.Key' % i)] = filter[0]
+                params[('Filter.%d.Name' % i)] = filter[0]
                 params[('Filter.%d.Value.1')] = filter[1]
                 i += 1
         return self.get_list('DescribeCustomerGateways', params, [('item', CustomerGateway)])
@@ -199,7 +199,7 @@
         if filters:
             i = 1
             for filter in filters:
-                params[('Filter.%d.Key' % i)] = filter[0]
+                params[('Filter.%d.Name' % i)] = filter[0]
                 params[('Filter.%d.Value.1')] = filter[1]
                 i += 1
         return self.get_list('DescribeVpnGateways', params, [('item', VpnGateway)])
@@ -286,7 +286,7 @@
         if filters:
             i = 1
             for filter in filters:
-                params[('Filter.%d.Key' % i)] = filter[0]
+                params[('Filter.%d.Name' % i)] = filter[0]
                 params[('Filter.%d.Value.1' % i)] = filter[1]
                 i += 1
         return self.get_list('DescribeSubnets', params, [('item', Subnet)])
@@ -430,7 +430,7 @@
         if filters:
             i = 1
             for filter in filters:
-                params[('Filter.%d.Key' % i)] = filter[0]
+                params[('Filter.%d.Name' % i)] = filter[0]
                 params[('Filter.%d.Value.1')] = filter[1]
                 i += 1
         return self.get_list('DescribeVpnConnections', params, [('item', VpnConnection)])

Original issue reported on code.google.com by blim...@gmail.com on 24 Aug 2011 at 3:53

GoogleCodeExporter commented 9 years ago
Fixed in 
https://github.com/boto/boto/commit/8db7ec8694c825d31f2b59839207e103df4faa0f

Original comment by Mitch.Ga...@gmail.com on 24 Aug 2011 at 4:12