ec2_vpc_route_table - Fix unintended tag search regression.
This commit is contained in:
parent
dce995e196
commit
dd0eccf427
1 changed files with 10 additions and 12 deletions
|
@ -176,6 +176,11 @@ def get_resource_tags(vpc_conn, resource_id):
|
||||||
vpc_conn.get_all_tags(filters={'resource-id': resource_id})}
|
vpc_conn.get_all_tags(filters={'resource-id': resource_id})}
|
||||||
|
|
||||||
|
|
||||||
|
def tags_match(match_tags, candidate_tags):
|
||||||
|
return all((k in candidate_tags and candidate_tags[k] == v
|
||||||
|
for k, v in match_tags.iteritems()))
|
||||||
|
|
||||||
|
|
||||||
def ensure_tags(vpc_conn, resource_id, tags, add_only, check_mode):
|
def ensure_tags(vpc_conn, resource_id, tags, add_only, check_mode):
|
||||||
try:
|
try:
|
||||||
cur_tags = get_resource_tags(vpc_conn, resource_id)
|
cur_tags = get_resource_tags(vpc_conn, resource_id)
|
||||||
|
@ -204,18 +209,11 @@ def get_route_table_by_id(vpc_conn, vpc_id, route_table_id):
|
||||||
|
|
||||||
|
|
||||||
def get_route_table_by_tags(vpc_conn, vpc_id, tags):
|
def get_route_table_by_tags(vpc_conn, vpc_id, tags):
|
||||||
filters = {'vpc_id': vpc_id}
|
route_tables = vpc_conn.get_all_route_tables(filters={'vpc_id': vpc_id})
|
||||||
filters.update(dict((('tag:{0}'.format(t), v)
|
for route_table in route_tables:
|
||||||
for t, v in tags.iteritems())))
|
this_tags = get_resource_tags(vpc_conn, route_table.id)
|
||||||
route_tables = vpc_conn.get_all_route_tables(filters=filters)
|
if tags_match(tags, this_tags):
|
||||||
|
return route_table
|
||||||
if not route_tables:
|
|
||||||
return None
|
|
||||||
elif len(route_tables) == 1:
|
|
||||||
return route_tables[0]
|
|
||||||
|
|
||||||
raise RouteTableException(
|
|
||||||
'Found more than one route table based on the supplied tags, aborting')
|
|
||||||
|
|
||||||
|
|
||||||
def route_spec_matches_route(route_spec, route):
|
def route_spec_matches_route(route_spec, route):
|
||||||
|
|
Loading…
Reference in a new issue